amazonka-nimble (empty) → 2.0
raw patch · 223 files changed
+24345/−0 lines, 223 filesdep +amazonka-coredep +amazonka-nimbledep +amazonka-test
Dependencies added: amazonka-core, amazonka-nimble, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-nimble.cabal +196/−0
- fixture/AcceptEulas.yaml +10/−0
- fixture/AcceptEulasResponse.proto +0/−0
- fixture/CreateLaunchProfile.yaml +10/−0
- fixture/CreateLaunchProfileResponse.proto +0/−0
- fixture/CreateStreamingImage.yaml +10/−0
- fixture/CreateStreamingImageResponse.proto +0/−0
- fixture/CreateStreamingSession.yaml +10/−0
- fixture/CreateStreamingSessionResponse.proto +0/−0
- fixture/CreateStreamingSessionStream.yaml +10/−0
- fixture/CreateStreamingSessionStreamResponse.proto +0/−0
- fixture/CreateStudio.yaml +10/−0
- fixture/CreateStudioComponent.yaml +10/−0
- fixture/CreateStudioComponentResponse.proto +0/−0
- fixture/CreateStudioResponse.proto +0/−0
- fixture/DeleteLaunchProfile.yaml +10/−0
- fixture/DeleteLaunchProfileMember.yaml +10/−0
- fixture/DeleteLaunchProfileMemberResponse.proto +0/−0
- fixture/DeleteLaunchProfileResponse.proto +0/−0
- fixture/DeleteStreamingImage.yaml +10/−0
- fixture/DeleteStreamingImageResponse.proto +0/−0
- fixture/DeleteStreamingSession.yaml +10/−0
- fixture/DeleteStreamingSessionResponse.proto +0/−0
- fixture/DeleteStudio.yaml +10/−0
- fixture/DeleteStudioComponent.yaml +10/−0
- fixture/DeleteStudioComponentResponse.proto +0/−0
- fixture/DeleteStudioMember.yaml +10/−0
- fixture/DeleteStudioMemberResponse.proto +0/−0
- fixture/DeleteStudioResponse.proto +0/−0
- fixture/GetEula.yaml +10/−0
- fixture/GetEulaResponse.proto +0/−0
- fixture/GetLaunchProfile.yaml +10/−0
- fixture/GetLaunchProfileDetails.yaml +10/−0
- fixture/GetLaunchProfileDetailsResponse.proto +0/−0
- fixture/GetLaunchProfileInitialization.yaml +10/−0
- fixture/GetLaunchProfileInitializationResponse.proto +0/−0
- fixture/GetLaunchProfileMember.yaml +10/−0
- fixture/GetLaunchProfileMemberResponse.proto +0/−0
- fixture/GetLaunchProfileResponse.proto +0/−0
- fixture/GetStreamingImage.yaml +10/−0
- fixture/GetStreamingImageResponse.proto +0/−0
- fixture/GetStreamingSession.yaml +10/−0
- fixture/GetStreamingSessionBackup.yaml +10/−0
- fixture/GetStreamingSessionBackupResponse.proto +0/−0
- fixture/GetStreamingSessionResponse.proto +0/−0
- fixture/GetStreamingSessionStream.yaml +10/−0
- fixture/GetStreamingSessionStreamResponse.proto +0/−0
- fixture/GetStudio.yaml +10/−0
- fixture/GetStudioComponent.yaml +10/−0
- fixture/GetStudioComponentResponse.proto +0/−0
- fixture/GetStudioMember.yaml +10/−0
- fixture/GetStudioMemberResponse.proto +0/−0
- fixture/GetStudioResponse.proto +0/−0
- fixture/ListEulaAcceptances.yaml +10/−0
- fixture/ListEulaAcceptancesResponse.proto +0/−0
- fixture/ListEulas.yaml +10/−0
- fixture/ListEulasResponse.proto +0/−0
- fixture/ListLaunchProfileMembers.yaml +10/−0
- fixture/ListLaunchProfileMembersResponse.proto +0/−0
- fixture/ListLaunchProfiles.yaml +10/−0
- fixture/ListLaunchProfilesResponse.proto +0/−0
- fixture/ListStreamingImages.yaml +10/−0
- fixture/ListStreamingImagesResponse.proto +0/−0
- fixture/ListStreamingSessionBackups.yaml +10/−0
- fixture/ListStreamingSessionBackupsResponse.proto +0/−0
- fixture/ListStreamingSessions.yaml +10/−0
- fixture/ListStreamingSessionsResponse.proto +0/−0
- fixture/ListStudioComponents.yaml +10/−0
- fixture/ListStudioComponentsResponse.proto +0/−0
- fixture/ListStudioMembers.yaml +10/−0
- fixture/ListStudioMembersResponse.proto +0/−0
- fixture/ListStudios.yaml +10/−0
- fixture/ListStudiosResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/PutLaunchProfileMembers.yaml +10/−0
- fixture/PutLaunchProfileMembersResponse.proto +0/−0
- fixture/PutStudioMembers.yaml +10/−0
- fixture/PutStudioMembersResponse.proto +0/−0
- fixture/StartStreamingSession.yaml +10/−0
- fixture/StartStreamingSessionResponse.proto +0/−0
- fixture/StartStudioSSOConfigurationRepair.yaml +10/−0
- fixture/StartStudioSSOConfigurationRepairResponse.proto +0/−0
- fixture/StopStreamingSession.yaml +10/−0
- fixture/StopStreamingSessionResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateLaunchProfile.yaml +10/−0
- fixture/UpdateLaunchProfileMember.yaml +10/−0
- fixture/UpdateLaunchProfileMemberResponse.proto +0/−0
- fixture/UpdateLaunchProfileResponse.proto +0/−0
- fixture/UpdateStreamingImage.yaml +10/−0
- fixture/UpdateStreamingImageResponse.proto +0/−0
- fixture/UpdateStudio.yaml +10/−0
- fixture/UpdateStudioComponent.yaml +10/−0
- fixture/UpdateStudioComponentResponse.proto +0/−0
- fixture/UpdateStudioResponse.proto +0/−0
- gen/Amazonka/Nimble.hs +692/−0
- gen/Amazonka/Nimble/AcceptEulas.hs +204/−0
- gen/Amazonka/Nimble/CreateLaunchProfile.hs +313/−0
- gen/Amazonka/Nimble/CreateStreamingImage.hs +257/−0
- gen/Amazonka/Nimble/CreateStreamingSession.hs +282/−0
- gen/Amazonka/Nimble/CreateStreamingSessionStream.hs +233/−0
- gen/Amazonka/Nimble/CreateStudio.hs +301/−0
- gen/Amazonka/Nimble/CreateStudioComponent.hs +359/−0
- gen/Amazonka/Nimble/DeleteLaunchProfile.hs +202/−0
- gen/Amazonka/Nimble/DeleteLaunchProfileMember.hs +213/−0
- gen/Amazonka/Nimble/DeleteStreamingImage.hs +200/−0
- gen/Amazonka/Nimble/DeleteStreamingSession.hs +209/−0
- gen/Amazonka/Nimble/DeleteStudio.hs +180/−0
- gen/Amazonka/Nimble/DeleteStudioComponent.hs +202/−0
- gen/Amazonka/Nimble/DeleteStudioMember.hs +187/−0
- gen/Amazonka/Nimble/GetEula.hs +155/−0
- gen/Amazonka/Nimble/GetLaunchProfile.hs +185/−0
- gen/Amazonka/Nimble/GetLaunchProfileDetails.hs +225/−0
- gen/Amazonka/Nimble/GetLaunchProfileInitialization.hs +260/−0
- gen/Amazonka/Nimble/GetLaunchProfileMember.hs +207/−0
- gen/Amazonka/Nimble/GetStreamingImage.hs +182/−0
- gen/Amazonka/Nimble/GetStreamingSession.hs +184/−0
- gen/Amazonka/Nimble/GetStreamingSessionBackup.hs +187/−0
- gen/Amazonka/Nimble/GetStreamingSessionStream.hs +209/−0
- gen/Amazonka/Nimble/GetStudio.hs +158/−0
- gen/Amazonka/Nimble/GetStudioComponent.hs +182/−0
- gen/Amazonka/Nimble/GetStudioMember.hs +180/−0
- gen/Amazonka/Nimble/Lens.hs +787/−0
- gen/Amazonka/Nimble/ListEulaAcceptances.hs +241/−0
- gen/Amazonka/Nimble/ListEulas.hs +216/−0
- gen/Amazonka/Nimble/ListLaunchProfileMembers.hs +261/−0
- gen/Amazonka/Nimble/ListLaunchProfiles.hs +264/−0
- gen/Amazonka/Nimble/ListStreamingImages.hs +242/−0
- gen/Amazonka/Nimble/ListStreamingSessionBackups.hs +244/−0
- gen/Amazonka/Nimble/ListStreamingSessions.hs +262/−0
- gen/Amazonka/Nimble/ListStudioComponents.hs +275/−0
- gen/Amazonka/Nimble/ListStudioMembers.hs +238/−0
- gen/Amazonka/Nimble/ListStudios.hs +192/−0
- gen/Amazonka/Nimble/ListTagsForResource.hs +172/−0
- gen/Amazonka/Nimble/PutLaunchProfileMembers.hs +237/−0
- gen/Amazonka/Nimble/PutStudioMembers.hs +213/−0
- gen/Amazonka/Nimble/StartStreamingSession.hs +220/−0
- gen/Amazonka/Nimble/StartStudioSSOConfigurationRepair.hs +230/−0
- gen/Amazonka/Nimble/StopStreamingSession.hs +226/−0
- gen/Amazonka/Nimble/TagResource.hs +167/−0
- gen/Amazonka/Nimble/Types.hs +678/−0
- gen/Amazonka/Nimble/Types/ActiveDirectoryComputerAttribute.hs +105/−0
- gen/Amazonka/Nimble/Types/ActiveDirectoryConfiguration.hs +124/−0
- gen/Amazonka/Nimble/Types/AutomaticTerminationMode.hs +71/−0
- gen/Amazonka/Nimble/Types/ComputeFarmConfiguration.hs +102/−0
- gen/Amazonka/Nimble/Types/Eula.hs +120/−0
- gen/Amazonka/Nimble/Types/EulaAcceptance.hs +121/−0
- gen/Amazonka/Nimble/Types/LaunchProfile.hs +298/−0
- gen/Amazonka/Nimble/Types/LaunchProfileInitialization.hs +188/−0
- gen/Amazonka/Nimble/Types/LaunchProfileInitializationActiveDirectory.hs +168/−0
- gen/Amazonka/Nimble/Types/LaunchProfileInitializationScript.hs +146/−0
- gen/Amazonka/Nimble/Types/LaunchProfileMembership.hs +129/−0
- gen/Amazonka/Nimble/Types/LaunchProfilePersona.hs +66/−0
- gen/Amazonka/Nimble/Types/LaunchProfilePlatform.hs +71/−0
- gen/Amazonka/Nimble/Types/LaunchProfileState.hs +101/−0
- gen/Amazonka/Nimble/Types/LaunchProfileStatusCode.hs +136/−0
- gen/Amazonka/Nimble/Types/LaunchProfileValidationState.hs +86/−0
- gen/Amazonka/Nimble/Types/LaunchProfileValidationStatusCode.hs +106/−0
- gen/Amazonka/Nimble/Types/LaunchProfileValidationType.hs +81/−0
- gen/Amazonka/Nimble/Types/LicenseServiceConfiguration.hs +83/−0
- gen/Amazonka/Nimble/Types/NewLaunchProfileMember.hs +88/−0
- gen/Amazonka/Nimble/Types/NewStudioMember.hs +88/−0
- gen/Amazonka/Nimble/Types/ScriptParameterKeyValue.hs +93/−0
- gen/Amazonka/Nimble/Types/SessionBackupMode.hs +71/−0
- gen/Amazonka/Nimble/Types/SessionPersistenceMode.hs +71/−0
- gen/Amazonka/Nimble/Types/SharedFileSystemConfiguration.hs +148/−0
- gen/Amazonka/Nimble/Types/StreamConfiguration.hs +325/−0
- gen/Amazonka/Nimble/Types/StreamConfigurationCreate.hs +340/−0
- gen/Amazonka/Nimble/Types/StreamConfigurationSessionBackup.hs +123/−0
- gen/Amazonka/Nimble/Types/StreamConfigurationSessionStorage.hs +114/−0
- gen/Amazonka/Nimble/Types/StreamingClipboardMode.hs +71/−0
- gen/Amazonka/Nimble/Types/StreamingImage.hs +245/−0
- gen/Amazonka/Nimble/Types/StreamingImageEncryptionConfiguration.hs +99/−0
- gen/Amazonka/Nimble/Types/StreamingImageEncryptionConfigurationKeyType.hs +66/−0
- gen/Amazonka/Nimble/Types/StreamingImageState.hs +101/−0
- gen/Amazonka/Nimble/Types/StreamingImageStatusCode.hs +97/−0
- gen/Amazonka/Nimble/Types/StreamingInstanceType.hs +126/−0
- gen/Amazonka/Nimble/Types/StreamingSession.hs +482/−0
- gen/Amazonka/Nimble/Types/StreamingSessionBackup.hs +190/−0
- gen/Amazonka/Nimble/Types/StreamingSessionState.hs +117/−0
- gen/Amazonka/Nimble/Types/StreamingSessionStatusCode.hs +141/−0
- gen/Amazonka/Nimble/Types/StreamingSessionStorageMode.hs +66/−0
- gen/Amazonka/Nimble/Types/StreamingSessionStorageRoot.hs +94/−0
- gen/Amazonka/Nimble/Types/StreamingSessionStream.hs +168/−0
- gen/Amazonka/Nimble/Types/StreamingSessionStreamState.hs +91/−0
- gen/Amazonka/Nimble/Types/StreamingSessionStreamStatusCode.hs +91/−0
- gen/Amazonka/Nimble/Types/Studio.hs +298/−0
- gen/Amazonka/Nimble/Types/StudioComponent.hs +346/−0
- gen/Amazonka/Nimble/Types/StudioComponentConfiguration.hs +144/−0
- gen/Amazonka/Nimble/Types/StudioComponentInitializationScript.hs +140/−0
- gen/Amazonka/Nimble/Types/StudioComponentInitializationScriptRunContext.hs +71/−0
- gen/Amazonka/Nimble/Types/StudioComponentState.hs +131/−0
- gen/Amazonka/Nimble/Types/StudioComponentStatusCode.hs +119/−0
- gen/Amazonka/Nimble/Types/StudioComponentSubtype.hs +81/−0
- gen/Amazonka/Nimble/Types/StudioComponentSummary.hs +171/−0
- gen/Amazonka/Nimble/Types/StudioComponentType.hs +86/−0
- gen/Amazonka/Nimble/Types/StudioEncryptionConfiguration.hs +100/−0
- gen/Amazonka/Nimble/Types/StudioEncryptionConfigurationKeyType.hs +72/−0
- gen/Amazonka/Nimble/Types/StudioMembership.hs +122/−0
- gen/Amazonka/Nimble/Types/StudioPersona.hs +66/−0
- gen/Amazonka/Nimble/Types/StudioState.hs +101/−0
- gen/Amazonka/Nimble/Types/StudioStatusCode.hs +157/−0
- gen/Amazonka/Nimble/Types/ValidationResult.hs +126/−0
- gen/Amazonka/Nimble/Types/VolumeConfiguration.hs +119/−0
- gen/Amazonka/Nimble/Types/VolumeRetentionMode.hs +71/−0
- gen/Amazonka/Nimble/UntagResource.hs +165/−0
- gen/Amazonka/Nimble/UpdateLaunchProfile.hs +283/−0
- gen/Amazonka/Nimble/UpdateLaunchProfileMember.hs +247/−0
- gen/Amazonka/Nimble/UpdateStreamingImage.hs +232/−0
- gen/Amazonka/Nimble/UpdateStudio.hs +235/−0
- gen/Amazonka/Nimble/UpdateStudioComponent.hs +356/−0
- gen/Amazonka/Nimble/Waiters.hs +419/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/Nimble.hs +1018/−0
- test/Test/Amazonka/Nimble.hs +20/−0
- test/Test/Amazonka/Nimble/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 NimbleStudio SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-08-01@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-nimble)+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.Nimble](http://hackage.haskell.org/package/amazonka-nimble/docs/Amazonka-Nimble.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-nimble` 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-nimble.cabal view
@@ -0,0 +1,196 @@+cabal-version: 2.2+name: amazonka-nimble+version: 2.0+synopsis: Amazon NimbleStudio 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 @2020-08-01@ 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.Nimble.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.Nimble" 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-nimble++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.Nimble+ Amazonka.Nimble.AcceptEulas+ Amazonka.Nimble.CreateLaunchProfile+ Amazonka.Nimble.CreateStreamingImage+ Amazonka.Nimble.CreateStreamingSession+ Amazonka.Nimble.CreateStreamingSessionStream+ Amazonka.Nimble.CreateStudio+ Amazonka.Nimble.CreateStudioComponent+ Amazonka.Nimble.DeleteLaunchProfile+ Amazonka.Nimble.DeleteLaunchProfileMember+ Amazonka.Nimble.DeleteStreamingImage+ Amazonka.Nimble.DeleteStreamingSession+ Amazonka.Nimble.DeleteStudio+ Amazonka.Nimble.DeleteStudioComponent+ Amazonka.Nimble.DeleteStudioMember+ Amazonka.Nimble.GetEula+ Amazonka.Nimble.GetLaunchProfile+ Amazonka.Nimble.GetLaunchProfileDetails+ Amazonka.Nimble.GetLaunchProfileInitialization+ Amazonka.Nimble.GetLaunchProfileMember+ Amazonka.Nimble.GetStreamingImage+ Amazonka.Nimble.GetStreamingSession+ Amazonka.Nimble.GetStreamingSessionBackup+ Amazonka.Nimble.GetStreamingSessionStream+ Amazonka.Nimble.GetStudio+ Amazonka.Nimble.GetStudioComponent+ Amazonka.Nimble.GetStudioMember+ Amazonka.Nimble.Lens+ Amazonka.Nimble.ListEulaAcceptances+ Amazonka.Nimble.ListEulas+ Amazonka.Nimble.ListLaunchProfileMembers+ Amazonka.Nimble.ListLaunchProfiles+ Amazonka.Nimble.ListStreamingImages+ Amazonka.Nimble.ListStreamingSessionBackups+ Amazonka.Nimble.ListStreamingSessions+ Amazonka.Nimble.ListStudioComponents+ Amazonka.Nimble.ListStudioMembers+ Amazonka.Nimble.ListStudios+ Amazonka.Nimble.ListTagsForResource+ Amazonka.Nimble.PutLaunchProfileMembers+ Amazonka.Nimble.PutStudioMembers+ Amazonka.Nimble.StartStreamingSession+ Amazonka.Nimble.StartStudioSSOConfigurationRepair+ Amazonka.Nimble.StopStreamingSession+ Amazonka.Nimble.TagResource+ Amazonka.Nimble.Types+ Amazonka.Nimble.Types.ActiveDirectoryComputerAttribute+ Amazonka.Nimble.Types.ActiveDirectoryConfiguration+ Amazonka.Nimble.Types.AutomaticTerminationMode+ Amazonka.Nimble.Types.ComputeFarmConfiguration+ Amazonka.Nimble.Types.Eula+ Amazonka.Nimble.Types.EulaAcceptance+ Amazonka.Nimble.Types.LaunchProfile+ Amazonka.Nimble.Types.LaunchProfileInitialization+ Amazonka.Nimble.Types.LaunchProfileInitializationActiveDirectory+ Amazonka.Nimble.Types.LaunchProfileInitializationScript+ Amazonka.Nimble.Types.LaunchProfileMembership+ Amazonka.Nimble.Types.LaunchProfilePersona+ Amazonka.Nimble.Types.LaunchProfilePlatform+ Amazonka.Nimble.Types.LaunchProfileState+ Amazonka.Nimble.Types.LaunchProfileStatusCode+ Amazonka.Nimble.Types.LaunchProfileValidationState+ Amazonka.Nimble.Types.LaunchProfileValidationStatusCode+ Amazonka.Nimble.Types.LaunchProfileValidationType+ Amazonka.Nimble.Types.LicenseServiceConfiguration+ Amazonka.Nimble.Types.NewLaunchProfileMember+ Amazonka.Nimble.Types.NewStudioMember+ Amazonka.Nimble.Types.ScriptParameterKeyValue+ Amazonka.Nimble.Types.SessionBackupMode+ Amazonka.Nimble.Types.SessionPersistenceMode+ Amazonka.Nimble.Types.SharedFileSystemConfiguration+ Amazonka.Nimble.Types.StreamConfiguration+ Amazonka.Nimble.Types.StreamConfigurationCreate+ Amazonka.Nimble.Types.StreamConfigurationSessionBackup+ Amazonka.Nimble.Types.StreamConfigurationSessionStorage+ Amazonka.Nimble.Types.StreamingClipboardMode+ Amazonka.Nimble.Types.StreamingImage+ Amazonka.Nimble.Types.StreamingImageEncryptionConfiguration+ Amazonka.Nimble.Types.StreamingImageEncryptionConfigurationKeyType+ Amazonka.Nimble.Types.StreamingImageState+ Amazonka.Nimble.Types.StreamingImageStatusCode+ Amazonka.Nimble.Types.StreamingInstanceType+ Amazonka.Nimble.Types.StreamingSession+ Amazonka.Nimble.Types.StreamingSessionBackup+ Amazonka.Nimble.Types.StreamingSessionState+ Amazonka.Nimble.Types.StreamingSessionStatusCode+ Amazonka.Nimble.Types.StreamingSessionStorageMode+ Amazonka.Nimble.Types.StreamingSessionStorageRoot+ Amazonka.Nimble.Types.StreamingSessionStream+ Amazonka.Nimble.Types.StreamingSessionStreamState+ Amazonka.Nimble.Types.StreamingSessionStreamStatusCode+ Amazonka.Nimble.Types.Studio+ Amazonka.Nimble.Types.StudioComponent+ Amazonka.Nimble.Types.StudioComponentConfiguration+ Amazonka.Nimble.Types.StudioComponentInitializationScript+ Amazonka.Nimble.Types.StudioComponentInitializationScriptRunContext+ Amazonka.Nimble.Types.StudioComponentState+ Amazonka.Nimble.Types.StudioComponentStatusCode+ Amazonka.Nimble.Types.StudioComponentSubtype+ Amazonka.Nimble.Types.StudioComponentSummary+ Amazonka.Nimble.Types.StudioComponentType+ Amazonka.Nimble.Types.StudioEncryptionConfiguration+ Amazonka.Nimble.Types.StudioEncryptionConfigurationKeyType+ Amazonka.Nimble.Types.StudioMembership+ Amazonka.Nimble.Types.StudioPersona+ Amazonka.Nimble.Types.StudioState+ Amazonka.Nimble.Types.StudioStatusCode+ Amazonka.Nimble.Types.ValidationResult+ Amazonka.Nimble.Types.VolumeConfiguration+ Amazonka.Nimble.Types.VolumeRetentionMode+ Amazonka.Nimble.UntagResource+ Amazonka.Nimble.UpdateLaunchProfile+ Amazonka.Nimble.UpdateLaunchProfileMember+ Amazonka.Nimble.UpdateStreamingImage+ Amazonka.Nimble.UpdateStudio+ Amazonka.Nimble.UpdateStudioComponent+ Amazonka.Nimble.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-nimble-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.Nimble+ Test.Amazonka.Nimble+ Test.Amazonka.Nimble.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-nimble+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/AcceptEulas.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/AcceptEulasResponse.proto view
+ fixture/CreateLaunchProfile.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/CreateLaunchProfileResponse.proto view
+ fixture/CreateStreamingImage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/CreateStreamingImageResponse.proto view
+ fixture/CreateStreamingSession.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/CreateStreamingSessionResponse.proto view
+ fixture/CreateStreamingSessionStream.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/CreateStreamingSessionStreamResponse.proto view
+ fixture/CreateStudio.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/CreateStudioComponent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/CreateStudioComponentResponse.proto view
+ fixture/CreateStudioResponse.proto view
+ fixture/DeleteLaunchProfile.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/DeleteLaunchProfileMember.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/DeleteLaunchProfileMemberResponse.proto view
+ fixture/DeleteLaunchProfileResponse.proto view
+ fixture/DeleteStreamingImage.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/DeleteStreamingImageResponse.proto view
+ fixture/DeleteStreamingSession.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/DeleteStreamingSessionResponse.proto view
+ fixture/DeleteStudio.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/DeleteStudioComponent.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/DeleteStudioComponentResponse.proto view
+ fixture/DeleteStudioMember.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/DeleteStudioMemberResponse.proto view
+ fixture/DeleteStudioResponse.proto view
+ fixture/GetEula.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/GetEulaResponse.proto view
+ fixture/GetLaunchProfile.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/GetLaunchProfileDetails.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/GetLaunchProfileDetailsResponse.proto view
+ fixture/GetLaunchProfileInitialization.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/GetLaunchProfileInitializationResponse.proto view
+ fixture/GetLaunchProfileMember.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/GetLaunchProfileMemberResponse.proto view
+ fixture/GetLaunchProfileResponse.proto view
+ fixture/GetStreamingImage.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/GetStreamingImageResponse.proto view
+ fixture/GetStreamingSession.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/GetStreamingSessionBackup.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/GetStreamingSessionBackupResponse.proto view
+ fixture/GetStreamingSessionResponse.proto view
+ fixture/GetStreamingSessionStream.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/GetStreamingSessionStreamResponse.proto view
+ fixture/GetStudio.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/GetStudioComponent.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/GetStudioComponentResponse.proto view
+ fixture/GetStudioMember.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/GetStudioMemberResponse.proto view
+ fixture/GetStudioResponse.proto view
+ fixture/ListEulaAcceptances.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/ListEulaAcceptancesResponse.proto view
+ fixture/ListEulas.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/ListEulasResponse.proto view
+ fixture/ListLaunchProfileMembers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/ListLaunchProfileMembersResponse.proto view
+ fixture/ListLaunchProfiles.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/ListLaunchProfilesResponse.proto view
+ fixture/ListStreamingImages.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/ListStreamingImagesResponse.proto view
+ fixture/ListStreamingSessionBackups.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/ListStreamingSessionBackupsResponse.proto view
+ fixture/ListStreamingSessions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/ListStreamingSessionsResponse.proto view
+ fixture/ListStudioComponents.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/ListStudioComponentsResponse.proto view
+ fixture/ListStudioMembers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/ListStudioMembersResponse.proto view
+ fixture/ListStudios.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/ListStudiosResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/PutLaunchProfileMembers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/PutLaunchProfileMembersResponse.proto view
+ fixture/PutStudioMembers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/PutStudioMembersResponse.proto view
+ fixture/StartStreamingSession.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/StartStreamingSessionResponse.proto view
+ fixture/StartStudioSSOConfigurationRepair.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/StartStudioSSOConfigurationRepairResponse.proto view
+ fixture/StopStreamingSession.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/StopStreamingSessionResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/UpdateLaunchProfile.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/UpdateLaunchProfileMember.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/UpdateLaunchProfileMemberResponse.proto view
+ fixture/UpdateLaunchProfileResponse.proto view
+ fixture/UpdateStreamingImage.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/UpdateStreamingImageResponse.proto view
+ fixture/UpdateStudio.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/UpdateStudioComponent.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/nimble/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: nimble.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/UpdateStudioComponentResponse.proto view
+ fixture/UpdateStudioResponse.proto view
+ gen/Amazonka/Nimble.hs view
@@ -0,0 +1,692 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.Nimble+-- 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 @2020-08-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Nimble Studio empowers creative studios to produce visual+-- effects, animation, and interactive content entirely in the cloud, from+-- storyboard sketch to final deliverable. Rapidly onboard and collaborate+-- with artists globally and create content faster with access to virtual+-- workstations, high-speed storage, and scalable rendering across AWS’s+-- global infrastructure.+module Amazonka.Nimble+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerErrorException+ _InternalServerErrorException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- ** LaunchProfileDeleted+ newLaunchProfileDeleted,++ -- ** LaunchProfileReady+ newLaunchProfileReady,++ -- ** StreamingImageDeleted+ newStreamingImageDeleted,++ -- ** StreamingImageReady+ newStreamingImageReady,++ -- ** StreamingSessionDeleted+ newStreamingSessionDeleted,++ -- ** StreamingSessionReady+ newStreamingSessionReady,++ -- ** StreamingSessionStopped+ newStreamingSessionStopped,++ -- ** StreamingSessionStreamReady+ newStreamingSessionStreamReady,++ -- ** StudioComponentDeleted+ newStudioComponentDeleted,++ -- ** StudioComponentReady+ newStudioComponentReady,++ -- ** StudioDeleted+ newStudioDeleted,++ -- ** StudioReady+ newStudioReady,++ -- * Operations+ -- $operations++ -- ** AcceptEulas+ AcceptEulas (AcceptEulas'),+ newAcceptEulas,+ AcceptEulasResponse (AcceptEulasResponse'),+ newAcceptEulasResponse,++ -- ** CreateLaunchProfile+ CreateLaunchProfile (CreateLaunchProfile'),+ newCreateLaunchProfile,+ CreateLaunchProfileResponse (CreateLaunchProfileResponse'),+ newCreateLaunchProfileResponse,++ -- ** CreateStreamingImage+ CreateStreamingImage (CreateStreamingImage'),+ newCreateStreamingImage,+ CreateStreamingImageResponse (CreateStreamingImageResponse'),+ newCreateStreamingImageResponse,++ -- ** CreateStreamingSession+ CreateStreamingSession (CreateStreamingSession'),+ newCreateStreamingSession,+ CreateStreamingSessionResponse (CreateStreamingSessionResponse'),+ newCreateStreamingSessionResponse,++ -- ** CreateStreamingSessionStream+ CreateStreamingSessionStream (CreateStreamingSessionStream'),+ newCreateStreamingSessionStream,+ CreateStreamingSessionStreamResponse (CreateStreamingSessionStreamResponse'),+ newCreateStreamingSessionStreamResponse,++ -- ** CreateStudio+ CreateStudio (CreateStudio'),+ newCreateStudio,+ CreateStudioResponse (CreateStudioResponse'),+ newCreateStudioResponse,++ -- ** CreateStudioComponent+ CreateStudioComponent (CreateStudioComponent'),+ newCreateStudioComponent,+ CreateStudioComponentResponse (CreateStudioComponentResponse'),+ newCreateStudioComponentResponse,++ -- ** DeleteLaunchProfile+ DeleteLaunchProfile (DeleteLaunchProfile'),+ newDeleteLaunchProfile,+ DeleteLaunchProfileResponse (DeleteLaunchProfileResponse'),+ newDeleteLaunchProfileResponse,++ -- ** DeleteLaunchProfileMember+ DeleteLaunchProfileMember (DeleteLaunchProfileMember'),+ newDeleteLaunchProfileMember,+ DeleteLaunchProfileMemberResponse (DeleteLaunchProfileMemberResponse'),+ newDeleteLaunchProfileMemberResponse,++ -- ** DeleteStreamingImage+ DeleteStreamingImage (DeleteStreamingImage'),+ newDeleteStreamingImage,+ DeleteStreamingImageResponse (DeleteStreamingImageResponse'),+ newDeleteStreamingImageResponse,++ -- ** DeleteStreamingSession+ DeleteStreamingSession (DeleteStreamingSession'),+ newDeleteStreamingSession,+ DeleteStreamingSessionResponse (DeleteStreamingSessionResponse'),+ newDeleteStreamingSessionResponse,++ -- ** DeleteStudio+ DeleteStudio (DeleteStudio'),+ newDeleteStudio,+ DeleteStudioResponse (DeleteStudioResponse'),+ newDeleteStudioResponse,++ -- ** DeleteStudioComponent+ DeleteStudioComponent (DeleteStudioComponent'),+ newDeleteStudioComponent,+ DeleteStudioComponentResponse (DeleteStudioComponentResponse'),+ newDeleteStudioComponentResponse,++ -- ** DeleteStudioMember+ DeleteStudioMember (DeleteStudioMember'),+ newDeleteStudioMember,+ DeleteStudioMemberResponse (DeleteStudioMemberResponse'),+ newDeleteStudioMemberResponse,++ -- ** GetEula+ GetEula (GetEula'),+ newGetEula,+ GetEulaResponse (GetEulaResponse'),+ newGetEulaResponse,++ -- ** GetLaunchProfile+ GetLaunchProfile (GetLaunchProfile'),+ newGetLaunchProfile,+ GetLaunchProfileResponse (GetLaunchProfileResponse'),+ newGetLaunchProfileResponse,++ -- ** GetLaunchProfileDetails+ GetLaunchProfileDetails (GetLaunchProfileDetails'),+ newGetLaunchProfileDetails,+ GetLaunchProfileDetailsResponse (GetLaunchProfileDetailsResponse'),+ newGetLaunchProfileDetailsResponse,++ -- ** GetLaunchProfileInitialization+ GetLaunchProfileInitialization (GetLaunchProfileInitialization'),+ newGetLaunchProfileInitialization,+ GetLaunchProfileInitializationResponse (GetLaunchProfileInitializationResponse'),+ newGetLaunchProfileInitializationResponse,++ -- ** GetLaunchProfileMember+ GetLaunchProfileMember (GetLaunchProfileMember'),+ newGetLaunchProfileMember,+ GetLaunchProfileMemberResponse (GetLaunchProfileMemberResponse'),+ newGetLaunchProfileMemberResponse,++ -- ** GetStreamingImage+ GetStreamingImage (GetStreamingImage'),+ newGetStreamingImage,+ GetStreamingImageResponse (GetStreamingImageResponse'),+ newGetStreamingImageResponse,++ -- ** GetStreamingSession+ GetStreamingSession (GetStreamingSession'),+ newGetStreamingSession,+ GetStreamingSessionResponse (GetStreamingSessionResponse'),+ newGetStreamingSessionResponse,++ -- ** GetStreamingSessionBackup+ GetStreamingSessionBackup (GetStreamingSessionBackup'),+ newGetStreamingSessionBackup,+ GetStreamingSessionBackupResponse (GetStreamingSessionBackupResponse'),+ newGetStreamingSessionBackupResponse,++ -- ** GetStreamingSessionStream+ GetStreamingSessionStream (GetStreamingSessionStream'),+ newGetStreamingSessionStream,+ GetStreamingSessionStreamResponse (GetStreamingSessionStreamResponse'),+ newGetStreamingSessionStreamResponse,++ -- ** GetStudio+ GetStudio (GetStudio'),+ newGetStudio,+ GetStudioResponse (GetStudioResponse'),+ newGetStudioResponse,++ -- ** GetStudioComponent+ GetStudioComponent (GetStudioComponent'),+ newGetStudioComponent,+ GetStudioComponentResponse (GetStudioComponentResponse'),+ newGetStudioComponentResponse,++ -- ** GetStudioMember+ GetStudioMember (GetStudioMember'),+ newGetStudioMember,+ GetStudioMemberResponse (GetStudioMemberResponse'),+ newGetStudioMemberResponse,++ -- ** ListEulaAcceptances (Paginated)+ ListEulaAcceptances (ListEulaAcceptances'),+ newListEulaAcceptances,+ ListEulaAcceptancesResponse (ListEulaAcceptancesResponse'),+ newListEulaAcceptancesResponse,++ -- ** ListEulas (Paginated)+ ListEulas (ListEulas'),+ newListEulas,+ ListEulasResponse (ListEulasResponse'),+ newListEulasResponse,++ -- ** ListLaunchProfileMembers (Paginated)+ ListLaunchProfileMembers (ListLaunchProfileMembers'),+ newListLaunchProfileMembers,+ ListLaunchProfileMembersResponse (ListLaunchProfileMembersResponse'),+ newListLaunchProfileMembersResponse,++ -- ** ListLaunchProfiles (Paginated)+ ListLaunchProfiles (ListLaunchProfiles'),+ newListLaunchProfiles,+ ListLaunchProfilesResponse (ListLaunchProfilesResponse'),+ newListLaunchProfilesResponse,++ -- ** ListStreamingImages (Paginated)+ ListStreamingImages (ListStreamingImages'),+ newListStreamingImages,+ ListStreamingImagesResponse (ListStreamingImagesResponse'),+ newListStreamingImagesResponse,++ -- ** ListStreamingSessionBackups (Paginated)+ ListStreamingSessionBackups (ListStreamingSessionBackups'),+ newListStreamingSessionBackups,+ ListStreamingSessionBackupsResponse (ListStreamingSessionBackupsResponse'),+ newListStreamingSessionBackupsResponse,++ -- ** ListStreamingSessions (Paginated)+ ListStreamingSessions (ListStreamingSessions'),+ newListStreamingSessions,+ ListStreamingSessionsResponse (ListStreamingSessionsResponse'),+ newListStreamingSessionsResponse,++ -- ** ListStudioComponents (Paginated)+ ListStudioComponents (ListStudioComponents'),+ newListStudioComponents,+ ListStudioComponentsResponse (ListStudioComponentsResponse'),+ newListStudioComponentsResponse,++ -- ** ListStudioMembers (Paginated)+ ListStudioMembers (ListStudioMembers'),+ newListStudioMembers,+ ListStudioMembersResponse (ListStudioMembersResponse'),+ newListStudioMembersResponse,++ -- ** ListStudios (Paginated)+ ListStudios (ListStudios'),+ newListStudios,+ ListStudiosResponse (ListStudiosResponse'),+ newListStudiosResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** PutLaunchProfileMembers+ PutLaunchProfileMembers (PutLaunchProfileMembers'),+ newPutLaunchProfileMembers,+ PutLaunchProfileMembersResponse (PutLaunchProfileMembersResponse'),+ newPutLaunchProfileMembersResponse,++ -- ** PutStudioMembers+ PutStudioMembers (PutStudioMembers'),+ newPutStudioMembers,+ PutStudioMembersResponse (PutStudioMembersResponse'),+ newPutStudioMembersResponse,++ -- ** StartStreamingSession+ StartStreamingSession (StartStreamingSession'),+ newStartStreamingSession,+ StartStreamingSessionResponse (StartStreamingSessionResponse'),+ newStartStreamingSessionResponse,++ -- ** StartStudioSSOConfigurationRepair+ StartStudioSSOConfigurationRepair (StartStudioSSOConfigurationRepair'),+ newStartStudioSSOConfigurationRepair,+ StartStudioSSOConfigurationRepairResponse (StartStudioSSOConfigurationRepairResponse'),+ newStartStudioSSOConfigurationRepairResponse,++ -- ** StopStreamingSession+ StopStreamingSession (StopStreamingSession'),+ newStopStreamingSession,+ StopStreamingSessionResponse (StopStreamingSessionResponse'),+ newStopStreamingSessionResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateLaunchProfile+ UpdateLaunchProfile (UpdateLaunchProfile'),+ newUpdateLaunchProfile,+ UpdateLaunchProfileResponse (UpdateLaunchProfileResponse'),+ newUpdateLaunchProfileResponse,++ -- ** UpdateLaunchProfileMember+ UpdateLaunchProfileMember (UpdateLaunchProfileMember'),+ newUpdateLaunchProfileMember,+ UpdateLaunchProfileMemberResponse (UpdateLaunchProfileMemberResponse'),+ newUpdateLaunchProfileMemberResponse,++ -- ** UpdateStreamingImage+ UpdateStreamingImage (UpdateStreamingImage'),+ newUpdateStreamingImage,+ UpdateStreamingImageResponse (UpdateStreamingImageResponse'),+ newUpdateStreamingImageResponse,++ -- ** UpdateStudio+ UpdateStudio (UpdateStudio'),+ newUpdateStudio,+ UpdateStudioResponse (UpdateStudioResponse'),+ newUpdateStudioResponse,++ -- ** UpdateStudioComponent+ UpdateStudioComponent (UpdateStudioComponent'),+ newUpdateStudioComponent,+ UpdateStudioComponentResponse (UpdateStudioComponentResponse'),+ newUpdateStudioComponentResponse,++ -- * Types++ -- ** AutomaticTerminationMode+ AutomaticTerminationMode (..),++ -- ** LaunchProfilePersona+ LaunchProfilePersona (..),++ -- ** LaunchProfilePlatform+ LaunchProfilePlatform (..),++ -- ** LaunchProfileState+ LaunchProfileState (..),++ -- ** LaunchProfileStatusCode+ LaunchProfileStatusCode (..),++ -- ** LaunchProfileValidationState+ LaunchProfileValidationState (..),++ -- ** LaunchProfileValidationStatusCode+ LaunchProfileValidationStatusCode (..),++ -- ** LaunchProfileValidationType+ LaunchProfileValidationType (..),++ -- ** SessionBackupMode+ SessionBackupMode (..),++ -- ** SessionPersistenceMode+ SessionPersistenceMode (..),++ -- ** StreamingClipboardMode+ StreamingClipboardMode (..),++ -- ** StreamingImageEncryptionConfigurationKeyType+ StreamingImageEncryptionConfigurationKeyType (..),++ -- ** StreamingImageState+ StreamingImageState (..),++ -- ** StreamingImageStatusCode+ StreamingImageStatusCode (..),++ -- ** StreamingInstanceType+ StreamingInstanceType (..),++ -- ** StreamingSessionState+ StreamingSessionState (..),++ -- ** StreamingSessionStatusCode+ StreamingSessionStatusCode (..),++ -- ** StreamingSessionStorageMode+ StreamingSessionStorageMode (..),++ -- ** StreamingSessionStreamState+ StreamingSessionStreamState (..),++ -- ** StreamingSessionStreamStatusCode+ StreamingSessionStreamStatusCode (..),++ -- ** StudioComponentInitializationScriptRunContext+ StudioComponentInitializationScriptRunContext (..),++ -- ** StudioComponentState+ StudioComponentState (..),++ -- ** StudioComponentStatusCode+ StudioComponentStatusCode (..),++ -- ** StudioComponentSubtype+ StudioComponentSubtype (..),++ -- ** StudioComponentType+ StudioComponentType (..),++ -- ** StudioEncryptionConfigurationKeyType+ StudioEncryptionConfigurationKeyType (..),++ -- ** StudioPersona+ StudioPersona (..),++ -- ** StudioState+ StudioState (..),++ -- ** StudioStatusCode+ StudioStatusCode (..),++ -- ** VolumeRetentionMode+ VolumeRetentionMode (..),++ -- ** ActiveDirectoryComputerAttribute+ ActiveDirectoryComputerAttribute (ActiveDirectoryComputerAttribute'),+ newActiveDirectoryComputerAttribute,++ -- ** ActiveDirectoryConfiguration+ ActiveDirectoryConfiguration (ActiveDirectoryConfiguration'),+ newActiveDirectoryConfiguration,++ -- ** ComputeFarmConfiguration+ ComputeFarmConfiguration (ComputeFarmConfiguration'),+ newComputeFarmConfiguration,++ -- ** Eula+ Eula (Eula'),+ newEula,++ -- ** EulaAcceptance+ EulaAcceptance (EulaAcceptance'),+ newEulaAcceptance,++ -- ** LaunchProfile+ LaunchProfile (LaunchProfile'),+ newLaunchProfile,++ -- ** LaunchProfileInitialization+ LaunchProfileInitialization (LaunchProfileInitialization'),+ newLaunchProfileInitialization,++ -- ** LaunchProfileInitializationActiveDirectory+ LaunchProfileInitializationActiveDirectory (LaunchProfileInitializationActiveDirectory'),+ newLaunchProfileInitializationActiveDirectory,++ -- ** LaunchProfileInitializationScript+ LaunchProfileInitializationScript (LaunchProfileInitializationScript'),+ newLaunchProfileInitializationScript,++ -- ** LaunchProfileMembership+ LaunchProfileMembership (LaunchProfileMembership'),+ newLaunchProfileMembership,++ -- ** LicenseServiceConfiguration+ LicenseServiceConfiguration (LicenseServiceConfiguration'),+ newLicenseServiceConfiguration,++ -- ** NewLaunchProfileMember+ NewLaunchProfileMember (NewLaunchProfileMember'),+ newNewLaunchProfileMember,++ -- ** NewStudioMember+ NewStudioMember (NewStudioMember'),+ newNewStudioMember,++ -- ** ScriptParameterKeyValue+ ScriptParameterKeyValue (ScriptParameterKeyValue'),+ newScriptParameterKeyValue,++ -- ** SharedFileSystemConfiguration+ SharedFileSystemConfiguration (SharedFileSystemConfiguration'),+ newSharedFileSystemConfiguration,++ -- ** StreamConfiguration+ StreamConfiguration (StreamConfiguration'),+ newStreamConfiguration,++ -- ** StreamConfigurationCreate+ StreamConfigurationCreate (StreamConfigurationCreate'),+ newStreamConfigurationCreate,++ -- ** StreamConfigurationSessionBackup+ StreamConfigurationSessionBackup (StreamConfigurationSessionBackup'),+ newStreamConfigurationSessionBackup,++ -- ** StreamConfigurationSessionStorage+ StreamConfigurationSessionStorage (StreamConfigurationSessionStorage'),+ newStreamConfigurationSessionStorage,++ -- ** StreamingImage+ StreamingImage (StreamingImage'),+ newStreamingImage,++ -- ** StreamingImageEncryptionConfiguration+ StreamingImageEncryptionConfiguration (StreamingImageEncryptionConfiguration'),+ newStreamingImageEncryptionConfiguration,++ -- ** StreamingSession+ StreamingSession (StreamingSession'),+ newStreamingSession,++ -- ** StreamingSessionBackup+ StreamingSessionBackup (StreamingSessionBackup'),+ newStreamingSessionBackup,++ -- ** StreamingSessionStorageRoot+ StreamingSessionStorageRoot (StreamingSessionStorageRoot'),+ newStreamingSessionStorageRoot,++ -- ** StreamingSessionStream+ StreamingSessionStream (StreamingSessionStream'),+ newStreamingSessionStream,++ -- ** Studio+ Studio (Studio'),+ newStudio,++ -- ** StudioComponent+ StudioComponent (StudioComponent'),+ newStudioComponent,++ -- ** StudioComponentConfiguration+ StudioComponentConfiguration (StudioComponentConfiguration'),+ newStudioComponentConfiguration,++ -- ** StudioComponentInitializationScript+ StudioComponentInitializationScript (StudioComponentInitializationScript'),+ newStudioComponentInitializationScript,++ -- ** StudioComponentSummary+ StudioComponentSummary (StudioComponentSummary'),+ newStudioComponentSummary,++ -- ** StudioEncryptionConfiguration+ StudioEncryptionConfiguration (StudioEncryptionConfiguration'),+ newStudioEncryptionConfiguration,++ -- ** StudioMembership+ StudioMembership (StudioMembership'),+ newStudioMembership,++ -- ** ValidationResult+ ValidationResult (ValidationResult'),+ newValidationResult,++ -- ** VolumeConfiguration+ VolumeConfiguration (VolumeConfiguration'),+ newVolumeConfiguration,+ )+where++import Amazonka.Nimble.AcceptEulas+import Amazonka.Nimble.CreateLaunchProfile+import Amazonka.Nimble.CreateStreamingImage+import Amazonka.Nimble.CreateStreamingSession+import Amazonka.Nimble.CreateStreamingSessionStream+import Amazonka.Nimble.CreateStudio+import Amazonka.Nimble.CreateStudioComponent+import Amazonka.Nimble.DeleteLaunchProfile+import Amazonka.Nimble.DeleteLaunchProfileMember+import Amazonka.Nimble.DeleteStreamingImage+import Amazonka.Nimble.DeleteStreamingSession+import Amazonka.Nimble.DeleteStudio+import Amazonka.Nimble.DeleteStudioComponent+import Amazonka.Nimble.DeleteStudioMember+import Amazonka.Nimble.GetEula+import Amazonka.Nimble.GetLaunchProfile+import Amazonka.Nimble.GetLaunchProfileDetails+import Amazonka.Nimble.GetLaunchProfileInitialization+import Amazonka.Nimble.GetLaunchProfileMember+import Amazonka.Nimble.GetStreamingImage+import Amazonka.Nimble.GetStreamingSession+import Amazonka.Nimble.GetStreamingSessionBackup+import Amazonka.Nimble.GetStreamingSessionStream+import Amazonka.Nimble.GetStudio+import Amazonka.Nimble.GetStudioComponent+import Amazonka.Nimble.GetStudioMember+import Amazonka.Nimble.Lens+import Amazonka.Nimble.ListEulaAcceptances+import Amazonka.Nimble.ListEulas+import Amazonka.Nimble.ListLaunchProfileMembers+import Amazonka.Nimble.ListLaunchProfiles+import Amazonka.Nimble.ListStreamingImages+import Amazonka.Nimble.ListStreamingSessionBackups+import Amazonka.Nimble.ListStreamingSessions+import Amazonka.Nimble.ListStudioComponents+import Amazonka.Nimble.ListStudioMembers+import Amazonka.Nimble.ListStudios+import Amazonka.Nimble.ListTagsForResource+import Amazonka.Nimble.PutLaunchProfileMembers+import Amazonka.Nimble.PutStudioMembers+import Amazonka.Nimble.StartStreamingSession+import Amazonka.Nimble.StartStudioSSOConfigurationRepair+import Amazonka.Nimble.StopStreamingSession+import Amazonka.Nimble.TagResource+import Amazonka.Nimble.Types+import Amazonka.Nimble.UntagResource+import Amazonka.Nimble.UpdateLaunchProfile+import Amazonka.Nimble.UpdateLaunchProfileMember+import Amazonka.Nimble.UpdateStreamingImage+import Amazonka.Nimble.UpdateStudio+import Amazonka.Nimble.UpdateStudioComponent+import Amazonka.Nimble.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 'Nimble'.++-- $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/Nimble/AcceptEulas.hs view
@@ -0,0 +1,204 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.AcceptEulas+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Accept EULAs.+module Amazonka.Nimble.AcceptEulas+ ( -- * Creating a Request+ AcceptEulas (..),+ newAcceptEulas,++ -- * Request Lenses+ acceptEulas_clientToken,+ acceptEulas_eulaIds,+ acceptEulas_studioId,++ -- * Destructuring the Response+ AcceptEulasResponse (..),+ newAcceptEulasResponse,++ -- * Response Lenses+ acceptEulasResponse_eulaAcceptances,+ acceptEulasResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAcceptEulas' smart constructor.+data AcceptEulas = AcceptEulas'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The EULA ID.+ eulaIds :: Prelude.Maybe [Prelude.Text],+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AcceptEulas' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'acceptEulas_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'eulaIds', 'acceptEulas_eulaIds' - The EULA ID.+--+-- 'studioId', 'acceptEulas_studioId' - The studio ID.+newAcceptEulas ::+ -- | 'studioId'+ Prelude.Text ->+ AcceptEulas+newAcceptEulas pStudioId_ =+ AcceptEulas'+ { clientToken = Prelude.Nothing,+ eulaIds = Prelude.Nothing,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+acceptEulas_clientToken :: Lens.Lens' AcceptEulas (Prelude.Maybe Prelude.Text)+acceptEulas_clientToken = Lens.lens (\AcceptEulas' {clientToken} -> clientToken) (\s@AcceptEulas' {} a -> s {clientToken = a} :: AcceptEulas)++-- | The EULA ID.+acceptEulas_eulaIds :: Lens.Lens' AcceptEulas (Prelude.Maybe [Prelude.Text])+acceptEulas_eulaIds = Lens.lens (\AcceptEulas' {eulaIds} -> eulaIds) (\s@AcceptEulas' {} a -> s {eulaIds = a} :: AcceptEulas) Prelude.. Lens.mapping Lens.coerced++-- | The studio ID.+acceptEulas_studioId :: Lens.Lens' AcceptEulas Prelude.Text+acceptEulas_studioId = Lens.lens (\AcceptEulas' {studioId} -> studioId) (\s@AcceptEulas' {} a -> s {studioId = a} :: AcceptEulas)++instance Core.AWSRequest AcceptEulas where+ type AWSResponse AcceptEulas = AcceptEulasResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ AcceptEulasResponse'+ Prelude.<$> ( x+ Data..?> "eulaAcceptances"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AcceptEulas where+ hashWithSalt _salt AcceptEulas' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` eulaIds+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData AcceptEulas where+ rnf AcceptEulas' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf eulaIds+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders AcceptEulas where+ toHeaders AcceptEulas' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON AcceptEulas where+ toJSON AcceptEulas' {..} =+ Data.object+ ( Prelude.catMaybes+ [("eulaIds" Data..=) Prelude.<$> eulaIds]+ )++instance Data.ToPath AcceptEulas where+ toPath AcceptEulas' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/eula-acceptances"+ ]++instance Data.ToQuery AcceptEulas where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAcceptEulasResponse' smart constructor.+data AcceptEulasResponse = AcceptEulasResponse'+ { -- | A collection of EULA acceptances.+ eulaAcceptances :: Prelude.Maybe [EulaAcceptance],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AcceptEulasResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eulaAcceptances', 'acceptEulasResponse_eulaAcceptances' - A collection of EULA acceptances.+--+-- 'httpStatus', 'acceptEulasResponse_httpStatus' - The response's http status code.+newAcceptEulasResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AcceptEulasResponse+newAcceptEulasResponse pHttpStatus_ =+ AcceptEulasResponse'+ { eulaAcceptances =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A collection of EULA acceptances.+acceptEulasResponse_eulaAcceptances :: Lens.Lens' AcceptEulasResponse (Prelude.Maybe [EulaAcceptance])+acceptEulasResponse_eulaAcceptances = Lens.lens (\AcceptEulasResponse' {eulaAcceptances} -> eulaAcceptances) (\s@AcceptEulasResponse' {} a -> s {eulaAcceptances = a} :: AcceptEulasResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+acceptEulasResponse_httpStatus :: Lens.Lens' AcceptEulasResponse Prelude.Int+acceptEulasResponse_httpStatus = Lens.lens (\AcceptEulasResponse' {httpStatus} -> httpStatus) (\s@AcceptEulasResponse' {} a -> s {httpStatus = a} :: AcceptEulasResponse)++instance Prelude.NFData AcceptEulasResponse where+ rnf AcceptEulasResponse' {..} =+ Prelude.rnf eulaAcceptances+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/CreateLaunchProfile.hs view
@@ -0,0 +1,313 @@+{-# 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.Nimble.CreateLaunchProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a launch profile.+module Amazonka.Nimble.CreateLaunchProfile+ ( -- * Creating a Request+ CreateLaunchProfile (..),+ newCreateLaunchProfile,++ -- * Request Lenses+ createLaunchProfile_clientToken,+ createLaunchProfile_description,+ createLaunchProfile_tags,+ createLaunchProfile_ec2SubnetIds,+ createLaunchProfile_launchProfileProtocolVersions,+ createLaunchProfile_name,+ createLaunchProfile_streamConfiguration,+ createLaunchProfile_studioComponentIds,+ createLaunchProfile_studioId,++ -- * Destructuring the Response+ CreateLaunchProfileResponse (..),+ newCreateLaunchProfileResponse,++ -- * Response Lenses+ createLaunchProfileResponse_launchProfile,+ createLaunchProfileResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLaunchProfile' smart constructor.+data CreateLaunchProfile = CreateLaunchProfile'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The description.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Specifies the IDs of the EC2 subnets where streaming sessions will be+ -- accessible from. These subnets must support the specified instance+ -- types.+ ec2SubnetIds :: [Prelude.Text],+ -- | The version number of the protocol that is used by the launch profile.+ -- The only valid version is \"2021-03-31\".+ launchProfileProtocolVersions :: [Prelude.Text],+ -- | The name for the launch profile.+ name :: Data.Sensitive Prelude.Text,+ -- | A configuration for a streaming session.+ streamConfiguration :: StreamConfigurationCreate,+ -- | Unique identifiers for a collection of studio components that can be+ -- used with this launch profile.+ studioComponentIds :: Prelude.NonEmpty Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLaunchProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createLaunchProfile_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'description', 'createLaunchProfile_description' - The description.+--+-- 'tags', 'createLaunchProfile_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+--+-- 'ec2SubnetIds', 'createLaunchProfile_ec2SubnetIds' - Specifies the IDs of the EC2 subnets where streaming sessions will be+-- accessible from. These subnets must support the specified instance+-- types.+--+-- 'launchProfileProtocolVersions', 'createLaunchProfile_launchProfileProtocolVersions' - The version number of the protocol that is used by the launch profile.+-- The only valid version is \"2021-03-31\".+--+-- 'name', 'createLaunchProfile_name' - The name for the launch profile.+--+-- 'streamConfiguration', 'createLaunchProfile_streamConfiguration' - A configuration for a streaming session.+--+-- 'studioComponentIds', 'createLaunchProfile_studioComponentIds' - Unique identifiers for a collection of studio components that can be+-- used with this launch profile.+--+-- 'studioId', 'createLaunchProfile_studioId' - The studio ID.+newCreateLaunchProfile ::+ -- | 'name'+ Prelude.Text ->+ -- | 'streamConfiguration'+ StreamConfigurationCreate ->+ -- | 'studioComponentIds'+ Prelude.NonEmpty Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ CreateLaunchProfile+newCreateLaunchProfile+ pName_+ pStreamConfiguration_+ pStudioComponentIds_+ pStudioId_ =+ CreateLaunchProfile'+ { clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ tags = Prelude.Nothing,+ ec2SubnetIds = Prelude.mempty,+ launchProfileProtocolVersions = Prelude.mempty,+ name = Data._Sensitive Lens.# pName_,+ streamConfiguration = pStreamConfiguration_,+ studioComponentIds =+ Lens.coerced Lens.# pStudioComponentIds_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+createLaunchProfile_clientToken :: Lens.Lens' CreateLaunchProfile (Prelude.Maybe Prelude.Text)+createLaunchProfile_clientToken = Lens.lens (\CreateLaunchProfile' {clientToken} -> clientToken) (\s@CreateLaunchProfile' {} a -> s {clientToken = a} :: CreateLaunchProfile)++-- | The description.+createLaunchProfile_description :: Lens.Lens' CreateLaunchProfile (Prelude.Maybe Prelude.Text)+createLaunchProfile_description = Lens.lens (\CreateLaunchProfile' {description} -> description) (\s@CreateLaunchProfile' {} a -> s {description = a} :: CreateLaunchProfile) Prelude.. Lens.mapping Data._Sensitive++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+createLaunchProfile_tags :: Lens.Lens' CreateLaunchProfile (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createLaunchProfile_tags = Lens.lens (\CreateLaunchProfile' {tags} -> tags) (\s@CreateLaunchProfile' {} a -> s {tags = a} :: CreateLaunchProfile) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the IDs of the EC2 subnets where streaming sessions will be+-- accessible from. These subnets must support the specified instance+-- types.+createLaunchProfile_ec2SubnetIds :: Lens.Lens' CreateLaunchProfile [Prelude.Text]+createLaunchProfile_ec2SubnetIds = Lens.lens (\CreateLaunchProfile' {ec2SubnetIds} -> ec2SubnetIds) (\s@CreateLaunchProfile' {} a -> s {ec2SubnetIds = a} :: CreateLaunchProfile) Prelude.. Lens.coerced++-- | The version number of the protocol that is used by the launch profile.+-- The only valid version is \"2021-03-31\".+createLaunchProfile_launchProfileProtocolVersions :: Lens.Lens' CreateLaunchProfile [Prelude.Text]+createLaunchProfile_launchProfileProtocolVersions = Lens.lens (\CreateLaunchProfile' {launchProfileProtocolVersions} -> launchProfileProtocolVersions) (\s@CreateLaunchProfile' {} a -> s {launchProfileProtocolVersions = a} :: CreateLaunchProfile) Prelude.. Lens.coerced++-- | The name for the launch profile.+createLaunchProfile_name :: Lens.Lens' CreateLaunchProfile Prelude.Text+createLaunchProfile_name = Lens.lens (\CreateLaunchProfile' {name} -> name) (\s@CreateLaunchProfile' {} a -> s {name = a} :: CreateLaunchProfile) Prelude.. Data._Sensitive++-- | A configuration for a streaming session.+createLaunchProfile_streamConfiguration :: Lens.Lens' CreateLaunchProfile StreamConfigurationCreate+createLaunchProfile_streamConfiguration = Lens.lens (\CreateLaunchProfile' {streamConfiguration} -> streamConfiguration) (\s@CreateLaunchProfile' {} a -> s {streamConfiguration = a} :: CreateLaunchProfile)++-- | Unique identifiers for a collection of studio components that can be+-- used with this launch profile.+createLaunchProfile_studioComponentIds :: Lens.Lens' CreateLaunchProfile (Prelude.NonEmpty Prelude.Text)+createLaunchProfile_studioComponentIds = Lens.lens (\CreateLaunchProfile' {studioComponentIds} -> studioComponentIds) (\s@CreateLaunchProfile' {} a -> s {studioComponentIds = a} :: CreateLaunchProfile) Prelude.. Lens.coerced++-- | The studio ID.+createLaunchProfile_studioId :: Lens.Lens' CreateLaunchProfile Prelude.Text+createLaunchProfile_studioId = Lens.lens (\CreateLaunchProfile' {studioId} -> studioId) (\s@CreateLaunchProfile' {} a -> s {studioId = a} :: CreateLaunchProfile)++instance Core.AWSRequest CreateLaunchProfile where+ type+ AWSResponse CreateLaunchProfile =+ CreateLaunchProfileResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateLaunchProfileResponse'+ Prelude.<$> (x Data..?> "launchProfile")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateLaunchProfile where+ hashWithSalt _salt CreateLaunchProfile' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` ec2SubnetIds+ `Prelude.hashWithSalt` launchProfileProtocolVersions+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` streamConfiguration+ `Prelude.hashWithSalt` studioComponentIds+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData CreateLaunchProfile where+ rnf CreateLaunchProfile' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf ec2SubnetIds+ `Prelude.seq` Prelude.rnf launchProfileProtocolVersions+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf streamConfiguration+ `Prelude.seq` Prelude.rnf studioComponentIds+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders CreateLaunchProfile where+ toHeaders CreateLaunchProfile' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreateLaunchProfile where+ toJSON CreateLaunchProfile' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("ec2SubnetIds" Data..= ec2SubnetIds),+ Prelude.Just+ ( "launchProfileProtocolVersions"+ Data..= launchProfileProtocolVersions+ ),+ Prelude.Just ("name" Data..= name),+ Prelude.Just+ ("streamConfiguration" Data..= streamConfiguration),+ Prelude.Just+ ("studioComponentIds" Data..= studioComponentIds)+ ]+ )++instance Data.ToPath CreateLaunchProfile where+ toPath CreateLaunchProfile' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/launch-profiles"+ ]++instance Data.ToQuery CreateLaunchProfile where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLaunchProfileResponse' smart constructor.+data CreateLaunchProfileResponse = CreateLaunchProfileResponse'+ { -- | The launch profile.+ launchProfile :: Prelude.Maybe LaunchProfile,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLaunchProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchProfile', 'createLaunchProfileResponse_launchProfile' - The launch profile.+--+-- 'httpStatus', 'createLaunchProfileResponse_httpStatus' - The response's http status code.+newCreateLaunchProfileResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateLaunchProfileResponse+newCreateLaunchProfileResponse pHttpStatus_ =+ CreateLaunchProfileResponse'+ { launchProfile =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The launch profile.+createLaunchProfileResponse_launchProfile :: Lens.Lens' CreateLaunchProfileResponse (Prelude.Maybe LaunchProfile)+createLaunchProfileResponse_launchProfile = Lens.lens (\CreateLaunchProfileResponse' {launchProfile} -> launchProfile) (\s@CreateLaunchProfileResponse' {} a -> s {launchProfile = a} :: CreateLaunchProfileResponse)++-- | The response's http status code.+createLaunchProfileResponse_httpStatus :: Lens.Lens' CreateLaunchProfileResponse Prelude.Int+createLaunchProfileResponse_httpStatus = Lens.lens (\CreateLaunchProfileResponse' {httpStatus} -> httpStatus) (\s@CreateLaunchProfileResponse' {} a -> s {httpStatus = a} :: CreateLaunchProfileResponse)++instance Prelude.NFData CreateLaunchProfileResponse where+ rnf CreateLaunchProfileResponse' {..} =+ Prelude.rnf launchProfile+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/CreateStreamingImage.hs view
@@ -0,0 +1,257 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.CreateStreamingImage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a streaming image resource in a studio.+module Amazonka.Nimble.CreateStreamingImage+ ( -- * Creating a Request+ CreateStreamingImage (..),+ newCreateStreamingImage,++ -- * Request Lenses+ createStreamingImage_clientToken,+ createStreamingImage_description,+ createStreamingImage_tags,+ createStreamingImage_ec2ImageId,+ createStreamingImage_name,+ createStreamingImage_studioId,++ -- * Destructuring the Response+ CreateStreamingImageResponse (..),+ newCreateStreamingImageResponse,++ -- * Response Lenses+ createStreamingImageResponse_streamingImage,+ createStreamingImageResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateStreamingImage' smart constructor.+data CreateStreamingImage = CreateStreamingImage'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A human-readable description of the streaming image.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ID of an EC2 machine image with which to create this streaming+ -- image.+ ec2ImageId :: Prelude.Text,+ -- | A friendly name for a streaming image resource.+ name :: Data.Sensitive Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStreamingImage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createStreamingImage_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'description', 'createStreamingImage_description' - A human-readable description of the streaming image.+--+-- 'tags', 'createStreamingImage_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+--+-- 'ec2ImageId', 'createStreamingImage_ec2ImageId' - The ID of an EC2 machine image with which to create this streaming+-- image.+--+-- 'name', 'createStreamingImage_name' - A friendly name for a streaming image resource.+--+-- 'studioId', 'createStreamingImage_studioId' - The studio ID.+newCreateStreamingImage ::+ -- | 'ec2ImageId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ CreateStreamingImage+newCreateStreamingImage+ pEc2ImageId_+ pName_+ pStudioId_ =+ CreateStreamingImage'+ { clientToken =+ Prelude.Nothing,+ description = Prelude.Nothing,+ tags = Prelude.Nothing,+ ec2ImageId = pEc2ImageId_,+ name = Data._Sensitive Lens.# pName_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+createStreamingImage_clientToken :: Lens.Lens' CreateStreamingImage (Prelude.Maybe Prelude.Text)+createStreamingImage_clientToken = Lens.lens (\CreateStreamingImage' {clientToken} -> clientToken) (\s@CreateStreamingImage' {} a -> s {clientToken = a} :: CreateStreamingImage)++-- | A human-readable description of the streaming image.+createStreamingImage_description :: Lens.Lens' CreateStreamingImage (Prelude.Maybe Prelude.Text)+createStreamingImage_description = Lens.lens (\CreateStreamingImage' {description} -> description) (\s@CreateStreamingImage' {} a -> s {description = a} :: CreateStreamingImage) Prelude.. Lens.mapping Data._Sensitive++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+createStreamingImage_tags :: Lens.Lens' CreateStreamingImage (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createStreamingImage_tags = Lens.lens (\CreateStreamingImage' {tags} -> tags) (\s@CreateStreamingImage' {} a -> s {tags = a} :: CreateStreamingImage) Prelude.. Lens.mapping Lens.coerced++-- | The ID of an EC2 machine image with which to create this streaming+-- image.+createStreamingImage_ec2ImageId :: Lens.Lens' CreateStreamingImage Prelude.Text+createStreamingImage_ec2ImageId = Lens.lens (\CreateStreamingImage' {ec2ImageId} -> ec2ImageId) (\s@CreateStreamingImage' {} a -> s {ec2ImageId = a} :: CreateStreamingImage)++-- | A friendly name for a streaming image resource.+createStreamingImage_name :: Lens.Lens' CreateStreamingImage Prelude.Text+createStreamingImage_name = Lens.lens (\CreateStreamingImage' {name} -> name) (\s@CreateStreamingImage' {} a -> s {name = a} :: CreateStreamingImage) Prelude.. Data._Sensitive++-- | The studio ID.+createStreamingImage_studioId :: Lens.Lens' CreateStreamingImage Prelude.Text+createStreamingImage_studioId = Lens.lens (\CreateStreamingImage' {studioId} -> studioId) (\s@CreateStreamingImage' {} a -> s {studioId = a} :: CreateStreamingImage)++instance Core.AWSRequest CreateStreamingImage where+ type+ AWSResponse CreateStreamingImage =+ CreateStreamingImageResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateStreamingImageResponse'+ Prelude.<$> (x Data..?> "streamingImage")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateStreamingImage where+ hashWithSalt _salt CreateStreamingImage' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` ec2ImageId+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData CreateStreamingImage where+ rnf CreateStreamingImage' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf ec2ImageId+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders CreateStreamingImage where+ toHeaders CreateStreamingImage' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreateStreamingImage where+ toJSON CreateStreamingImage' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("ec2ImageId" Data..= ec2ImageId),+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreateStreamingImage where+ toPath CreateStreamingImage' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-images"+ ]++instance Data.ToQuery CreateStreamingImage where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateStreamingImageResponse' smart constructor.+data CreateStreamingImageResponse = CreateStreamingImageResponse'+ { -- | The streaming image.+ streamingImage :: Prelude.Maybe StreamingImage,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStreamingImageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'streamingImage', 'createStreamingImageResponse_streamingImage' - The streaming image.+--+-- 'httpStatus', 'createStreamingImageResponse_httpStatus' - The response's http status code.+newCreateStreamingImageResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateStreamingImageResponse+newCreateStreamingImageResponse pHttpStatus_ =+ CreateStreamingImageResponse'+ { streamingImage =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The streaming image.+createStreamingImageResponse_streamingImage :: Lens.Lens' CreateStreamingImageResponse (Prelude.Maybe StreamingImage)+createStreamingImageResponse_streamingImage = Lens.lens (\CreateStreamingImageResponse' {streamingImage} -> streamingImage) (\s@CreateStreamingImageResponse' {} a -> s {streamingImage = a} :: CreateStreamingImageResponse)++-- | The response's http status code.+createStreamingImageResponse_httpStatus :: Lens.Lens' CreateStreamingImageResponse Prelude.Int+createStreamingImageResponse_httpStatus = Lens.lens (\CreateStreamingImageResponse' {httpStatus} -> httpStatus) (\s@CreateStreamingImageResponse' {} a -> s {httpStatus = a} :: CreateStreamingImageResponse)++instance Prelude.NFData CreateStreamingImageResponse where+ rnf CreateStreamingImageResponse' {..} =+ Prelude.rnf streamingImage+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/CreateStreamingSession.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.Nimble.CreateStreamingSession+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a streaming session in a studio.+--+-- After invoking this operation, you must poll GetStreamingSession until+-- the streaming session is in the @READY@ state.+module Amazonka.Nimble.CreateStreamingSession+ ( -- * Creating a Request+ CreateStreamingSession (..),+ newCreateStreamingSession,++ -- * Request Lenses+ createStreamingSession_clientToken,+ createStreamingSession_ec2InstanceType,+ createStreamingSession_ownedBy,+ createStreamingSession_streamingImageId,+ createStreamingSession_tags,+ createStreamingSession_launchProfileId,+ createStreamingSession_studioId,++ -- * Destructuring the Response+ CreateStreamingSessionResponse (..),+ newCreateStreamingSessionResponse,++ -- * Response Lenses+ createStreamingSessionResponse_session,+ createStreamingSessionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateStreamingSession' smart constructor.+data CreateStreamingSession = CreateStreamingSession'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The EC2 Instance type used for the streaming session.+ ec2InstanceType :: Prelude.Maybe StreamingInstanceType,+ -- | The user ID of the user that owns the streaming session. The user that+ -- owns the session will be logging into the session and interacting with+ -- the virtual workstation.+ ownedBy :: Prelude.Maybe Prelude.Text,+ -- | The ID of the streaming image.+ streamingImageId :: Prelude.Maybe Prelude.Text,+ -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStreamingSession' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createStreamingSession_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'ec2InstanceType', 'createStreamingSession_ec2InstanceType' - The EC2 Instance type used for the streaming session.+--+-- 'ownedBy', 'createStreamingSession_ownedBy' - The user ID of the user that owns the streaming session. The user that+-- owns the session will be logging into the session and interacting with+-- the virtual workstation.+--+-- 'streamingImageId', 'createStreamingSession_streamingImageId' - The ID of the streaming image.+--+-- 'tags', 'createStreamingSession_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+--+-- 'launchProfileId', 'createStreamingSession_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'studioId', 'createStreamingSession_studioId' - The studio ID.+newCreateStreamingSession ::+ -- | 'launchProfileId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ CreateStreamingSession+newCreateStreamingSession+ pLaunchProfileId_+ pStudioId_ =+ CreateStreamingSession'+ { clientToken =+ Prelude.Nothing,+ ec2InstanceType = Prelude.Nothing,+ ownedBy = Prelude.Nothing,+ streamingImageId = Prelude.Nothing,+ tags = Prelude.Nothing,+ launchProfileId = pLaunchProfileId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+createStreamingSession_clientToken :: Lens.Lens' CreateStreamingSession (Prelude.Maybe Prelude.Text)+createStreamingSession_clientToken = Lens.lens (\CreateStreamingSession' {clientToken} -> clientToken) (\s@CreateStreamingSession' {} a -> s {clientToken = a} :: CreateStreamingSession)++-- | The EC2 Instance type used for the streaming session.+createStreamingSession_ec2InstanceType :: Lens.Lens' CreateStreamingSession (Prelude.Maybe StreamingInstanceType)+createStreamingSession_ec2InstanceType = Lens.lens (\CreateStreamingSession' {ec2InstanceType} -> ec2InstanceType) (\s@CreateStreamingSession' {} a -> s {ec2InstanceType = a} :: CreateStreamingSession)++-- | The user ID of the user that owns the streaming session. The user that+-- owns the session will be logging into the session and interacting with+-- the virtual workstation.+createStreamingSession_ownedBy :: Lens.Lens' CreateStreamingSession (Prelude.Maybe Prelude.Text)+createStreamingSession_ownedBy = Lens.lens (\CreateStreamingSession' {ownedBy} -> ownedBy) (\s@CreateStreamingSession' {} a -> s {ownedBy = a} :: CreateStreamingSession)++-- | The ID of the streaming image.+createStreamingSession_streamingImageId :: Lens.Lens' CreateStreamingSession (Prelude.Maybe Prelude.Text)+createStreamingSession_streamingImageId = Lens.lens (\CreateStreamingSession' {streamingImageId} -> streamingImageId) (\s@CreateStreamingSession' {} a -> s {streamingImageId = a} :: CreateStreamingSession)++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+createStreamingSession_tags :: Lens.Lens' CreateStreamingSession (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createStreamingSession_tags = Lens.lens (\CreateStreamingSession' {tags} -> tags) (\s@CreateStreamingSession' {} a -> s {tags = a} :: CreateStreamingSession) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the launch profile used to control access from the streaming+-- session.+createStreamingSession_launchProfileId :: Lens.Lens' CreateStreamingSession Prelude.Text+createStreamingSession_launchProfileId = Lens.lens (\CreateStreamingSession' {launchProfileId} -> launchProfileId) (\s@CreateStreamingSession' {} a -> s {launchProfileId = a} :: CreateStreamingSession)++-- | The studio ID.+createStreamingSession_studioId :: Lens.Lens' CreateStreamingSession Prelude.Text+createStreamingSession_studioId = Lens.lens (\CreateStreamingSession' {studioId} -> studioId) (\s@CreateStreamingSession' {} a -> s {studioId = a} :: CreateStreamingSession)++instance Core.AWSRequest CreateStreamingSession where+ type+ AWSResponse CreateStreamingSession =+ CreateStreamingSessionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateStreamingSessionResponse'+ Prelude.<$> (x Data..?> "session")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateStreamingSession where+ hashWithSalt _salt CreateStreamingSession' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` ec2InstanceType+ `Prelude.hashWithSalt` ownedBy+ `Prelude.hashWithSalt` streamingImageId+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData CreateStreamingSession where+ rnf CreateStreamingSession' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf ec2InstanceType+ `Prelude.seq` Prelude.rnf ownedBy+ `Prelude.seq` Prelude.rnf streamingImageId+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders CreateStreamingSession where+ toHeaders CreateStreamingSession' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreateStreamingSession where+ toJSON CreateStreamingSession' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ec2InstanceType" Data..=)+ Prelude.<$> ec2InstanceType,+ ("ownedBy" Data..=) Prelude.<$> ownedBy,+ ("streamingImageId" Data..=)+ Prelude.<$> streamingImageId,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("launchProfileId" Data..= launchProfileId)+ ]+ )++instance Data.ToPath CreateStreamingSession where+ toPath CreateStreamingSession' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-sessions"+ ]++instance Data.ToQuery CreateStreamingSession where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateStreamingSessionResponse' smart constructor.+data CreateStreamingSessionResponse = CreateStreamingSessionResponse'+ { -- | The session.+ session :: Prelude.Maybe StreamingSession,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStreamingSessionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'session', 'createStreamingSessionResponse_session' - The session.+--+-- 'httpStatus', 'createStreamingSessionResponse_httpStatus' - The response's http status code.+newCreateStreamingSessionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateStreamingSessionResponse+newCreateStreamingSessionResponse pHttpStatus_ =+ CreateStreamingSessionResponse'+ { session =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The session.+createStreamingSessionResponse_session :: Lens.Lens' CreateStreamingSessionResponse (Prelude.Maybe StreamingSession)+createStreamingSessionResponse_session = Lens.lens (\CreateStreamingSessionResponse' {session} -> session) (\s@CreateStreamingSessionResponse' {} a -> s {session = a} :: CreateStreamingSessionResponse)++-- | The response's http status code.+createStreamingSessionResponse_httpStatus :: Lens.Lens' CreateStreamingSessionResponse Prelude.Int+createStreamingSessionResponse_httpStatus = Lens.lens (\CreateStreamingSessionResponse' {httpStatus} -> httpStatus) (\s@CreateStreamingSessionResponse' {} a -> s {httpStatus = a} :: CreateStreamingSessionResponse)++instance+ Prelude.NFData+ CreateStreamingSessionResponse+ where+ rnf CreateStreamingSessionResponse' {..} =+ Prelude.rnf session+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/CreateStreamingSessionStream.hs view
@@ -0,0 +1,233 @@+{-# 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.Nimble.CreateStreamingSessionStream+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a streaming session stream for a streaming session.+--+-- After invoking this API, invoke GetStreamingSessionStream with the+-- returned streamId to poll the resource until it is in the @READY@ state.+module Amazonka.Nimble.CreateStreamingSessionStream+ ( -- * Creating a Request+ CreateStreamingSessionStream (..),+ newCreateStreamingSessionStream,++ -- * Request Lenses+ createStreamingSessionStream_clientToken,+ createStreamingSessionStream_expirationInSeconds,+ createStreamingSessionStream_sessionId,+ createStreamingSessionStream_studioId,++ -- * Destructuring the Response+ CreateStreamingSessionStreamResponse (..),+ newCreateStreamingSessionStreamResponse,++ -- * Response Lenses+ createStreamingSessionStreamResponse_stream,+ createStreamingSessionStreamResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateStreamingSessionStream' smart constructor.+data CreateStreamingSessionStream = CreateStreamingSessionStream'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The expiration time in seconds.+ expirationInSeconds :: Prelude.Maybe Prelude.Natural,+ -- | The streaming session ID.+ sessionId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStreamingSessionStream' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createStreamingSessionStream_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'expirationInSeconds', 'createStreamingSessionStream_expirationInSeconds' - The expiration time in seconds.+--+-- 'sessionId', 'createStreamingSessionStream_sessionId' - The streaming session ID.+--+-- 'studioId', 'createStreamingSessionStream_studioId' - The studio ID.+newCreateStreamingSessionStream ::+ -- | 'sessionId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ CreateStreamingSessionStream+newCreateStreamingSessionStream+ pSessionId_+ pStudioId_ =+ CreateStreamingSessionStream'+ { clientToken =+ Prelude.Nothing,+ expirationInSeconds = Prelude.Nothing,+ sessionId = pSessionId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+createStreamingSessionStream_clientToken :: Lens.Lens' CreateStreamingSessionStream (Prelude.Maybe Prelude.Text)+createStreamingSessionStream_clientToken = Lens.lens (\CreateStreamingSessionStream' {clientToken} -> clientToken) (\s@CreateStreamingSessionStream' {} a -> s {clientToken = a} :: CreateStreamingSessionStream)++-- | The expiration time in seconds.+createStreamingSessionStream_expirationInSeconds :: Lens.Lens' CreateStreamingSessionStream (Prelude.Maybe Prelude.Natural)+createStreamingSessionStream_expirationInSeconds = Lens.lens (\CreateStreamingSessionStream' {expirationInSeconds} -> expirationInSeconds) (\s@CreateStreamingSessionStream' {} a -> s {expirationInSeconds = a} :: CreateStreamingSessionStream)++-- | The streaming session ID.+createStreamingSessionStream_sessionId :: Lens.Lens' CreateStreamingSessionStream Prelude.Text+createStreamingSessionStream_sessionId = Lens.lens (\CreateStreamingSessionStream' {sessionId} -> sessionId) (\s@CreateStreamingSessionStream' {} a -> s {sessionId = a} :: CreateStreamingSessionStream)++-- | The studio ID.+createStreamingSessionStream_studioId :: Lens.Lens' CreateStreamingSessionStream Prelude.Text+createStreamingSessionStream_studioId = Lens.lens (\CreateStreamingSessionStream' {studioId} -> studioId) (\s@CreateStreamingSessionStream' {} a -> s {studioId = a} :: CreateStreamingSessionStream)++instance Core.AWSRequest CreateStreamingSessionStream where+ type+ AWSResponse CreateStreamingSessionStream =+ CreateStreamingSessionStreamResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateStreamingSessionStreamResponse'+ Prelude.<$> (x Data..?> "stream")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ CreateStreamingSessionStream+ where+ hashWithSalt _salt CreateStreamingSessionStream' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` expirationInSeconds+ `Prelude.hashWithSalt` sessionId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData CreateStreamingSessionStream where+ rnf CreateStreamingSessionStream' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf expirationInSeconds+ `Prelude.seq` Prelude.rnf sessionId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders CreateStreamingSessionStream where+ toHeaders CreateStreamingSessionStream' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreateStreamingSessionStream where+ toJSON CreateStreamingSessionStream' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("expirationInSeconds" Data..=)+ Prelude.<$> expirationInSeconds+ ]+ )++instance Data.ToPath CreateStreamingSessionStream where+ toPath CreateStreamingSessionStream' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-sessions/",+ Data.toBS sessionId,+ "/streams"+ ]++instance Data.ToQuery CreateStreamingSessionStream where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateStreamingSessionStreamResponse' smart constructor.+data CreateStreamingSessionStreamResponse = CreateStreamingSessionStreamResponse'+ { -- | The stream.+ stream :: Prelude.Maybe StreamingSessionStream,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStreamingSessionStreamResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'stream', 'createStreamingSessionStreamResponse_stream' - The stream.+--+-- 'httpStatus', 'createStreamingSessionStreamResponse_httpStatus' - The response's http status code.+newCreateStreamingSessionStreamResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateStreamingSessionStreamResponse+newCreateStreamingSessionStreamResponse pHttpStatus_ =+ CreateStreamingSessionStreamResponse'+ { stream =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The stream.+createStreamingSessionStreamResponse_stream :: Lens.Lens' CreateStreamingSessionStreamResponse (Prelude.Maybe StreamingSessionStream)+createStreamingSessionStreamResponse_stream = Lens.lens (\CreateStreamingSessionStreamResponse' {stream} -> stream) (\s@CreateStreamingSessionStreamResponse' {} a -> s {stream = a} :: CreateStreamingSessionStreamResponse)++-- | The response's http status code.+createStreamingSessionStreamResponse_httpStatus :: Lens.Lens' CreateStreamingSessionStreamResponse Prelude.Int+createStreamingSessionStreamResponse_httpStatus = Lens.lens (\CreateStreamingSessionStreamResponse' {httpStatus} -> httpStatus) (\s@CreateStreamingSessionStreamResponse' {} a -> s {httpStatus = a} :: CreateStreamingSessionStreamResponse)++instance+ Prelude.NFData+ CreateStreamingSessionStreamResponse+ where+ rnf CreateStreamingSessionStreamResponse' {..} =+ Prelude.rnf stream+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/CreateStudio.hs view
@@ -0,0 +1,301 @@+{-# 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.Nimble.CreateStudio+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a new studio.+--+-- When creating a studio, two IAM roles must be provided: the admin role+-- and the user role. These roles are assumed by your users when they log+-- in to the Nimble Studio portal.+--+-- The user role must have the @AmazonNimbleStudio-StudioUser@ managed+-- policy attached for the portal to function properly.+--+-- The admin role must have the @AmazonNimbleStudio-StudioAdmin@ managed+-- policy attached for the portal to function properly.+--+-- You may optionally specify a KMS key in the+-- @StudioEncryptionConfiguration@.+--+-- In Nimble Studio, resource names, descriptions, initialization scripts,+-- and other data you provide are always encrypted at rest using an KMS+-- key. By default, this key is owned by Amazon Web Services and managed on+-- your behalf. You may provide your own KMS key when calling+-- @CreateStudio@ to encrypt this data using a key you own and manage.+--+-- When providing an KMS key during studio creation, Nimble Studio creates+-- KMS grants in your account to provide your studio user and admin roles+-- access to these KMS keys.+--+-- If you delete this grant, the studio will no longer be accessible to+-- your portal users.+--+-- If you delete the studio KMS key, your studio will no longer be+-- accessible.+module Amazonka.Nimble.CreateStudio+ ( -- * Creating a Request+ CreateStudio (..),+ newCreateStudio,++ -- * Request Lenses+ createStudio_clientToken,+ createStudio_studioEncryptionConfiguration,+ createStudio_tags,+ createStudio_adminRoleArn,+ createStudio_displayName,+ createStudio_studioName,+ createStudio_userRoleArn,++ -- * Destructuring the Response+ CreateStudioResponse (..),+ newCreateStudioResponse,++ -- * Response Lenses+ createStudioResponse_studio,+ createStudioResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateStudio' smart constructor.+data CreateStudio = CreateStudio'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The studio encryption configuration.+ studioEncryptionConfiguration :: Prelude.Maybe StudioEncryptionConfiguration,+ -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The IAM role that studio admins will assume when logging in to the+ -- Nimble Studio portal.+ adminRoleArn :: Prelude.Text,+ -- | A friendly name for the studio.+ displayName :: Data.Sensitive Prelude.Text,+ -- | The studio name that is used in the URL of the Nimble Studio portal when+ -- accessed by Nimble Studio users.+ studioName :: Prelude.Text,+ -- | The IAM role that studio users will assume when logging in to the Nimble+ -- Studio portal.+ userRoleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStudio' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createStudio_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'studioEncryptionConfiguration', 'createStudio_studioEncryptionConfiguration' - The studio encryption configuration.+--+-- 'tags', 'createStudio_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+--+-- 'adminRoleArn', 'createStudio_adminRoleArn' - The IAM role that studio admins will assume when logging in to the+-- Nimble Studio portal.+--+-- 'displayName', 'createStudio_displayName' - A friendly name for the studio.+--+-- 'studioName', 'createStudio_studioName' - The studio name that is used in the URL of the Nimble Studio portal when+-- accessed by Nimble Studio users.+--+-- 'userRoleArn', 'createStudio_userRoleArn' - The IAM role that studio users will assume when logging in to the Nimble+-- Studio portal.+newCreateStudio ::+ -- | 'adminRoleArn'+ Prelude.Text ->+ -- | 'displayName'+ Prelude.Text ->+ -- | 'studioName'+ Prelude.Text ->+ -- | 'userRoleArn'+ Prelude.Text ->+ CreateStudio+newCreateStudio+ pAdminRoleArn_+ pDisplayName_+ pStudioName_+ pUserRoleArn_ =+ CreateStudio'+ { clientToken = Prelude.Nothing,+ studioEncryptionConfiguration = Prelude.Nothing,+ tags = Prelude.Nothing,+ adminRoleArn = pAdminRoleArn_,+ displayName = Data._Sensitive Lens.# pDisplayName_,+ studioName = pStudioName_,+ userRoleArn = pUserRoleArn_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+createStudio_clientToken :: Lens.Lens' CreateStudio (Prelude.Maybe Prelude.Text)+createStudio_clientToken = Lens.lens (\CreateStudio' {clientToken} -> clientToken) (\s@CreateStudio' {} a -> s {clientToken = a} :: CreateStudio)++-- | The studio encryption configuration.+createStudio_studioEncryptionConfiguration :: Lens.Lens' CreateStudio (Prelude.Maybe StudioEncryptionConfiguration)+createStudio_studioEncryptionConfiguration = Lens.lens (\CreateStudio' {studioEncryptionConfiguration} -> studioEncryptionConfiguration) (\s@CreateStudio' {} a -> s {studioEncryptionConfiguration = a} :: CreateStudio)++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+createStudio_tags :: Lens.Lens' CreateStudio (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createStudio_tags = Lens.lens (\CreateStudio' {tags} -> tags) (\s@CreateStudio' {} a -> s {tags = a} :: CreateStudio) Prelude.. Lens.mapping Lens.coerced++-- | The IAM role that studio admins will assume when logging in to the+-- Nimble Studio portal.+createStudio_adminRoleArn :: Lens.Lens' CreateStudio Prelude.Text+createStudio_adminRoleArn = Lens.lens (\CreateStudio' {adminRoleArn} -> adminRoleArn) (\s@CreateStudio' {} a -> s {adminRoleArn = a} :: CreateStudio)++-- | A friendly name for the studio.+createStudio_displayName :: Lens.Lens' CreateStudio Prelude.Text+createStudio_displayName = Lens.lens (\CreateStudio' {displayName} -> displayName) (\s@CreateStudio' {} a -> s {displayName = a} :: CreateStudio) Prelude.. Data._Sensitive++-- | The studio name that is used in the URL of the Nimble Studio portal when+-- accessed by Nimble Studio users.+createStudio_studioName :: Lens.Lens' CreateStudio Prelude.Text+createStudio_studioName = Lens.lens (\CreateStudio' {studioName} -> studioName) (\s@CreateStudio' {} a -> s {studioName = a} :: CreateStudio)++-- | The IAM role that studio users will assume when logging in to the Nimble+-- Studio portal.+createStudio_userRoleArn :: Lens.Lens' CreateStudio Prelude.Text+createStudio_userRoleArn = Lens.lens (\CreateStudio' {userRoleArn} -> userRoleArn) (\s@CreateStudio' {} a -> s {userRoleArn = a} :: CreateStudio)++instance Core.AWSRequest CreateStudio where+ type AWSResponse CreateStudio = CreateStudioResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateStudioResponse'+ Prelude.<$> (x Data..?> "studio")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateStudio where+ hashWithSalt _salt CreateStudio' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` studioEncryptionConfiguration+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` adminRoleArn+ `Prelude.hashWithSalt` displayName+ `Prelude.hashWithSalt` studioName+ `Prelude.hashWithSalt` userRoleArn++instance Prelude.NFData CreateStudio where+ rnf CreateStudio' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf studioEncryptionConfiguration+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf adminRoleArn+ `Prelude.seq` Prelude.rnf displayName+ `Prelude.seq` Prelude.rnf studioName+ `Prelude.seq` Prelude.rnf userRoleArn++instance Data.ToHeaders CreateStudio where+ toHeaders CreateStudio' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreateStudio where+ toJSON CreateStudio' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("studioEncryptionConfiguration" Data..=)+ Prelude.<$> studioEncryptionConfiguration,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("adminRoleArn" Data..= adminRoleArn),+ Prelude.Just ("displayName" Data..= displayName),+ Prelude.Just ("studioName" Data..= studioName),+ Prelude.Just ("userRoleArn" Data..= userRoleArn)+ ]+ )++instance Data.ToPath CreateStudio where+ toPath = Prelude.const "/2020-08-01/studios"++instance Data.ToQuery CreateStudio where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateStudioResponse' smart constructor.+data CreateStudioResponse = CreateStudioResponse'+ { -- | Information about a studio.+ studio :: Prelude.Maybe Studio,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStudioResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'studio', 'createStudioResponse_studio' - Information about a studio.+--+-- 'httpStatus', 'createStudioResponse_httpStatus' - The response's http status code.+newCreateStudioResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateStudioResponse+newCreateStudioResponse pHttpStatus_ =+ CreateStudioResponse'+ { studio = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about a studio.+createStudioResponse_studio :: Lens.Lens' CreateStudioResponse (Prelude.Maybe Studio)+createStudioResponse_studio = Lens.lens (\CreateStudioResponse' {studio} -> studio) (\s@CreateStudioResponse' {} a -> s {studio = a} :: CreateStudioResponse)++-- | The response's http status code.+createStudioResponse_httpStatus :: Lens.Lens' CreateStudioResponse Prelude.Int+createStudioResponse_httpStatus = Lens.lens (\CreateStudioResponse' {httpStatus} -> httpStatus) (\s@CreateStudioResponse' {} a -> s {httpStatus = a} :: CreateStudioResponse)++instance Prelude.NFData CreateStudioResponse where+ rnf CreateStudioResponse' {..} =+ Prelude.rnf studio+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/CreateStudioComponent.hs view
@@ -0,0 +1,359 @@+{-# 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.Nimble.CreateStudioComponent+-- 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 studio component resource.+module Amazonka.Nimble.CreateStudioComponent+ ( -- * Creating a Request+ CreateStudioComponent (..),+ newCreateStudioComponent,++ -- * Request Lenses+ createStudioComponent_clientToken,+ createStudioComponent_configuration,+ createStudioComponent_description,+ createStudioComponent_ec2SecurityGroupIds,+ createStudioComponent_initializationScripts,+ createStudioComponent_runtimeRoleArn,+ createStudioComponent_scriptParameters,+ createStudioComponent_secureInitializationRoleArn,+ createStudioComponent_subtype,+ createStudioComponent_tags,+ createStudioComponent_name,+ createStudioComponent_studioId,+ createStudioComponent_type,++ -- * Destructuring the Response+ CreateStudioComponentResponse (..),+ newCreateStudioComponentResponse,++ -- * Response Lenses+ createStudioComponentResponse_studioComponent,+ createStudioComponentResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateStudioComponent' smart constructor.+data CreateStudioComponent = CreateStudioComponent'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The configuration of the studio component, based on component type.+ configuration :: Prelude.Maybe StudioComponentConfiguration,+ -- | The description.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The EC2 security groups that control access to the studio component.+ ec2SecurityGroupIds :: Prelude.Maybe [Prelude.Text],+ -- | Initialization scripts for studio components.+ initializationScripts :: Prelude.Maybe [StudioComponentInitializationScript],+ -- | An IAM role attached to a Studio Component that gives the studio+ -- component access to Amazon Web Services resources at anytime while the+ -- instance is running.+ runtimeRoleArn :: Prelude.Maybe Prelude.Text,+ -- | Parameters for the studio component scripts.+ scriptParameters :: Prelude.Maybe (Data.Sensitive [ScriptParameterKeyValue]),+ -- | An IAM role attached to Studio Component when the system initialization+ -- script runs which give the studio component access to Amazon Web+ -- Services resources when the system initialization script runs.+ secureInitializationRoleArn :: Prelude.Maybe Prelude.Text,+ -- | The specific subtype of a studio component.+ subtype :: Prelude.Maybe StudioComponentSubtype,+ -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name for the studio component.+ name :: Data.Sensitive Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text,+ -- | The type of the studio component.+ type' :: StudioComponentType+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStudioComponent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createStudioComponent_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'configuration', 'createStudioComponent_configuration' - The configuration of the studio component, based on component type.+--+-- 'description', 'createStudioComponent_description' - The description.+--+-- 'ec2SecurityGroupIds', 'createStudioComponent_ec2SecurityGroupIds' - The EC2 security groups that control access to the studio component.+--+-- 'initializationScripts', 'createStudioComponent_initializationScripts' - Initialization scripts for studio components.+--+-- 'runtimeRoleArn', 'createStudioComponent_runtimeRoleArn' - An IAM role attached to a Studio Component that gives the studio+-- component access to Amazon Web Services resources at anytime while the+-- instance is running.+--+-- 'scriptParameters', 'createStudioComponent_scriptParameters' - Parameters for the studio component scripts.+--+-- 'secureInitializationRoleArn', 'createStudioComponent_secureInitializationRoleArn' - An IAM role attached to Studio Component when the system initialization+-- script runs which give the studio component access to Amazon Web+-- Services resources when the system initialization script runs.+--+-- 'subtype', 'createStudioComponent_subtype' - The specific subtype of a studio component.+--+-- 'tags', 'createStudioComponent_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+--+-- 'name', 'createStudioComponent_name' - The name for the studio component.+--+-- 'studioId', 'createStudioComponent_studioId' - The studio ID.+--+-- 'type'', 'createStudioComponent_type' - The type of the studio component.+newCreateStudioComponent ::+ -- | 'name'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ -- | 'type''+ StudioComponentType ->+ CreateStudioComponent+newCreateStudioComponent pName_ pStudioId_ pType_ =+ CreateStudioComponent'+ { clientToken =+ Prelude.Nothing,+ configuration = Prelude.Nothing,+ description = Prelude.Nothing,+ ec2SecurityGroupIds = Prelude.Nothing,+ initializationScripts = Prelude.Nothing,+ runtimeRoleArn = Prelude.Nothing,+ scriptParameters = Prelude.Nothing,+ secureInitializationRoleArn = Prelude.Nothing,+ subtype = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = Data._Sensitive Lens.# pName_,+ studioId = pStudioId_,+ type' = pType_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+createStudioComponent_clientToken :: Lens.Lens' CreateStudioComponent (Prelude.Maybe Prelude.Text)+createStudioComponent_clientToken = Lens.lens (\CreateStudioComponent' {clientToken} -> clientToken) (\s@CreateStudioComponent' {} a -> s {clientToken = a} :: CreateStudioComponent)++-- | The configuration of the studio component, based on component type.+createStudioComponent_configuration :: Lens.Lens' CreateStudioComponent (Prelude.Maybe StudioComponentConfiguration)+createStudioComponent_configuration = Lens.lens (\CreateStudioComponent' {configuration} -> configuration) (\s@CreateStudioComponent' {} a -> s {configuration = a} :: CreateStudioComponent)++-- | The description.+createStudioComponent_description :: Lens.Lens' CreateStudioComponent (Prelude.Maybe Prelude.Text)+createStudioComponent_description = Lens.lens (\CreateStudioComponent' {description} -> description) (\s@CreateStudioComponent' {} a -> s {description = a} :: CreateStudioComponent) Prelude.. Lens.mapping Data._Sensitive++-- | The EC2 security groups that control access to the studio component.+createStudioComponent_ec2SecurityGroupIds :: Lens.Lens' CreateStudioComponent (Prelude.Maybe [Prelude.Text])+createStudioComponent_ec2SecurityGroupIds = Lens.lens (\CreateStudioComponent' {ec2SecurityGroupIds} -> ec2SecurityGroupIds) (\s@CreateStudioComponent' {} a -> s {ec2SecurityGroupIds = a} :: CreateStudioComponent) Prelude.. Lens.mapping Lens.coerced++-- | Initialization scripts for studio components.+createStudioComponent_initializationScripts :: Lens.Lens' CreateStudioComponent (Prelude.Maybe [StudioComponentInitializationScript])+createStudioComponent_initializationScripts = Lens.lens (\CreateStudioComponent' {initializationScripts} -> initializationScripts) (\s@CreateStudioComponent' {} a -> s {initializationScripts = a} :: CreateStudioComponent) Prelude.. Lens.mapping Lens.coerced++-- | An IAM role attached to a Studio Component that gives the studio+-- component access to Amazon Web Services resources at anytime while the+-- instance is running.+createStudioComponent_runtimeRoleArn :: Lens.Lens' CreateStudioComponent (Prelude.Maybe Prelude.Text)+createStudioComponent_runtimeRoleArn = Lens.lens (\CreateStudioComponent' {runtimeRoleArn} -> runtimeRoleArn) (\s@CreateStudioComponent' {} a -> s {runtimeRoleArn = a} :: CreateStudioComponent)++-- | Parameters for the studio component scripts.+createStudioComponent_scriptParameters :: Lens.Lens' CreateStudioComponent (Prelude.Maybe [ScriptParameterKeyValue])+createStudioComponent_scriptParameters = Lens.lens (\CreateStudioComponent' {scriptParameters} -> scriptParameters) (\s@CreateStudioComponent' {} a -> s {scriptParameters = a} :: CreateStudioComponent) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | An IAM role attached to Studio Component when the system initialization+-- script runs which give the studio component access to Amazon Web+-- Services resources when the system initialization script runs.+createStudioComponent_secureInitializationRoleArn :: Lens.Lens' CreateStudioComponent (Prelude.Maybe Prelude.Text)+createStudioComponent_secureInitializationRoleArn = Lens.lens (\CreateStudioComponent' {secureInitializationRoleArn} -> secureInitializationRoleArn) (\s@CreateStudioComponent' {} a -> s {secureInitializationRoleArn = a} :: CreateStudioComponent)++-- | The specific subtype of a studio component.+createStudioComponent_subtype :: Lens.Lens' CreateStudioComponent (Prelude.Maybe StudioComponentSubtype)+createStudioComponent_subtype = Lens.lens (\CreateStudioComponent' {subtype} -> subtype) (\s@CreateStudioComponent' {} a -> s {subtype = a} :: CreateStudioComponent)++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+createStudioComponent_tags :: Lens.Lens' CreateStudioComponent (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createStudioComponent_tags = Lens.lens (\CreateStudioComponent' {tags} -> tags) (\s@CreateStudioComponent' {} a -> s {tags = a} :: CreateStudioComponent) Prelude.. Lens.mapping Lens.coerced++-- | The name for the studio component.+createStudioComponent_name :: Lens.Lens' CreateStudioComponent Prelude.Text+createStudioComponent_name = Lens.lens (\CreateStudioComponent' {name} -> name) (\s@CreateStudioComponent' {} a -> s {name = a} :: CreateStudioComponent) Prelude.. Data._Sensitive++-- | The studio ID.+createStudioComponent_studioId :: Lens.Lens' CreateStudioComponent Prelude.Text+createStudioComponent_studioId = Lens.lens (\CreateStudioComponent' {studioId} -> studioId) (\s@CreateStudioComponent' {} a -> s {studioId = a} :: CreateStudioComponent)++-- | The type of the studio component.+createStudioComponent_type :: Lens.Lens' CreateStudioComponent StudioComponentType+createStudioComponent_type = Lens.lens (\CreateStudioComponent' {type'} -> type') (\s@CreateStudioComponent' {} a -> s {type' = a} :: CreateStudioComponent)++instance Core.AWSRequest CreateStudioComponent where+ type+ AWSResponse CreateStudioComponent =+ CreateStudioComponentResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateStudioComponentResponse'+ Prelude.<$> (x Data..?> "studioComponent")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateStudioComponent where+ hashWithSalt _salt CreateStudioComponent' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` configuration+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` ec2SecurityGroupIds+ `Prelude.hashWithSalt` initializationScripts+ `Prelude.hashWithSalt` runtimeRoleArn+ `Prelude.hashWithSalt` scriptParameters+ `Prelude.hashWithSalt` secureInitializationRoleArn+ `Prelude.hashWithSalt` subtype+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` studioId+ `Prelude.hashWithSalt` type'++instance Prelude.NFData CreateStudioComponent where+ rnf CreateStudioComponent' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf configuration+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf ec2SecurityGroupIds+ `Prelude.seq` Prelude.rnf initializationScripts+ `Prelude.seq` Prelude.rnf runtimeRoleArn+ `Prelude.seq` Prelude.rnf scriptParameters+ `Prelude.seq` Prelude.rnf secureInitializationRoleArn+ `Prelude.seq` Prelude.rnf subtype+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf studioId+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders CreateStudioComponent where+ toHeaders CreateStudioComponent' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreateStudioComponent where+ toJSON CreateStudioComponent' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("configuration" Data..=) Prelude.<$> configuration,+ ("description" Data..=) Prelude.<$> description,+ ("ec2SecurityGroupIds" Data..=)+ Prelude.<$> ec2SecurityGroupIds,+ ("initializationScripts" Data..=)+ Prelude.<$> initializationScripts,+ ("runtimeRoleArn" Data..=)+ Prelude.<$> runtimeRoleArn,+ ("scriptParameters" Data..=)+ Prelude.<$> scriptParameters,+ ("secureInitializationRoleArn" Data..=)+ Prelude.<$> secureInitializationRoleArn,+ ("subtype" Data..=) Prelude.<$> subtype,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath CreateStudioComponent where+ toPath CreateStudioComponent' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/studio-components"+ ]++instance Data.ToQuery CreateStudioComponent where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateStudioComponentResponse' smart constructor.+data CreateStudioComponentResponse = CreateStudioComponentResponse'+ { -- | Information about the studio component.+ studioComponent :: Prelude.Maybe StudioComponent,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStudioComponentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'studioComponent', 'createStudioComponentResponse_studioComponent' - Information about the studio component.+--+-- 'httpStatus', 'createStudioComponentResponse_httpStatus' - The response's http status code.+newCreateStudioComponentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateStudioComponentResponse+newCreateStudioComponentResponse pHttpStatus_ =+ CreateStudioComponentResponse'+ { studioComponent =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the studio component.+createStudioComponentResponse_studioComponent :: Lens.Lens' CreateStudioComponentResponse (Prelude.Maybe StudioComponent)+createStudioComponentResponse_studioComponent = Lens.lens (\CreateStudioComponentResponse' {studioComponent} -> studioComponent) (\s@CreateStudioComponentResponse' {} a -> s {studioComponent = a} :: CreateStudioComponentResponse)++-- | The response's http status code.+createStudioComponentResponse_httpStatus :: Lens.Lens' CreateStudioComponentResponse Prelude.Int+createStudioComponentResponse_httpStatus = Lens.lens (\CreateStudioComponentResponse' {httpStatus} -> httpStatus) (\s@CreateStudioComponentResponse' {} a -> s {httpStatus = a} :: CreateStudioComponentResponse)++instance Prelude.NFData CreateStudioComponentResponse where+ rnf CreateStudioComponentResponse' {..} =+ Prelude.rnf studioComponent+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/DeleteLaunchProfile.hs view
@@ -0,0 +1,202 @@+{-# 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.Nimble.DeleteLaunchProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently delete a launch profile.+module Amazonka.Nimble.DeleteLaunchProfile+ ( -- * Creating a Request+ DeleteLaunchProfile (..),+ newDeleteLaunchProfile,++ -- * Request Lenses+ deleteLaunchProfile_clientToken,+ deleteLaunchProfile_launchProfileId,+ deleteLaunchProfile_studioId,++ -- * Destructuring the Response+ DeleteLaunchProfileResponse (..),+ newDeleteLaunchProfileResponse,++ -- * Response Lenses+ deleteLaunchProfileResponse_launchProfile,+ deleteLaunchProfileResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteLaunchProfile' smart constructor.+data DeleteLaunchProfile = DeleteLaunchProfile'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLaunchProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteLaunchProfile_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'launchProfileId', 'deleteLaunchProfile_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'studioId', 'deleteLaunchProfile_studioId' - The studio ID.+newDeleteLaunchProfile ::+ -- | 'launchProfileId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ DeleteLaunchProfile+newDeleteLaunchProfile pLaunchProfileId_ pStudioId_ =+ DeleteLaunchProfile'+ { clientToken = Prelude.Nothing,+ launchProfileId = pLaunchProfileId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+deleteLaunchProfile_clientToken :: Lens.Lens' DeleteLaunchProfile (Prelude.Maybe Prelude.Text)+deleteLaunchProfile_clientToken = Lens.lens (\DeleteLaunchProfile' {clientToken} -> clientToken) (\s@DeleteLaunchProfile' {} a -> s {clientToken = a} :: DeleteLaunchProfile)++-- | The ID of the launch profile used to control access from the streaming+-- session.+deleteLaunchProfile_launchProfileId :: Lens.Lens' DeleteLaunchProfile Prelude.Text+deleteLaunchProfile_launchProfileId = Lens.lens (\DeleteLaunchProfile' {launchProfileId} -> launchProfileId) (\s@DeleteLaunchProfile' {} a -> s {launchProfileId = a} :: DeleteLaunchProfile)++-- | The studio ID.+deleteLaunchProfile_studioId :: Lens.Lens' DeleteLaunchProfile Prelude.Text+deleteLaunchProfile_studioId = Lens.lens (\DeleteLaunchProfile' {studioId} -> studioId) (\s@DeleteLaunchProfile' {} a -> s {studioId = a} :: DeleteLaunchProfile)++instance Core.AWSRequest DeleteLaunchProfile where+ type+ AWSResponse DeleteLaunchProfile =+ DeleteLaunchProfileResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteLaunchProfileResponse'+ Prelude.<$> (x Data..?> "launchProfile")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteLaunchProfile where+ hashWithSalt _salt DeleteLaunchProfile' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData DeleteLaunchProfile where+ rnf DeleteLaunchProfile' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders DeleteLaunchProfile where+ toHeaders DeleteLaunchProfile' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToPath DeleteLaunchProfile where+ toPath DeleteLaunchProfile' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/launch-profiles/",+ Data.toBS launchProfileId+ ]++instance Data.ToQuery DeleteLaunchProfile where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteLaunchProfileResponse' smart constructor.+data DeleteLaunchProfileResponse = DeleteLaunchProfileResponse'+ { -- | The launch profile.+ launchProfile :: Prelude.Maybe LaunchProfile,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLaunchProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchProfile', 'deleteLaunchProfileResponse_launchProfile' - The launch profile.+--+-- 'httpStatus', 'deleteLaunchProfileResponse_httpStatus' - The response's http status code.+newDeleteLaunchProfileResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteLaunchProfileResponse+newDeleteLaunchProfileResponse pHttpStatus_ =+ DeleteLaunchProfileResponse'+ { launchProfile =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The launch profile.+deleteLaunchProfileResponse_launchProfile :: Lens.Lens' DeleteLaunchProfileResponse (Prelude.Maybe LaunchProfile)+deleteLaunchProfileResponse_launchProfile = Lens.lens (\DeleteLaunchProfileResponse' {launchProfile} -> launchProfile) (\s@DeleteLaunchProfileResponse' {} a -> s {launchProfile = a} :: DeleteLaunchProfileResponse)++-- | The response's http status code.+deleteLaunchProfileResponse_httpStatus :: Lens.Lens' DeleteLaunchProfileResponse Prelude.Int+deleteLaunchProfileResponse_httpStatus = Lens.lens (\DeleteLaunchProfileResponse' {httpStatus} -> httpStatus) (\s@DeleteLaunchProfileResponse' {} a -> s {httpStatus = a} :: DeleteLaunchProfileResponse)++instance Prelude.NFData DeleteLaunchProfileResponse where+ rnf DeleteLaunchProfileResponse' {..} =+ Prelude.rnf launchProfile+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/DeleteLaunchProfileMember.hs view
@@ -0,0 +1,213 @@+{-# 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.Nimble.DeleteLaunchProfileMember+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete a user from launch profile membership.+module Amazonka.Nimble.DeleteLaunchProfileMember+ ( -- * Creating a Request+ DeleteLaunchProfileMember (..),+ newDeleteLaunchProfileMember,++ -- * Request Lenses+ deleteLaunchProfileMember_clientToken,+ deleteLaunchProfileMember_launchProfileId,+ deleteLaunchProfileMember_principalId,+ deleteLaunchProfileMember_studioId,++ -- * Destructuring the Response+ DeleteLaunchProfileMemberResponse (..),+ newDeleteLaunchProfileMemberResponse,++ -- * Response Lenses+ deleteLaunchProfileMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteLaunchProfileMember' smart constructor.+data DeleteLaunchProfileMember = DeleteLaunchProfileMember'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Text,+ -- | The principal ID. This currently supports a IAM Identity Center UserId.+ principalId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLaunchProfileMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteLaunchProfileMember_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'launchProfileId', 'deleteLaunchProfileMember_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'principalId', 'deleteLaunchProfileMember_principalId' - The principal ID. This currently supports a IAM Identity Center UserId.+--+-- 'studioId', 'deleteLaunchProfileMember_studioId' - The studio ID.+newDeleteLaunchProfileMember ::+ -- | 'launchProfileId'+ Prelude.Text ->+ -- | 'principalId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ DeleteLaunchProfileMember+newDeleteLaunchProfileMember+ pLaunchProfileId_+ pPrincipalId_+ pStudioId_ =+ DeleteLaunchProfileMember'+ { clientToken =+ Prelude.Nothing,+ launchProfileId = pLaunchProfileId_,+ principalId = pPrincipalId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+deleteLaunchProfileMember_clientToken :: Lens.Lens' DeleteLaunchProfileMember (Prelude.Maybe Prelude.Text)+deleteLaunchProfileMember_clientToken = Lens.lens (\DeleteLaunchProfileMember' {clientToken} -> clientToken) (\s@DeleteLaunchProfileMember' {} a -> s {clientToken = a} :: DeleteLaunchProfileMember)++-- | The ID of the launch profile used to control access from the streaming+-- session.+deleteLaunchProfileMember_launchProfileId :: Lens.Lens' DeleteLaunchProfileMember Prelude.Text+deleteLaunchProfileMember_launchProfileId = Lens.lens (\DeleteLaunchProfileMember' {launchProfileId} -> launchProfileId) (\s@DeleteLaunchProfileMember' {} a -> s {launchProfileId = a} :: DeleteLaunchProfileMember)++-- | The principal ID. This currently supports a IAM Identity Center UserId.+deleteLaunchProfileMember_principalId :: Lens.Lens' DeleteLaunchProfileMember Prelude.Text+deleteLaunchProfileMember_principalId = Lens.lens (\DeleteLaunchProfileMember' {principalId} -> principalId) (\s@DeleteLaunchProfileMember' {} a -> s {principalId = a} :: DeleteLaunchProfileMember)++-- | The studio ID.+deleteLaunchProfileMember_studioId :: Lens.Lens' DeleteLaunchProfileMember Prelude.Text+deleteLaunchProfileMember_studioId = Lens.lens (\DeleteLaunchProfileMember' {studioId} -> studioId) (\s@DeleteLaunchProfileMember' {} a -> s {studioId = a} :: DeleteLaunchProfileMember)++instance Core.AWSRequest DeleteLaunchProfileMember where+ type+ AWSResponse DeleteLaunchProfileMember =+ DeleteLaunchProfileMemberResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteLaunchProfileMemberResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteLaunchProfileMember where+ hashWithSalt _salt DeleteLaunchProfileMember' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` principalId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData DeleteLaunchProfileMember where+ rnf DeleteLaunchProfileMember' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf principalId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders DeleteLaunchProfileMember where+ toHeaders DeleteLaunchProfileMember' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToPath DeleteLaunchProfileMember where+ toPath DeleteLaunchProfileMember' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/launch-profiles/",+ Data.toBS launchProfileId,+ "/membership/",+ Data.toBS principalId+ ]++instance Data.ToQuery DeleteLaunchProfileMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteLaunchProfileMemberResponse' smart constructor.+data DeleteLaunchProfileMemberResponse = DeleteLaunchProfileMemberResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLaunchProfileMemberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteLaunchProfileMemberResponse_httpStatus' - The response's http status code.+newDeleteLaunchProfileMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteLaunchProfileMemberResponse+newDeleteLaunchProfileMemberResponse pHttpStatus_ =+ DeleteLaunchProfileMemberResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteLaunchProfileMemberResponse_httpStatus :: Lens.Lens' DeleteLaunchProfileMemberResponse Prelude.Int+deleteLaunchProfileMemberResponse_httpStatus = Lens.lens (\DeleteLaunchProfileMemberResponse' {httpStatus} -> httpStatus) (\s@DeleteLaunchProfileMemberResponse' {} a -> s {httpStatus = a} :: DeleteLaunchProfileMemberResponse)++instance+ Prelude.NFData+ DeleteLaunchProfileMemberResponse+ where+ rnf DeleteLaunchProfileMemberResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/DeleteStreamingImage.hs view
@@ -0,0 +1,200 @@+{-# 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.Nimble.DeleteStreamingImage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete streaming image.+module Amazonka.Nimble.DeleteStreamingImage+ ( -- * Creating a Request+ DeleteStreamingImage (..),+ newDeleteStreamingImage,++ -- * Request Lenses+ deleteStreamingImage_clientToken,+ deleteStreamingImage_streamingImageId,+ deleteStreamingImage_studioId,++ -- * Destructuring the Response+ DeleteStreamingImageResponse (..),+ newDeleteStreamingImageResponse,++ -- * Response Lenses+ deleteStreamingImageResponse_streamingImage,+ deleteStreamingImageResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteStreamingImage' smart constructor.+data DeleteStreamingImage = DeleteStreamingImage'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The streaming image ID.+ streamingImageId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStreamingImage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteStreamingImage_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'streamingImageId', 'deleteStreamingImage_streamingImageId' - The streaming image ID.+--+-- 'studioId', 'deleteStreamingImage_studioId' - The studio ID.+newDeleteStreamingImage ::+ -- | 'streamingImageId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ DeleteStreamingImage+newDeleteStreamingImage pStreamingImageId_ pStudioId_ =+ DeleteStreamingImage'+ { clientToken =+ Prelude.Nothing,+ streamingImageId = pStreamingImageId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+deleteStreamingImage_clientToken :: Lens.Lens' DeleteStreamingImage (Prelude.Maybe Prelude.Text)+deleteStreamingImage_clientToken = Lens.lens (\DeleteStreamingImage' {clientToken} -> clientToken) (\s@DeleteStreamingImage' {} a -> s {clientToken = a} :: DeleteStreamingImage)++-- | The streaming image ID.+deleteStreamingImage_streamingImageId :: Lens.Lens' DeleteStreamingImage Prelude.Text+deleteStreamingImage_streamingImageId = Lens.lens (\DeleteStreamingImage' {streamingImageId} -> streamingImageId) (\s@DeleteStreamingImage' {} a -> s {streamingImageId = a} :: DeleteStreamingImage)++-- | The studio ID.+deleteStreamingImage_studioId :: Lens.Lens' DeleteStreamingImage Prelude.Text+deleteStreamingImage_studioId = Lens.lens (\DeleteStreamingImage' {studioId} -> studioId) (\s@DeleteStreamingImage' {} a -> s {studioId = a} :: DeleteStreamingImage)++instance Core.AWSRequest DeleteStreamingImage where+ type+ AWSResponse DeleteStreamingImage =+ DeleteStreamingImageResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteStreamingImageResponse'+ Prelude.<$> (x Data..?> "streamingImage")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteStreamingImage where+ hashWithSalt _salt DeleteStreamingImage' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` streamingImageId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData DeleteStreamingImage where+ rnf DeleteStreamingImage' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf streamingImageId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders DeleteStreamingImage where+ toHeaders DeleteStreamingImage' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToPath DeleteStreamingImage where+ toPath DeleteStreamingImage' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-images/",+ Data.toBS streamingImageId+ ]++instance Data.ToQuery DeleteStreamingImage where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteStreamingImageResponse' smart constructor.+data DeleteStreamingImageResponse = DeleteStreamingImageResponse'+ { -- | The streaming image.+ streamingImage :: Prelude.Maybe StreamingImage,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStreamingImageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'streamingImage', 'deleteStreamingImageResponse_streamingImage' - The streaming image.+--+-- 'httpStatus', 'deleteStreamingImageResponse_httpStatus' - The response's http status code.+newDeleteStreamingImageResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteStreamingImageResponse+newDeleteStreamingImageResponse pHttpStatus_ =+ DeleteStreamingImageResponse'+ { streamingImage =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The streaming image.+deleteStreamingImageResponse_streamingImage :: Lens.Lens' DeleteStreamingImageResponse (Prelude.Maybe StreamingImage)+deleteStreamingImageResponse_streamingImage = Lens.lens (\DeleteStreamingImageResponse' {streamingImage} -> streamingImage) (\s@DeleteStreamingImageResponse' {} a -> s {streamingImage = a} :: DeleteStreamingImageResponse)++-- | The response's http status code.+deleteStreamingImageResponse_httpStatus :: Lens.Lens' DeleteStreamingImageResponse Prelude.Int+deleteStreamingImageResponse_httpStatus = Lens.lens (\DeleteStreamingImageResponse' {httpStatus} -> httpStatus) (\s@DeleteStreamingImageResponse' {} a -> s {httpStatus = a} :: DeleteStreamingImageResponse)++instance Prelude.NFData DeleteStreamingImageResponse where+ rnf DeleteStreamingImageResponse' {..} =+ Prelude.rnf streamingImage+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/DeleteStreamingSession.hs view
@@ -0,0 +1,209 @@+{-# 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.Nimble.DeleteStreamingSession+-- 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 streaming session resource.+--+-- After invoking this operation, use GetStreamingSession to poll the+-- resource until it transitions to a @DELETED@ state.+--+-- A streaming session will count against your streaming session quota+-- until it is marked @DELETED@.+module Amazonka.Nimble.DeleteStreamingSession+ ( -- * Creating a Request+ DeleteStreamingSession (..),+ newDeleteStreamingSession,++ -- * Request Lenses+ deleteStreamingSession_clientToken,+ deleteStreamingSession_sessionId,+ deleteStreamingSession_studioId,++ -- * Destructuring the Response+ DeleteStreamingSessionResponse (..),+ newDeleteStreamingSessionResponse,++ -- * Response Lenses+ deleteStreamingSessionResponse_session,+ deleteStreamingSessionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteStreamingSession' smart constructor.+data DeleteStreamingSession = DeleteStreamingSession'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The streaming session ID.+ sessionId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStreamingSession' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteStreamingSession_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'sessionId', 'deleteStreamingSession_sessionId' - The streaming session ID.+--+-- 'studioId', 'deleteStreamingSession_studioId' - The studio ID.+newDeleteStreamingSession ::+ -- | 'sessionId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ DeleteStreamingSession+newDeleteStreamingSession pSessionId_ pStudioId_ =+ DeleteStreamingSession'+ { clientToken =+ Prelude.Nothing,+ sessionId = pSessionId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+deleteStreamingSession_clientToken :: Lens.Lens' DeleteStreamingSession (Prelude.Maybe Prelude.Text)+deleteStreamingSession_clientToken = Lens.lens (\DeleteStreamingSession' {clientToken} -> clientToken) (\s@DeleteStreamingSession' {} a -> s {clientToken = a} :: DeleteStreamingSession)++-- | The streaming session ID.+deleteStreamingSession_sessionId :: Lens.Lens' DeleteStreamingSession Prelude.Text+deleteStreamingSession_sessionId = Lens.lens (\DeleteStreamingSession' {sessionId} -> sessionId) (\s@DeleteStreamingSession' {} a -> s {sessionId = a} :: DeleteStreamingSession)++-- | The studio ID.+deleteStreamingSession_studioId :: Lens.Lens' DeleteStreamingSession Prelude.Text+deleteStreamingSession_studioId = Lens.lens (\DeleteStreamingSession' {studioId} -> studioId) (\s@DeleteStreamingSession' {} a -> s {studioId = a} :: DeleteStreamingSession)++instance Core.AWSRequest DeleteStreamingSession where+ type+ AWSResponse DeleteStreamingSession =+ DeleteStreamingSessionResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteStreamingSessionResponse'+ Prelude.<$> (x Data..?> "session")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteStreamingSession where+ hashWithSalt _salt DeleteStreamingSession' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` sessionId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData DeleteStreamingSession where+ rnf DeleteStreamingSession' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf sessionId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders DeleteStreamingSession where+ toHeaders DeleteStreamingSession' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToPath DeleteStreamingSession where+ toPath DeleteStreamingSession' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-sessions/",+ Data.toBS sessionId+ ]++instance Data.ToQuery DeleteStreamingSession where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteStreamingSessionResponse' smart constructor.+data DeleteStreamingSessionResponse = DeleteStreamingSessionResponse'+ { -- | The session.+ session :: Prelude.Maybe StreamingSession,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStreamingSessionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'session', 'deleteStreamingSessionResponse_session' - The session.+--+-- 'httpStatus', 'deleteStreamingSessionResponse_httpStatus' - The response's http status code.+newDeleteStreamingSessionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteStreamingSessionResponse+newDeleteStreamingSessionResponse pHttpStatus_ =+ DeleteStreamingSessionResponse'+ { session =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The session.+deleteStreamingSessionResponse_session :: Lens.Lens' DeleteStreamingSessionResponse (Prelude.Maybe StreamingSession)+deleteStreamingSessionResponse_session = Lens.lens (\DeleteStreamingSessionResponse' {session} -> session) (\s@DeleteStreamingSessionResponse' {} a -> s {session = a} :: DeleteStreamingSessionResponse)++-- | The response's http status code.+deleteStreamingSessionResponse_httpStatus :: Lens.Lens' DeleteStreamingSessionResponse Prelude.Int+deleteStreamingSessionResponse_httpStatus = Lens.lens (\DeleteStreamingSessionResponse' {httpStatus} -> httpStatus) (\s@DeleteStreamingSessionResponse' {} a -> s {httpStatus = a} :: DeleteStreamingSessionResponse)++instance+ Prelude.NFData+ DeleteStreamingSessionResponse+ where+ rnf DeleteStreamingSessionResponse' {..} =+ Prelude.rnf session+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/DeleteStudio.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.DeleteStudio+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete a studio resource.+module Amazonka.Nimble.DeleteStudio+ ( -- * Creating a Request+ DeleteStudio (..),+ newDeleteStudio,++ -- * Request Lenses+ deleteStudio_clientToken,+ deleteStudio_studioId,++ -- * Destructuring the Response+ DeleteStudioResponse (..),+ newDeleteStudioResponse,++ -- * Response Lenses+ deleteStudioResponse_httpStatus,+ deleteStudioResponse_studio,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteStudio' smart constructor.+data DeleteStudio = DeleteStudio'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStudio' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteStudio_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'studioId', 'deleteStudio_studioId' - The studio ID.+newDeleteStudio ::+ -- | 'studioId'+ Prelude.Text ->+ DeleteStudio+newDeleteStudio pStudioId_ =+ DeleteStudio'+ { clientToken = Prelude.Nothing,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+deleteStudio_clientToken :: Lens.Lens' DeleteStudio (Prelude.Maybe Prelude.Text)+deleteStudio_clientToken = Lens.lens (\DeleteStudio' {clientToken} -> clientToken) (\s@DeleteStudio' {} a -> s {clientToken = a} :: DeleteStudio)++-- | The studio ID.+deleteStudio_studioId :: Lens.Lens' DeleteStudio Prelude.Text+deleteStudio_studioId = Lens.lens (\DeleteStudio' {studioId} -> studioId) (\s@DeleteStudio' {} a -> s {studioId = a} :: DeleteStudio)++instance Core.AWSRequest DeleteStudio where+ type AWSResponse DeleteStudio = DeleteStudioResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteStudioResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "studio")+ )++instance Prelude.Hashable DeleteStudio where+ hashWithSalt _salt DeleteStudio' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData DeleteStudio where+ rnf DeleteStudio' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders DeleteStudio where+ toHeaders DeleteStudio' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToPath DeleteStudio where+ toPath DeleteStudio' {..} =+ Prelude.mconcat+ ["/2020-08-01/studios/", Data.toBS studioId]++instance Data.ToQuery DeleteStudio where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteStudioResponse' smart constructor.+data DeleteStudioResponse = DeleteStudioResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Information about a studio.+ studio :: Studio+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStudioResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteStudioResponse_httpStatus' - The response's http status code.+--+-- 'studio', 'deleteStudioResponse_studio' - Information about a studio.+newDeleteStudioResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'studio'+ Studio ->+ DeleteStudioResponse+newDeleteStudioResponse pHttpStatus_ pStudio_ =+ DeleteStudioResponse'+ { httpStatus = pHttpStatus_,+ studio = pStudio_+ }++-- | The response's http status code.+deleteStudioResponse_httpStatus :: Lens.Lens' DeleteStudioResponse Prelude.Int+deleteStudioResponse_httpStatus = Lens.lens (\DeleteStudioResponse' {httpStatus} -> httpStatus) (\s@DeleteStudioResponse' {} a -> s {httpStatus = a} :: DeleteStudioResponse)++-- | Information about a studio.+deleteStudioResponse_studio :: Lens.Lens' DeleteStudioResponse Studio+deleteStudioResponse_studio = Lens.lens (\DeleteStudioResponse' {studio} -> studio) (\s@DeleteStudioResponse' {} a -> s {studio = a} :: DeleteStudioResponse)++instance Prelude.NFData DeleteStudioResponse where+ rnf DeleteStudioResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf studio
+ gen/Amazonka/Nimble/DeleteStudioComponent.hs view
@@ -0,0 +1,202 @@+{-# 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.Nimble.DeleteStudioComponent+-- 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 studio component resource.+module Amazonka.Nimble.DeleteStudioComponent+ ( -- * Creating a Request+ DeleteStudioComponent (..),+ newDeleteStudioComponent,++ -- * Request Lenses+ deleteStudioComponent_clientToken,+ deleteStudioComponent_studioComponentId,+ deleteStudioComponent_studioId,++ -- * Destructuring the Response+ DeleteStudioComponentResponse (..),+ newDeleteStudioComponentResponse,++ -- * Response Lenses+ deleteStudioComponentResponse_studioComponent,+ deleteStudioComponentResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteStudioComponent' smart constructor.+data DeleteStudioComponent = DeleteStudioComponent'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The studio component ID.+ studioComponentId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStudioComponent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteStudioComponent_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'studioComponentId', 'deleteStudioComponent_studioComponentId' - The studio component ID.+--+-- 'studioId', 'deleteStudioComponent_studioId' - The studio ID.+newDeleteStudioComponent ::+ -- | 'studioComponentId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ DeleteStudioComponent+newDeleteStudioComponent+ pStudioComponentId_+ pStudioId_ =+ DeleteStudioComponent'+ { clientToken =+ Prelude.Nothing,+ studioComponentId = pStudioComponentId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+deleteStudioComponent_clientToken :: Lens.Lens' DeleteStudioComponent (Prelude.Maybe Prelude.Text)+deleteStudioComponent_clientToken = Lens.lens (\DeleteStudioComponent' {clientToken} -> clientToken) (\s@DeleteStudioComponent' {} a -> s {clientToken = a} :: DeleteStudioComponent)++-- | The studio component ID.+deleteStudioComponent_studioComponentId :: Lens.Lens' DeleteStudioComponent Prelude.Text+deleteStudioComponent_studioComponentId = Lens.lens (\DeleteStudioComponent' {studioComponentId} -> studioComponentId) (\s@DeleteStudioComponent' {} a -> s {studioComponentId = a} :: DeleteStudioComponent)++-- | The studio ID.+deleteStudioComponent_studioId :: Lens.Lens' DeleteStudioComponent Prelude.Text+deleteStudioComponent_studioId = Lens.lens (\DeleteStudioComponent' {studioId} -> studioId) (\s@DeleteStudioComponent' {} a -> s {studioId = a} :: DeleteStudioComponent)++instance Core.AWSRequest DeleteStudioComponent where+ type+ AWSResponse DeleteStudioComponent =+ DeleteStudioComponentResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteStudioComponentResponse'+ Prelude.<$> (x Data..?> "studioComponent")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteStudioComponent where+ hashWithSalt _salt DeleteStudioComponent' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` studioComponentId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData DeleteStudioComponent where+ rnf DeleteStudioComponent' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf studioComponentId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders DeleteStudioComponent where+ toHeaders DeleteStudioComponent' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToPath DeleteStudioComponent where+ toPath DeleteStudioComponent' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/studio-components/",+ Data.toBS studioComponentId+ ]++instance Data.ToQuery DeleteStudioComponent where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteStudioComponentResponse' smart constructor.+data DeleteStudioComponentResponse = DeleteStudioComponentResponse'+ { -- | Information about the studio component.+ studioComponent :: Prelude.Maybe StudioComponent,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStudioComponentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'studioComponent', 'deleteStudioComponentResponse_studioComponent' - Information about the studio component.+--+-- 'httpStatus', 'deleteStudioComponentResponse_httpStatus' - The response's http status code.+newDeleteStudioComponentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteStudioComponentResponse+newDeleteStudioComponentResponse pHttpStatus_ =+ DeleteStudioComponentResponse'+ { studioComponent =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the studio component.+deleteStudioComponentResponse_studioComponent :: Lens.Lens' DeleteStudioComponentResponse (Prelude.Maybe StudioComponent)+deleteStudioComponentResponse_studioComponent = Lens.lens (\DeleteStudioComponentResponse' {studioComponent} -> studioComponent) (\s@DeleteStudioComponentResponse' {} a -> s {studioComponent = a} :: DeleteStudioComponentResponse)++-- | The response's http status code.+deleteStudioComponentResponse_httpStatus :: Lens.Lens' DeleteStudioComponentResponse Prelude.Int+deleteStudioComponentResponse_httpStatus = Lens.lens (\DeleteStudioComponentResponse' {httpStatus} -> httpStatus) (\s@DeleteStudioComponentResponse' {} a -> s {httpStatus = a} :: DeleteStudioComponentResponse)++instance Prelude.NFData DeleteStudioComponentResponse where+ rnf DeleteStudioComponentResponse' {..} =+ Prelude.rnf studioComponent+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/DeleteStudioMember.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.DeleteStudioMember+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete a user from studio membership.+module Amazonka.Nimble.DeleteStudioMember+ ( -- * Creating a Request+ DeleteStudioMember (..),+ newDeleteStudioMember,++ -- * Request Lenses+ deleteStudioMember_clientToken,+ deleteStudioMember_principalId,+ deleteStudioMember_studioId,++ -- * Destructuring the Response+ DeleteStudioMemberResponse (..),+ newDeleteStudioMemberResponse,++ -- * Response Lenses+ deleteStudioMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteStudioMember' smart constructor.+data DeleteStudioMember = DeleteStudioMember'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The principal ID. This currently supports a IAM Identity Center UserId.+ principalId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStudioMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteStudioMember_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'principalId', 'deleteStudioMember_principalId' - The principal ID. This currently supports a IAM Identity Center UserId.+--+-- 'studioId', 'deleteStudioMember_studioId' - The studio ID.+newDeleteStudioMember ::+ -- | 'principalId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ DeleteStudioMember+newDeleteStudioMember pPrincipalId_ pStudioId_ =+ DeleteStudioMember'+ { clientToken = Prelude.Nothing,+ principalId = pPrincipalId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+deleteStudioMember_clientToken :: Lens.Lens' DeleteStudioMember (Prelude.Maybe Prelude.Text)+deleteStudioMember_clientToken = Lens.lens (\DeleteStudioMember' {clientToken} -> clientToken) (\s@DeleteStudioMember' {} a -> s {clientToken = a} :: DeleteStudioMember)++-- | The principal ID. This currently supports a IAM Identity Center UserId.+deleteStudioMember_principalId :: Lens.Lens' DeleteStudioMember Prelude.Text+deleteStudioMember_principalId = Lens.lens (\DeleteStudioMember' {principalId} -> principalId) (\s@DeleteStudioMember' {} a -> s {principalId = a} :: DeleteStudioMember)++-- | The studio ID.+deleteStudioMember_studioId :: Lens.Lens' DeleteStudioMember Prelude.Text+deleteStudioMember_studioId = Lens.lens (\DeleteStudioMember' {studioId} -> studioId) (\s@DeleteStudioMember' {} a -> s {studioId = a} :: DeleteStudioMember)++instance Core.AWSRequest DeleteStudioMember where+ type+ AWSResponse DeleteStudioMember =+ DeleteStudioMemberResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteStudioMemberResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteStudioMember where+ hashWithSalt _salt DeleteStudioMember' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` principalId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData DeleteStudioMember where+ rnf DeleteStudioMember' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf principalId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders DeleteStudioMember where+ toHeaders DeleteStudioMember' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToPath DeleteStudioMember where+ toPath DeleteStudioMember' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/membership/",+ Data.toBS principalId+ ]++instance Data.ToQuery DeleteStudioMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteStudioMemberResponse' smart constructor.+data DeleteStudioMemberResponse = DeleteStudioMemberResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStudioMemberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteStudioMemberResponse_httpStatus' - The response's http status code.+newDeleteStudioMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteStudioMemberResponse+newDeleteStudioMemberResponse pHttpStatus_ =+ DeleteStudioMemberResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteStudioMemberResponse_httpStatus :: Lens.Lens' DeleteStudioMemberResponse Prelude.Int+deleteStudioMemberResponse_httpStatus = Lens.lens (\DeleteStudioMemberResponse' {httpStatus} -> httpStatus) (\s@DeleteStudioMemberResponse' {} a -> s {httpStatus = a} :: DeleteStudioMemberResponse)++instance Prelude.NFData DeleteStudioMemberResponse where+ rnf DeleteStudioMemberResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/GetEula.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.GetEula+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get EULA.+module Amazonka.Nimble.GetEula+ ( -- * Creating a Request+ GetEula (..),+ newGetEula,++ -- * Request Lenses+ getEula_eulaId,++ -- * Destructuring the Response+ GetEulaResponse (..),+ newGetEulaResponse,++ -- * Response Lenses+ getEulaResponse_eula,+ getEulaResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetEula' smart constructor.+data GetEula = GetEula'+ { -- | The EULA ID.+ eulaId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEula' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eulaId', 'getEula_eulaId' - The EULA ID.+newGetEula ::+ -- | 'eulaId'+ Prelude.Text ->+ GetEula+newGetEula pEulaId_ = GetEula' {eulaId = pEulaId_}++-- | The EULA ID.+getEula_eulaId :: Lens.Lens' GetEula Prelude.Text+getEula_eulaId = Lens.lens (\GetEula' {eulaId} -> eulaId) (\s@GetEula' {} a -> s {eulaId = a} :: GetEula)++instance Core.AWSRequest GetEula where+ type AWSResponse GetEula = GetEulaResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetEulaResponse'+ Prelude.<$> (x Data..?> "eula")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetEula where+ hashWithSalt _salt GetEula' {..} =+ _salt `Prelude.hashWithSalt` eulaId++instance Prelude.NFData GetEula where+ rnf GetEula' {..} = Prelude.rnf eulaId++instance Data.ToHeaders GetEula where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetEula where+ toPath GetEula' {..} =+ Prelude.mconcat+ ["/2020-08-01/eulas/", Data.toBS eulaId]++instance Data.ToQuery GetEula where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetEulaResponse' smart constructor.+data GetEulaResponse = GetEulaResponse'+ { -- | The EULA.+ eula :: Prelude.Maybe Eula,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEulaResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eula', 'getEulaResponse_eula' - The EULA.+--+-- 'httpStatus', 'getEulaResponse_httpStatus' - The response's http status code.+newGetEulaResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetEulaResponse+newGetEulaResponse pHttpStatus_ =+ GetEulaResponse'+ { eula = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The EULA.+getEulaResponse_eula :: Lens.Lens' GetEulaResponse (Prelude.Maybe Eula)+getEulaResponse_eula = Lens.lens (\GetEulaResponse' {eula} -> eula) (\s@GetEulaResponse' {} a -> s {eula = a} :: GetEulaResponse)++-- | The response's http status code.+getEulaResponse_httpStatus :: Lens.Lens' GetEulaResponse Prelude.Int+getEulaResponse_httpStatus = Lens.lens (\GetEulaResponse' {httpStatus} -> httpStatus) (\s@GetEulaResponse' {} a -> s {httpStatus = a} :: GetEulaResponse)++instance Prelude.NFData GetEulaResponse where+ rnf GetEulaResponse' {..} =+ Prelude.rnf eula+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/GetLaunchProfile.hs view
@@ -0,0 +1,185 @@+{-# 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.Nimble.GetLaunchProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a launch profile.+module Amazonka.Nimble.GetLaunchProfile+ ( -- * Creating a Request+ GetLaunchProfile (..),+ newGetLaunchProfile,++ -- * Request Lenses+ getLaunchProfile_launchProfileId,+ getLaunchProfile_studioId,++ -- * Destructuring the Response+ GetLaunchProfileResponse (..),+ newGetLaunchProfileResponse,++ -- * Response Lenses+ getLaunchProfileResponse_launchProfile,+ getLaunchProfileResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLaunchProfile' smart constructor.+data GetLaunchProfile = GetLaunchProfile'+ { -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLaunchProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchProfileId', 'getLaunchProfile_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'studioId', 'getLaunchProfile_studioId' - The studio ID.+newGetLaunchProfile ::+ -- | 'launchProfileId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ GetLaunchProfile+newGetLaunchProfile pLaunchProfileId_ pStudioId_ =+ GetLaunchProfile'+ { launchProfileId =+ pLaunchProfileId_,+ studioId = pStudioId_+ }++-- | The ID of the launch profile used to control access from the streaming+-- session.+getLaunchProfile_launchProfileId :: Lens.Lens' GetLaunchProfile Prelude.Text+getLaunchProfile_launchProfileId = Lens.lens (\GetLaunchProfile' {launchProfileId} -> launchProfileId) (\s@GetLaunchProfile' {} a -> s {launchProfileId = a} :: GetLaunchProfile)++-- | The studio ID.+getLaunchProfile_studioId :: Lens.Lens' GetLaunchProfile Prelude.Text+getLaunchProfile_studioId = Lens.lens (\GetLaunchProfile' {studioId} -> studioId) (\s@GetLaunchProfile' {} a -> s {studioId = a} :: GetLaunchProfile)++instance Core.AWSRequest GetLaunchProfile where+ type+ AWSResponse GetLaunchProfile =+ GetLaunchProfileResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetLaunchProfileResponse'+ Prelude.<$> (x Data..?> "launchProfile")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetLaunchProfile where+ hashWithSalt _salt GetLaunchProfile' {..} =+ _salt+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData GetLaunchProfile where+ rnf GetLaunchProfile' {..} =+ Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders GetLaunchProfile where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetLaunchProfile where+ toPath GetLaunchProfile' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/launch-profiles/",+ Data.toBS launchProfileId+ ]++instance Data.ToQuery GetLaunchProfile where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetLaunchProfileResponse' smart constructor.+data GetLaunchProfileResponse = GetLaunchProfileResponse'+ { -- | The launch profile.+ launchProfile :: Prelude.Maybe LaunchProfile,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLaunchProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchProfile', 'getLaunchProfileResponse_launchProfile' - The launch profile.+--+-- 'httpStatus', 'getLaunchProfileResponse_httpStatus' - The response's http status code.+newGetLaunchProfileResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetLaunchProfileResponse+newGetLaunchProfileResponse pHttpStatus_ =+ GetLaunchProfileResponse'+ { launchProfile =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The launch profile.+getLaunchProfileResponse_launchProfile :: Lens.Lens' GetLaunchProfileResponse (Prelude.Maybe LaunchProfile)+getLaunchProfileResponse_launchProfile = Lens.lens (\GetLaunchProfileResponse' {launchProfile} -> launchProfile) (\s@GetLaunchProfileResponse' {} a -> s {launchProfile = a} :: GetLaunchProfileResponse)++-- | The response's http status code.+getLaunchProfileResponse_httpStatus :: Lens.Lens' GetLaunchProfileResponse Prelude.Int+getLaunchProfileResponse_httpStatus = Lens.lens (\GetLaunchProfileResponse' {httpStatus} -> httpStatus) (\s@GetLaunchProfileResponse' {} a -> s {httpStatus = a} :: GetLaunchProfileResponse)++instance Prelude.NFData GetLaunchProfileResponse where+ rnf GetLaunchProfileResponse' {..} =+ Prelude.rnf launchProfile+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/GetLaunchProfileDetails.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.GetLaunchProfileDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Launch profile details include the launch profile resource and summary+-- information of resources that are used by, or available to, the launch+-- profile. This includes the name and description of all studio components+-- used by the launch profiles, and the name and description of streaming+-- images that can be used with this launch profile.+module Amazonka.Nimble.GetLaunchProfileDetails+ ( -- * Creating a Request+ GetLaunchProfileDetails (..),+ newGetLaunchProfileDetails,++ -- * Request Lenses+ getLaunchProfileDetails_launchProfileId,+ getLaunchProfileDetails_studioId,++ -- * Destructuring the Response+ GetLaunchProfileDetailsResponse (..),+ newGetLaunchProfileDetailsResponse,++ -- * Response Lenses+ getLaunchProfileDetailsResponse_launchProfile,+ getLaunchProfileDetailsResponse_streamingImages,+ getLaunchProfileDetailsResponse_studioComponentSummaries,+ getLaunchProfileDetailsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLaunchProfileDetails' smart constructor.+data GetLaunchProfileDetails = GetLaunchProfileDetails'+ { -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLaunchProfileDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchProfileId', 'getLaunchProfileDetails_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'studioId', 'getLaunchProfileDetails_studioId' - The studio ID.+newGetLaunchProfileDetails ::+ -- | 'launchProfileId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ GetLaunchProfileDetails+newGetLaunchProfileDetails+ pLaunchProfileId_+ pStudioId_ =+ GetLaunchProfileDetails'+ { launchProfileId =+ pLaunchProfileId_,+ studioId = pStudioId_+ }++-- | The ID of the launch profile used to control access from the streaming+-- session.+getLaunchProfileDetails_launchProfileId :: Lens.Lens' GetLaunchProfileDetails Prelude.Text+getLaunchProfileDetails_launchProfileId = Lens.lens (\GetLaunchProfileDetails' {launchProfileId} -> launchProfileId) (\s@GetLaunchProfileDetails' {} a -> s {launchProfileId = a} :: GetLaunchProfileDetails)++-- | The studio ID.+getLaunchProfileDetails_studioId :: Lens.Lens' GetLaunchProfileDetails Prelude.Text+getLaunchProfileDetails_studioId = Lens.lens (\GetLaunchProfileDetails' {studioId} -> studioId) (\s@GetLaunchProfileDetails' {} a -> s {studioId = a} :: GetLaunchProfileDetails)++instance Core.AWSRequest GetLaunchProfileDetails where+ type+ AWSResponse GetLaunchProfileDetails =+ GetLaunchProfileDetailsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetLaunchProfileDetailsResponse'+ Prelude.<$> (x Data..?> "launchProfile")+ Prelude.<*> ( x+ Data..?> "streamingImages"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> ( x+ Data..?> "studioComponentSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetLaunchProfileDetails where+ hashWithSalt _salt GetLaunchProfileDetails' {..} =+ _salt+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData GetLaunchProfileDetails where+ rnf GetLaunchProfileDetails' {..} =+ Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders GetLaunchProfileDetails where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetLaunchProfileDetails where+ toPath GetLaunchProfileDetails' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/launch-profiles/",+ Data.toBS launchProfileId,+ "/details"+ ]++instance Data.ToQuery GetLaunchProfileDetails where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetLaunchProfileDetailsResponse' smart constructor.+data GetLaunchProfileDetailsResponse = GetLaunchProfileDetailsResponse'+ { -- | The launch profile.+ launchProfile :: Prelude.Maybe LaunchProfile,+ -- | A collection of streaming images.+ streamingImages :: Prelude.Maybe [StreamingImage],+ -- | A collection of studio component summaries.+ studioComponentSummaries :: Prelude.Maybe [StudioComponentSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLaunchProfileDetailsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchProfile', 'getLaunchProfileDetailsResponse_launchProfile' - The launch profile.+--+-- 'streamingImages', 'getLaunchProfileDetailsResponse_streamingImages' - A collection of streaming images.+--+-- 'studioComponentSummaries', 'getLaunchProfileDetailsResponse_studioComponentSummaries' - A collection of studio component summaries.+--+-- 'httpStatus', 'getLaunchProfileDetailsResponse_httpStatus' - The response's http status code.+newGetLaunchProfileDetailsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetLaunchProfileDetailsResponse+newGetLaunchProfileDetailsResponse pHttpStatus_ =+ GetLaunchProfileDetailsResponse'+ { launchProfile =+ Prelude.Nothing,+ streamingImages = Prelude.Nothing,+ studioComponentSummaries = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The launch profile.+getLaunchProfileDetailsResponse_launchProfile :: Lens.Lens' GetLaunchProfileDetailsResponse (Prelude.Maybe LaunchProfile)+getLaunchProfileDetailsResponse_launchProfile = Lens.lens (\GetLaunchProfileDetailsResponse' {launchProfile} -> launchProfile) (\s@GetLaunchProfileDetailsResponse' {} a -> s {launchProfile = a} :: GetLaunchProfileDetailsResponse)++-- | A collection of streaming images.+getLaunchProfileDetailsResponse_streamingImages :: Lens.Lens' GetLaunchProfileDetailsResponse (Prelude.Maybe [StreamingImage])+getLaunchProfileDetailsResponse_streamingImages = Lens.lens (\GetLaunchProfileDetailsResponse' {streamingImages} -> streamingImages) (\s@GetLaunchProfileDetailsResponse' {} a -> s {streamingImages = a} :: GetLaunchProfileDetailsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A collection of studio component summaries.+getLaunchProfileDetailsResponse_studioComponentSummaries :: Lens.Lens' GetLaunchProfileDetailsResponse (Prelude.Maybe [StudioComponentSummary])+getLaunchProfileDetailsResponse_studioComponentSummaries = Lens.lens (\GetLaunchProfileDetailsResponse' {studioComponentSummaries} -> studioComponentSummaries) (\s@GetLaunchProfileDetailsResponse' {} a -> s {studioComponentSummaries = a} :: GetLaunchProfileDetailsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getLaunchProfileDetailsResponse_httpStatus :: Lens.Lens' GetLaunchProfileDetailsResponse Prelude.Int+getLaunchProfileDetailsResponse_httpStatus = Lens.lens (\GetLaunchProfileDetailsResponse' {httpStatus} -> httpStatus) (\s@GetLaunchProfileDetailsResponse' {} a -> s {httpStatus = a} :: GetLaunchProfileDetailsResponse)++instance+ Prelude.NFData+ GetLaunchProfileDetailsResponse+ where+ rnf GetLaunchProfileDetailsResponse' {..} =+ Prelude.rnf launchProfile+ `Prelude.seq` Prelude.rnf streamingImages+ `Prelude.seq` Prelude.rnf studioComponentSummaries+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/GetLaunchProfileInitialization.hs view
@@ -0,0 +1,260 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.GetLaunchProfileInitialization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a launch profile initialization.+module Amazonka.Nimble.GetLaunchProfileInitialization+ ( -- * Creating a Request+ GetLaunchProfileInitialization (..),+ newGetLaunchProfileInitialization,++ -- * Request Lenses+ getLaunchProfileInitialization_launchProfileId,+ getLaunchProfileInitialization_launchProfileProtocolVersions,+ getLaunchProfileInitialization_launchPurpose,+ getLaunchProfileInitialization_platform,+ getLaunchProfileInitialization_studioId,++ -- * Destructuring the Response+ GetLaunchProfileInitializationResponse (..),+ newGetLaunchProfileInitializationResponse,++ -- * Response Lenses+ getLaunchProfileInitializationResponse_launchProfileInitialization,+ getLaunchProfileInitializationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLaunchProfileInitialization' smart constructor.+data GetLaunchProfileInitialization = GetLaunchProfileInitialization'+ { -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Text,+ -- | The launch profile protocol versions supported by the client.+ launchProfileProtocolVersions :: [Prelude.Text],+ -- | The launch purpose.+ launchPurpose :: Prelude.Text,+ -- | The platform where this Launch Profile will be used, either Windows or+ -- Linux.+ platform :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLaunchProfileInitialization' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchProfileId', 'getLaunchProfileInitialization_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'launchProfileProtocolVersions', 'getLaunchProfileInitialization_launchProfileProtocolVersions' - The launch profile protocol versions supported by the client.+--+-- 'launchPurpose', 'getLaunchProfileInitialization_launchPurpose' - The launch purpose.+--+-- 'platform', 'getLaunchProfileInitialization_platform' - The platform where this Launch Profile will be used, either Windows or+-- Linux.+--+-- 'studioId', 'getLaunchProfileInitialization_studioId' - The studio ID.+newGetLaunchProfileInitialization ::+ -- | 'launchProfileId'+ Prelude.Text ->+ -- | 'launchPurpose'+ Prelude.Text ->+ -- | 'platform'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ GetLaunchProfileInitialization+newGetLaunchProfileInitialization+ pLaunchProfileId_+ pLaunchPurpose_+ pPlatform_+ pStudioId_ =+ GetLaunchProfileInitialization'+ { launchProfileId =+ pLaunchProfileId_,+ launchProfileProtocolVersions =+ Prelude.mempty,+ launchPurpose = pLaunchPurpose_,+ platform = pPlatform_,+ studioId = pStudioId_+ }++-- | The ID of the launch profile used to control access from the streaming+-- session.+getLaunchProfileInitialization_launchProfileId :: Lens.Lens' GetLaunchProfileInitialization Prelude.Text+getLaunchProfileInitialization_launchProfileId = Lens.lens (\GetLaunchProfileInitialization' {launchProfileId} -> launchProfileId) (\s@GetLaunchProfileInitialization' {} a -> s {launchProfileId = a} :: GetLaunchProfileInitialization)++-- | The launch profile protocol versions supported by the client.+getLaunchProfileInitialization_launchProfileProtocolVersions :: Lens.Lens' GetLaunchProfileInitialization [Prelude.Text]+getLaunchProfileInitialization_launchProfileProtocolVersions = Lens.lens (\GetLaunchProfileInitialization' {launchProfileProtocolVersions} -> launchProfileProtocolVersions) (\s@GetLaunchProfileInitialization' {} a -> s {launchProfileProtocolVersions = a} :: GetLaunchProfileInitialization) Prelude.. Lens.coerced++-- | The launch purpose.+getLaunchProfileInitialization_launchPurpose :: Lens.Lens' GetLaunchProfileInitialization Prelude.Text+getLaunchProfileInitialization_launchPurpose = Lens.lens (\GetLaunchProfileInitialization' {launchPurpose} -> launchPurpose) (\s@GetLaunchProfileInitialization' {} a -> s {launchPurpose = a} :: GetLaunchProfileInitialization)++-- | The platform where this Launch Profile will be used, either Windows or+-- Linux.+getLaunchProfileInitialization_platform :: Lens.Lens' GetLaunchProfileInitialization Prelude.Text+getLaunchProfileInitialization_platform = Lens.lens (\GetLaunchProfileInitialization' {platform} -> platform) (\s@GetLaunchProfileInitialization' {} a -> s {platform = a} :: GetLaunchProfileInitialization)++-- | The studio ID.+getLaunchProfileInitialization_studioId :: Lens.Lens' GetLaunchProfileInitialization Prelude.Text+getLaunchProfileInitialization_studioId = Lens.lens (\GetLaunchProfileInitialization' {studioId} -> studioId) (\s@GetLaunchProfileInitialization' {} a -> s {studioId = a} :: GetLaunchProfileInitialization)++instance+ Core.AWSRequest+ GetLaunchProfileInitialization+ where+ type+ AWSResponse GetLaunchProfileInitialization =+ GetLaunchProfileInitializationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetLaunchProfileInitializationResponse'+ Prelude.<$> (x Data..?> "launchProfileInitialization")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetLaunchProfileInitialization+ where+ hashWithSalt+ _salt+ GetLaunchProfileInitialization' {..} =+ _salt+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` launchProfileProtocolVersions+ `Prelude.hashWithSalt` launchPurpose+ `Prelude.hashWithSalt` platform+ `Prelude.hashWithSalt` studioId++instance+ Prelude.NFData+ GetLaunchProfileInitialization+ where+ rnf GetLaunchProfileInitialization' {..} =+ Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf launchProfileProtocolVersions+ `Prelude.seq` Prelude.rnf launchPurpose+ `Prelude.seq` Prelude.rnf platform+ `Prelude.seq` Prelude.rnf studioId++instance+ Data.ToHeaders+ GetLaunchProfileInitialization+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetLaunchProfileInitialization where+ toPath GetLaunchProfileInitialization' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/launch-profiles/",+ Data.toBS launchProfileId,+ "/init"+ ]++instance Data.ToQuery GetLaunchProfileInitialization where+ toQuery GetLaunchProfileInitialization' {..} =+ Prelude.mconcat+ [ "launchProfileProtocolVersions"+ Data.=: Data.toQueryList+ "member"+ launchProfileProtocolVersions,+ "launchPurpose" Data.=: launchPurpose,+ "platform" Data.=: platform+ ]++-- | /See:/ 'newGetLaunchProfileInitializationResponse' smart constructor.+data GetLaunchProfileInitializationResponse = GetLaunchProfileInitializationResponse'+ { -- | The launch profile initialization.+ launchProfileInitialization :: Prelude.Maybe LaunchProfileInitialization,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLaunchProfileInitializationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchProfileInitialization', 'getLaunchProfileInitializationResponse_launchProfileInitialization' - The launch profile initialization.+--+-- 'httpStatus', 'getLaunchProfileInitializationResponse_httpStatus' - The response's http status code.+newGetLaunchProfileInitializationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetLaunchProfileInitializationResponse+newGetLaunchProfileInitializationResponse+ pHttpStatus_ =+ GetLaunchProfileInitializationResponse'+ { launchProfileInitialization =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The launch profile initialization.+getLaunchProfileInitializationResponse_launchProfileInitialization :: Lens.Lens' GetLaunchProfileInitializationResponse (Prelude.Maybe LaunchProfileInitialization)+getLaunchProfileInitializationResponse_launchProfileInitialization = Lens.lens (\GetLaunchProfileInitializationResponse' {launchProfileInitialization} -> launchProfileInitialization) (\s@GetLaunchProfileInitializationResponse' {} a -> s {launchProfileInitialization = a} :: GetLaunchProfileInitializationResponse)++-- | The response's http status code.+getLaunchProfileInitializationResponse_httpStatus :: Lens.Lens' GetLaunchProfileInitializationResponse Prelude.Int+getLaunchProfileInitializationResponse_httpStatus = Lens.lens (\GetLaunchProfileInitializationResponse' {httpStatus} -> httpStatus) (\s@GetLaunchProfileInitializationResponse' {} a -> s {httpStatus = a} :: GetLaunchProfileInitializationResponse)++instance+ Prelude.NFData+ GetLaunchProfileInitializationResponse+ where+ rnf GetLaunchProfileInitializationResponse' {..} =+ Prelude.rnf launchProfileInitialization+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/GetLaunchProfileMember.hs view
@@ -0,0 +1,207 @@+{-# 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.Nimble.GetLaunchProfileMember+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a user persona in launch profile membership.+module Amazonka.Nimble.GetLaunchProfileMember+ ( -- * Creating a Request+ GetLaunchProfileMember (..),+ newGetLaunchProfileMember,++ -- * Request Lenses+ getLaunchProfileMember_launchProfileId,+ getLaunchProfileMember_principalId,+ getLaunchProfileMember_studioId,++ -- * Destructuring the Response+ GetLaunchProfileMemberResponse (..),+ newGetLaunchProfileMemberResponse,++ -- * Response Lenses+ getLaunchProfileMemberResponse_member,+ getLaunchProfileMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLaunchProfileMember' smart constructor.+data GetLaunchProfileMember = GetLaunchProfileMember'+ { -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Text,+ -- | The principal ID. This currently supports a IAM Identity Center UserId.+ principalId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLaunchProfileMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchProfileId', 'getLaunchProfileMember_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'principalId', 'getLaunchProfileMember_principalId' - The principal ID. This currently supports a IAM Identity Center UserId.+--+-- 'studioId', 'getLaunchProfileMember_studioId' - The studio ID.+newGetLaunchProfileMember ::+ -- | 'launchProfileId'+ Prelude.Text ->+ -- | 'principalId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ GetLaunchProfileMember+newGetLaunchProfileMember+ pLaunchProfileId_+ pPrincipalId_+ pStudioId_ =+ GetLaunchProfileMember'+ { launchProfileId =+ pLaunchProfileId_,+ principalId = pPrincipalId_,+ studioId = pStudioId_+ }++-- | The ID of the launch profile used to control access from the streaming+-- session.+getLaunchProfileMember_launchProfileId :: Lens.Lens' GetLaunchProfileMember Prelude.Text+getLaunchProfileMember_launchProfileId = Lens.lens (\GetLaunchProfileMember' {launchProfileId} -> launchProfileId) (\s@GetLaunchProfileMember' {} a -> s {launchProfileId = a} :: GetLaunchProfileMember)++-- | The principal ID. This currently supports a IAM Identity Center UserId.+getLaunchProfileMember_principalId :: Lens.Lens' GetLaunchProfileMember Prelude.Text+getLaunchProfileMember_principalId = Lens.lens (\GetLaunchProfileMember' {principalId} -> principalId) (\s@GetLaunchProfileMember' {} a -> s {principalId = a} :: GetLaunchProfileMember)++-- | The studio ID.+getLaunchProfileMember_studioId :: Lens.Lens' GetLaunchProfileMember Prelude.Text+getLaunchProfileMember_studioId = Lens.lens (\GetLaunchProfileMember' {studioId} -> studioId) (\s@GetLaunchProfileMember' {} a -> s {studioId = a} :: GetLaunchProfileMember)++instance Core.AWSRequest GetLaunchProfileMember where+ type+ AWSResponse GetLaunchProfileMember =+ GetLaunchProfileMemberResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetLaunchProfileMemberResponse'+ Prelude.<$> (x Data..?> "member")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetLaunchProfileMember where+ hashWithSalt _salt GetLaunchProfileMember' {..} =+ _salt+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` principalId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData GetLaunchProfileMember where+ rnf GetLaunchProfileMember' {..} =+ Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf principalId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders GetLaunchProfileMember where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetLaunchProfileMember where+ toPath GetLaunchProfileMember' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/launch-profiles/",+ Data.toBS launchProfileId,+ "/membership/",+ Data.toBS principalId+ ]++instance Data.ToQuery GetLaunchProfileMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetLaunchProfileMemberResponse' smart constructor.+data GetLaunchProfileMemberResponse = GetLaunchProfileMemberResponse'+ { -- | The member.+ member :: Prelude.Maybe LaunchProfileMembership,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLaunchProfileMemberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'member', 'getLaunchProfileMemberResponse_member' - The member.+--+-- 'httpStatus', 'getLaunchProfileMemberResponse_httpStatus' - The response's http status code.+newGetLaunchProfileMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetLaunchProfileMemberResponse+newGetLaunchProfileMemberResponse pHttpStatus_ =+ GetLaunchProfileMemberResponse'+ { member =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The member.+getLaunchProfileMemberResponse_member :: Lens.Lens' GetLaunchProfileMemberResponse (Prelude.Maybe LaunchProfileMembership)+getLaunchProfileMemberResponse_member = Lens.lens (\GetLaunchProfileMemberResponse' {member} -> member) (\s@GetLaunchProfileMemberResponse' {} a -> s {member = a} :: GetLaunchProfileMemberResponse)++-- | The response's http status code.+getLaunchProfileMemberResponse_httpStatus :: Lens.Lens' GetLaunchProfileMemberResponse Prelude.Int+getLaunchProfileMemberResponse_httpStatus = Lens.lens (\GetLaunchProfileMemberResponse' {httpStatus} -> httpStatus) (\s@GetLaunchProfileMemberResponse' {} a -> s {httpStatus = a} :: GetLaunchProfileMemberResponse)++instance+ Prelude.NFData+ GetLaunchProfileMemberResponse+ where+ rnf GetLaunchProfileMemberResponse' {..} =+ Prelude.rnf member+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/GetStreamingImage.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.GetStreamingImage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get streaming image.+module Amazonka.Nimble.GetStreamingImage+ ( -- * Creating a Request+ GetStreamingImage (..),+ newGetStreamingImage,++ -- * Request Lenses+ getStreamingImage_streamingImageId,+ getStreamingImage_studioId,++ -- * Destructuring the Response+ GetStreamingImageResponse (..),+ newGetStreamingImageResponse,++ -- * Response Lenses+ getStreamingImageResponse_streamingImage,+ getStreamingImageResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetStreamingImage' smart constructor.+data GetStreamingImage = GetStreamingImage'+ { -- | The streaming image ID.+ streamingImageId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStreamingImage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'streamingImageId', 'getStreamingImage_streamingImageId' - The streaming image ID.+--+-- 'studioId', 'getStreamingImage_studioId' - The studio ID.+newGetStreamingImage ::+ -- | 'streamingImageId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ GetStreamingImage+newGetStreamingImage pStreamingImageId_ pStudioId_ =+ GetStreamingImage'+ { streamingImageId =+ pStreamingImageId_,+ studioId = pStudioId_+ }++-- | The streaming image ID.+getStreamingImage_streamingImageId :: Lens.Lens' GetStreamingImage Prelude.Text+getStreamingImage_streamingImageId = Lens.lens (\GetStreamingImage' {streamingImageId} -> streamingImageId) (\s@GetStreamingImage' {} a -> s {streamingImageId = a} :: GetStreamingImage)++-- | The studio ID.+getStreamingImage_studioId :: Lens.Lens' GetStreamingImage Prelude.Text+getStreamingImage_studioId = Lens.lens (\GetStreamingImage' {studioId} -> studioId) (\s@GetStreamingImage' {} a -> s {studioId = a} :: GetStreamingImage)++instance Core.AWSRequest GetStreamingImage where+ type+ AWSResponse GetStreamingImage =+ GetStreamingImageResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetStreamingImageResponse'+ Prelude.<$> (x Data..?> "streamingImage")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetStreamingImage where+ hashWithSalt _salt GetStreamingImage' {..} =+ _salt+ `Prelude.hashWithSalt` streamingImageId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData GetStreamingImage where+ rnf GetStreamingImage' {..} =+ Prelude.rnf streamingImageId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders GetStreamingImage where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetStreamingImage where+ toPath GetStreamingImage' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-images/",+ Data.toBS streamingImageId+ ]++instance Data.ToQuery GetStreamingImage where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetStreamingImageResponse' smart constructor.+data GetStreamingImageResponse = GetStreamingImageResponse'+ { -- | The streaming image.+ streamingImage :: Prelude.Maybe StreamingImage,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStreamingImageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'streamingImage', 'getStreamingImageResponse_streamingImage' - The streaming image.+--+-- 'httpStatus', 'getStreamingImageResponse_httpStatus' - The response's http status code.+newGetStreamingImageResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetStreamingImageResponse+newGetStreamingImageResponse pHttpStatus_ =+ GetStreamingImageResponse'+ { streamingImage =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The streaming image.+getStreamingImageResponse_streamingImage :: Lens.Lens' GetStreamingImageResponse (Prelude.Maybe StreamingImage)+getStreamingImageResponse_streamingImage = Lens.lens (\GetStreamingImageResponse' {streamingImage} -> streamingImage) (\s@GetStreamingImageResponse' {} a -> s {streamingImage = a} :: GetStreamingImageResponse)++-- | The response's http status code.+getStreamingImageResponse_httpStatus :: Lens.Lens' GetStreamingImageResponse Prelude.Int+getStreamingImageResponse_httpStatus = Lens.lens (\GetStreamingImageResponse' {httpStatus} -> httpStatus) (\s@GetStreamingImageResponse' {} a -> s {httpStatus = a} :: GetStreamingImageResponse)++instance Prelude.NFData GetStreamingImageResponse where+ rnf GetStreamingImageResponse' {..} =+ Prelude.rnf streamingImage+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/GetStreamingSession.hs view
@@ -0,0 +1,184 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.GetStreamingSession+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets StreamingSession resource.+--+-- Invoke this operation to poll for a streaming session state while+-- creating or deleting a session.+module Amazonka.Nimble.GetStreamingSession+ ( -- * Creating a Request+ GetStreamingSession (..),+ newGetStreamingSession,++ -- * Request Lenses+ getStreamingSession_sessionId,+ getStreamingSession_studioId,++ -- * Destructuring the Response+ GetStreamingSessionResponse (..),+ newGetStreamingSessionResponse,++ -- * Response Lenses+ getStreamingSessionResponse_session,+ getStreamingSessionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetStreamingSession' smart constructor.+data GetStreamingSession = GetStreamingSession'+ { -- | The streaming session ID.+ sessionId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStreamingSession' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sessionId', 'getStreamingSession_sessionId' - The streaming session ID.+--+-- 'studioId', 'getStreamingSession_studioId' - The studio ID.+newGetStreamingSession ::+ -- | 'sessionId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ GetStreamingSession+newGetStreamingSession pSessionId_ pStudioId_ =+ GetStreamingSession'+ { sessionId = pSessionId_,+ studioId = pStudioId_+ }++-- | The streaming session ID.+getStreamingSession_sessionId :: Lens.Lens' GetStreamingSession Prelude.Text+getStreamingSession_sessionId = Lens.lens (\GetStreamingSession' {sessionId} -> sessionId) (\s@GetStreamingSession' {} a -> s {sessionId = a} :: GetStreamingSession)++-- | The studio ID.+getStreamingSession_studioId :: Lens.Lens' GetStreamingSession Prelude.Text+getStreamingSession_studioId = Lens.lens (\GetStreamingSession' {studioId} -> studioId) (\s@GetStreamingSession' {} a -> s {studioId = a} :: GetStreamingSession)++instance Core.AWSRequest GetStreamingSession where+ type+ AWSResponse GetStreamingSession =+ GetStreamingSessionResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetStreamingSessionResponse'+ Prelude.<$> (x Data..?> "session")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetStreamingSession where+ hashWithSalt _salt GetStreamingSession' {..} =+ _salt+ `Prelude.hashWithSalt` sessionId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData GetStreamingSession where+ rnf GetStreamingSession' {..} =+ Prelude.rnf sessionId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders GetStreamingSession where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetStreamingSession where+ toPath GetStreamingSession' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-sessions/",+ Data.toBS sessionId+ ]++instance Data.ToQuery GetStreamingSession where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetStreamingSessionResponse' smart constructor.+data GetStreamingSessionResponse = GetStreamingSessionResponse'+ { -- | The session.+ session :: Prelude.Maybe StreamingSession,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStreamingSessionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'session', 'getStreamingSessionResponse_session' - The session.+--+-- 'httpStatus', 'getStreamingSessionResponse_httpStatus' - The response's http status code.+newGetStreamingSessionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetStreamingSessionResponse+newGetStreamingSessionResponse pHttpStatus_ =+ GetStreamingSessionResponse'+ { session =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The session.+getStreamingSessionResponse_session :: Lens.Lens' GetStreamingSessionResponse (Prelude.Maybe StreamingSession)+getStreamingSessionResponse_session = Lens.lens (\GetStreamingSessionResponse' {session} -> session) (\s@GetStreamingSessionResponse' {} a -> s {session = a} :: GetStreamingSessionResponse)++-- | The response's http status code.+getStreamingSessionResponse_httpStatus :: Lens.Lens' GetStreamingSessionResponse Prelude.Int+getStreamingSessionResponse_httpStatus = Lens.lens (\GetStreamingSessionResponse' {httpStatus} -> httpStatus) (\s@GetStreamingSessionResponse' {} a -> s {httpStatus = a} :: GetStreamingSessionResponse)++instance Prelude.NFData GetStreamingSessionResponse where+ rnf GetStreamingSessionResponse' {..} =+ Prelude.rnf session+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/GetStreamingSessionBackup.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.GetStreamingSessionBackup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets @StreamingSessionBackup@ resource.+--+-- Invoke this operation to poll for a streaming session backup while+-- stopping a streaming session.+module Amazonka.Nimble.GetStreamingSessionBackup+ ( -- * Creating a Request+ GetStreamingSessionBackup (..),+ newGetStreamingSessionBackup,++ -- * Request Lenses+ getStreamingSessionBackup_backupId,+ getStreamingSessionBackup_studioId,++ -- * Destructuring the Response+ GetStreamingSessionBackupResponse (..),+ newGetStreamingSessionBackupResponse,++ -- * Response Lenses+ getStreamingSessionBackupResponse_streamingSessionBackup,+ getStreamingSessionBackupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetStreamingSessionBackup' smart constructor.+data GetStreamingSessionBackup = GetStreamingSessionBackup'+ { -- | The ID of the backup.+ backupId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStreamingSessionBackup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backupId', 'getStreamingSessionBackup_backupId' - The ID of the backup.+--+-- 'studioId', 'getStreamingSessionBackup_studioId' - The studio ID.+newGetStreamingSessionBackup ::+ -- | 'backupId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ GetStreamingSessionBackup+newGetStreamingSessionBackup pBackupId_ pStudioId_ =+ GetStreamingSessionBackup'+ { backupId = pBackupId_,+ studioId = pStudioId_+ }++-- | The ID of the backup.+getStreamingSessionBackup_backupId :: Lens.Lens' GetStreamingSessionBackup Prelude.Text+getStreamingSessionBackup_backupId = Lens.lens (\GetStreamingSessionBackup' {backupId} -> backupId) (\s@GetStreamingSessionBackup' {} a -> s {backupId = a} :: GetStreamingSessionBackup)++-- | The studio ID.+getStreamingSessionBackup_studioId :: Lens.Lens' GetStreamingSessionBackup Prelude.Text+getStreamingSessionBackup_studioId = Lens.lens (\GetStreamingSessionBackup' {studioId} -> studioId) (\s@GetStreamingSessionBackup' {} a -> s {studioId = a} :: GetStreamingSessionBackup)++instance Core.AWSRequest GetStreamingSessionBackup where+ type+ AWSResponse GetStreamingSessionBackup =+ GetStreamingSessionBackupResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetStreamingSessionBackupResponse'+ Prelude.<$> (x Data..?> "streamingSessionBackup")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetStreamingSessionBackup where+ hashWithSalt _salt GetStreamingSessionBackup' {..} =+ _salt+ `Prelude.hashWithSalt` backupId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData GetStreamingSessionBackup where+ rnf GetStreamingSessionBackup' {..} =+ Prelude.rnf backupId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders GetStreamingSessionBackup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetStreamingSessionBackup where+ toPath GetStreamingSessionBackup' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-session-backups/",+ Data.toBS backupId+ ]++instance Data.ToQuery GetStreamingSessionBackup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetStreamingSessionBackupResponse' smart constructor.+data GetStreamingSessionBackupResponse = GetStreamingSessionBackupResponse'+ { -- | Information about the streaming session backup.+ streamingSessionBackup :: Prelude.Maybe StreamingSessionBackup,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStreamingSessionBackupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'streamingSessionBackup', 'getStreamingSessionBackupResponse_streamingSessionBackup' - Information about the streaming session backup.+--+-- 'httpStatus', 'getStreamingSessionBackupResponse_httpStatus' - The response's http status code.+newGetStreamingSessionBackupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetStreamingSessionBackupResponse+newGetStreamingSessionBackupResponse pHttpStatus_ =+ GetStreamingSessionBackupResponse'+ { streamingSessionBackup =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the streaming session backup.+getStreamingSessionBackupResponse_streamingSessionBackup :: Lens.Lens' GetStreamingSessionBackupResponse (Prelude.Maybe StreamingSessionBackup)+getStreamingSessionBackupResponse_streamingSessionBackup = Lens.lens (\GetStreamingSessionBackupResponse' {streamingSessionBackup} -> streamingSessionBackup) (\s@GetStreamingSessionBackupResponse' {} a -> s {streamingSessionBackup = a} :: GetStreamingSessionBackupResponse)++-- | The response's http status code.+getStreamingSessionBackupResponse_httpStatus :: Lens.Lens' GetStreamingSessionBackupResponse Prelude.Int+getStreamingSessionBackupResponse_httpStatus = Lens.lens (\GetStreamingSessionBackupResponse' {httpStatus} -> httpStatus) (\s@GetStreamingSessionBackupResponse' {} a -> s {httpStatus = a} :: GetStreamingSessionBackupResponse)++instance+ Prelude.NFData+ GetStreamingSessionBackupResponse+ where+ rnf GetStreamingSessionBackupResponse' {..} =+ Prelude.rnf streamingSessionBackup+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/GetStreamingSessionStream.hs view
@@ -0,0 +1,209 @@+{-# 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.Nimble.GetStreamingSessionStream+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a StreamingSessionStream for a streaming session.+--+-- Invoke this operation to poll the resource after invoking+-- @CreateStreamingSessionStream@.+--+-- After the @StreamingSessionStream@ changes to the @READY@ state, the url+-- property will contain a stream to be used with the DCV streaming client.+module Amazonka.Nimble.GetStreamingSessionStream+ ( -- * Creating a Request+ GetStreamingSessionStream (..),+ newGetStreamingSessionStream,++ -- * Request Lenses+ getStreamingSessionStream_sessionId,+ getStreamingSessionStream_streamId,+ getStreamingSessionStream_studioId,++ -- * Destructuring the Response+ GetStreamingSessionStreamResponse (..),+ newGetStreamingSessionStreamResponse,++ -- * Response Lenses+ getStreamingSessionStreamResponse_stream,+ getStreamingSessionStreamResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetStreamingSessionStream' smart constructor.+data GetStreamingSessionStream = GetStreamingSessionStream'+ { -- | The streaming session ID.+ sessionId :: Prelude.Text,+ -- | The streaming session stream ID.+ streamId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStreamingSessionStream' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sessionId', 'getStreamingSessionStream_sessionId' - The streaming session ID.+--+-- 'streamId', 'getStreamingSessionStream_streamId' - The streaming session stream ID.+--+-- 'studioId', 'getStreamingSessionStream_studioId' - The studio ID.+newGetStreamingSessionStream ::+ -- | 'sessionId'+ Prelude.Text ->+ -- | 'streamId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ GetStreamingSessionStream+newGetStreamingSessionStream+ pSessionId_+ pStreamId_+ pStudioId_ =+ GetStreamingSessionStream'+ { sessionId = pSessionId_,+ streamId = pStreamId_,+ studioId = pStudioId_+ }++-- | The streaming session ID.+getStreamingSessionStream_sessionId :: Lens.Lens' GetStreamingSessionStream Prelude.Text+getStreamingSessionStream_sessionId = Lens.lens (\GetStreamingSessionStream' {sessionId} -> sessionId) (\s@GetStreamingSessionStream' {} a -> s {sessionId = a} :: GetStreamingSessionStream)++-- | The streaming session stream ID.+getStreamingSessionStream_streamId :: Lens.Lens' GetStreamingSessionStream Prelude.Text+getStreamingSessionStream_streamId = Lens.lens (\GetStreamingSessionStream' {streamId} -> streamId) (\s@GetStreamingSessionStream' {} a -> s {streamId = a} :: GetStreamingSessionStream)++-- | The studio ID.+getStreamingSessionStream_studioId :: Lens.Lens' GetStreamingSessionStream Prelude.Text+getStreamingSessionStream_studioId = Lens.lens (\GetStreamingSessionStream' {studioId} -> studioId) (\s@GetStreamingSessionStream' {} a -> s {studioId = a} :: GetStreamingSessionStream)++instance Core.AWSRequest GetStreamingSessionStream where+ type+ AWSResponse GetStreamingSessionStream =+ GetStreamingSessionStreamResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetStreamingSessionStreamResponse'+ Prelude.<$> (x Data..?> "stream")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetStreamingSessionStream where+ hashWithSalt _salt GetStreamingSessionStream' {..} =+ _salt+ `Prelude.hashWithSalt` sessionId+ `Prelude.hashWithSalt` streamId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData GetStreamingSessionStream where+ rnf GetStreamingSessionStream' {..} =+ Prelude.rnf sessionId+ `Prelude.seq` Prelude.rnf streamId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders GetStreamingSessionStream where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetStreamingSessionStream where+ toPath GetStreamingSessionStream' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-sessions/",+ Data.toBS sessionId,+ "/streams/",+ Data.toBS streamId+ ]++instance Data.ToQuery GetStreamingSessionStream where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetStreamingSessionStreamResponse' smart constructor.+data GetStreamingSessionStreamResponse = GetStreamingSessionStreamResponse'+ { -- | The stream.+ stream :: Prelude.Maybe StreamingSessionStream,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStreamingSessionStreamResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'stream', 'getStreamingSessionStreamResponse_stream' - The stream.+--+-- 'httpStatus', 'getStreamingSessionStreamResponse_httpStatus' - The response's http status code.+newGetStreamingSessionStreamResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetStreamingSessionStreamResponse+newGetStreamingSessionStreamResponse pHttpStatus_ =+ GetStreamingSessionStreamResponse'+ { stream =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The stream.+getStreamingSessionStreamResponse_stream :: Lens.Lens' GetStreamingSessionStreamResponse (Prelude.Maybe StreamingSessionStream)+getStreamingSessionStreamResponse_stream = Lens.lens (\GetStreamingSessionStreamResponse' {stream} -> stream) (\s@GetStreamingSessionStreamResponse' {} a -> s {stream = a} :: GetStreamingSessionStreamResponse)++-- | The response's http status code.+getStreamingSessionStreamResponse_httpStatus :: Lens.Lens' GetStreamingSessionStreamResponse Prelude.Int+getStreamingSessionStreamResponse_httpStatus = Lens.lens (\GetStreamingSessionStreamResponse' {httpStatus} -> httpStatus) (\s@GetStreamingSessionStreamResponse' {} a -> s {httpStatus = a} :: GetStreamingSessionStreamResponse)++instance+ Prelude.NFData+ GetStreamingSessionStreamResponse+ where+ rnf GetStreamingSessionStreamResponse' {..} =+ Prelude.rnf stream+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/GetStudio.hs view
@@ -0,0 +1,158 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.GetStudio+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a studio resource.+module Amazonka.Nimble.GetStudio+ ( -- * Creating a Request+ GetStudio (..),+ newGetStudio,++ -- * Request Lenses+ getStudio_studioId,++ -- * Destructuring the Response+ GetStudioResponse (..),+ newGetStudioResponse,++ -- * Response Lenses+ getStudioResponse_httpStatus,+ getStudioResponse_studio,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetStudio' smart constructor.+data GetStudio = GetStudio'+ { -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStudio' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'studioId', 'getStudio_studioId' - The studio ID.+newGetStudio ::+ -- | 'studioId'+ Prelude.Text ->+ GetStudio+newGetStudio pStudioId_ =+ GetStudio' {studioId = pStudioId_}++-- | The studio ID.+getStudio_studioId :: Lens.Lens' GetStudio Prelude.Text+getStudio_studioId = Lens.lens (\GetStudio' {studioId} -> studioId) (\s@GetStudio' {} a -> s {studioId = a} :: GetStudio)++instance Core.AWSRequest GetStudio where+ type AWSResponse GetStudio = GetStudioResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetStudioResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "studio")+ )++instance Prelude.Hashable GetStudio where+ hashWithSalt _salt GetStudio' {..} =+ _salt `Prelude.hashWithSalt` studioId++instance Prelude.NFData GetStudio where+ rnf GetStudio' {..} = Prelude.rnf studioId++instance Data.ToHeaders GetStudio where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetStudio where+ toPath GetStudio' {..} =+ Prelude.mconcat+ ["/2020-08-01/studios/", Data.toBS studioId]++instance Data.ToQuery GetStudio where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetStudioResponse' smart constructor.+data GetStudioResponse = GetStudioResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Information about a studio.+ studio :: Studio+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStudioResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getStudioResponse_httpStatus' - The response's http status code.+--+-- 'studio', 'getStudioResponse_studio' - Information about a studio.+newGetStudioResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'studio'+ Studio ->+ GetStudioResponse+newGetStudioResponse pHttpStatus_ pStudio_ =+ GetStudioResponse'+ { httpStatus = pHttpStatus_,+ studio = pStudio_+ }++-- | The response's http status code.+getStudioResponse_httpStatus :: Lens.Lens' GetStudioResponse Prelude.Int+getStudioResponse_httpStatus = Lens.lens (\GetStudioResponse' {httpStatus} -> httpStatus) (\s@GetStudioResponse' {} a -> s {httpStatus = a} :: GetStudioResponse)++-- | Information about a studio.+getStudioResponse_studio :: Lens.Lens' GetStudioResponse Studio+getStudioResponse_studio = Lens.lens (\GetStudioResponse' {studio} -> studio) (\s@GetStudioResponse' {} a -> s {studio = a} :: GetStudioResponse)++instance Prelude.NFData GetStudioResponse where+ rnf GetStudioResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf studio
+ gen/Amazonka/Nimble/GetStudioComponent.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.GetStudioComponent+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a studio component resource.+module Amazonka.Nimble.GetStudioComponent+ ( -- * Creating a Request+ GetStudioComponent (..),+ newGetStudioComponent,++ -- * Request Lenses+ getStudioComponent_studioComponentId,+ getStudioComponent_studioId,++ -- * Destructuring the Response+ GetStudioComponentResponse (..),+ newGetStudioComponentResponse,++ -- * Response Lenses+ getStudioComponentResponse_studioComponent,+ getStudioComponentResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetStudioComponent' smart constructor.+data GetStudioComponent = GetStudioComponent'+ { -- | The studio component ID.+ studioComponentId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStudioComponent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'studioComponentId', 'getStudioComponent_studioComponentId' - The studio component ID.+--+-- 'studioId', 'getStudioComponent_studioId' - The studio ID.+newGetStudioComponent ::+ -- | 'studioComponentId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ GetStudioComponent+newGetStudioComponent pStudioComponentId_ pStudioId_ =+ GetStudioComponent'+ { studioComponentId =+ pStudioComponentId_,+ studioId = pStudioId_+ }++-- | The studio component ID.+getStudioComponent_studioComponentId :: Lens.Lens' GetStudioComponent Prelude.Text+getStudioComponent_studioComponentId = Lens.lens (\GetStudioComponent' {studioComponentId} -> studioComponentId) (\s@GetStudioComponent' {} a -> s {studioComponentId = a} :: GetStudioComponent)++-- | The studio ID.+getStudioComponent_studioId :: Lens.Lens' GetStudioComponent Prelude.Text+getStudioComponent_studioId = Lens.lens (\GetStudioComponent' {studioId} -> studioId) (\s@GetStudioComponent' {} a -> s {studioId = a} :: GetStudioComponent)++instance Core.AWSRequest GetStudioComponent where+ type+ AWSResponse GetStudioComponent =+ GetStudioComponentResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetStudioComponentResponse'+ Prelude.<$> (x Data..?> "studioComponent")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetStudioComponent where+ hashWithSalt _salt GetStudioComponent' {..} =+ _salt+ `Prelude.hashWithSalt` studioComponentId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData GetStudioComponent where+ rnf GetStudioComponent' {..} =+ Prelude.rnf studioComponentId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders GetStudioComponent where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetStudioComponent where+ toPath GetStudioComponent' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/studio-components/",+ Data.toBS studioComponentId+ ]++instance Data.ToQuery GetStudioComponent where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetStudioComponentResponse' smart constructor.+data GetStudioComponentResponse = GetStudioComponentResponse'+ { -- | Information about the studio component.+ studioComponent :: Prelude.Maybe StudioComponent,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStudioComponentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'studioComponent', 'getStudioComponentResponse_studioComponent' - Information about the studio component.+--+-- 'httpStatus', 'getStudioComponentResponse_httpStatus' - The response's http status code.+newGetStudioComponentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetStudioComponentResponse+newGetStudioComponentResponse pHttpStatus_ =+ GetStudioComponentResponse'+ { studioComponent =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the studio component.+getStudioComponentResponse_studioComponent :: Lens.Lens' GetStudioComponentResponse (Prelude.Maybe StudioComponent)+getStudioComponentResponse_studioComponent = Lens.lens (\GetStudioComponentResponse' {studioComponent} -> studioComponent) (\s@GetStudioComponentResponse' {} a -> s {studioComponent = a} :: GetStudioComponentResponse)++-- | The response's http status code.+getStudioComponentResponse_httpStatus :: Lens.Lens' GetStudioComponentResponse Prelude.Int+getStudioComponentResponse_httpStatus = Lens.lens (\GetStudioComponentResponse' {httpStatus} -> httpStatus) (\s@GetStudioComponentResponse' {} a -> s {httpStatus = a} :: GetStudioComponentResponse)++instance Prelude.NFData GetStudioComponentResponse where+ rnf GetStudioComponentResponse' {..} =+ Prelude.rnf studioComponent+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/GetStudioMember.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.GetStudioMember+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a user\'s membership in a studio.+module Amazonka.Nimble.GetStudioMember+ ( -- * Creating a Request+ GetStudioMember (..),+ newGetStudioMember,++ -- * Request Lenses+ getStudioMember_principalId,+ getStudioMember_studioId,++ -- * Destructuring the Response+ GetStudioMemberResponse (..),+ newGetStudioMemberResponse,++ -- * Response Lenses+ getStudioMemberResponse_member,+ getStudioMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetStudioMember' smart constructor.+data GetStudioMember = GetStudioMember'+ { -- | The principal ID. This currently supports a IAM Identity Center UserId.+ principalId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStudioMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'principalId', 'getStudioMember_principalId' - The principal ID. This currently supports a IAM Identity Center UserId.+--+-- 'studioId', 'getStudioMember_studioId' - The studio ID.+newGetStudioMember ::+ -- | 'principalId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ GetStudioMember+newGetStudioMember pPrincipalId_ pStudioId_ =+ GetStudioMember'+ { principalId = pPrincipalId_,+ studioId = pStudioId_+ }++-- | The principal ID. This currently supports a IAM Identity Center UserId.+getStudioMember_principalId :: Lens.Lens' GetStudioMember Prelude.Text+getStudioMember_principalId = Lens.lens (\GetStudioMember' {principalId} -> principalId) (\s@GetStudioMember' {} a -> s {principalId = a} :: GetStudioMember)++-- | The studio ID.+getStudioMember_studioId :: Lens.Lens' GetStudioMember Prelude.Text+getStudioMember_studioId = Lens.lens (\GetStudioMember' {studioId} -> studioId) (\s@GetStudioMember' {} a -> s {studioId = a} :: GetStudioMember)++instance Core.AWSRequest GetStudioMember where+ type+ AWSResponse GetStudioMember =+ GetStudioMemberResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetStudioMemberResponse'+ Prelude.<$> (x Data..?> "member")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetStudioMember where+ hashWithSalt _salt GetStudioMember' {..} =+ _salt+ `Prelude.hashWithSalt` principalId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData GetStudioMember where+ rnf GetStudioMember' {..} =+ Prelude.rnf principalId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders GetStudioMember where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetStudioMember where+ toPath GetStudioMember' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/membership/",+ Data.toBS principalId+ ]++instance Data.ToQuery GetStudioMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetStudioMemberResponse' smart constructor.+data GetStudioMemberResponse = GetStudioMemberResponse'+ { -- | The member.+ member :: Prelude.Maybe StudioMembership,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStudioMemberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'member', 'getStudioMemberResponse_member' - The member.+--+-- 'httpStatus', 'getStudioMemberResponse_httpStatus' - The response's http status code.+newGetStudioMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetStudioMemberResponse+newGetStudioMemberResponse pHttpStatus_ =+ GetStudioMemberResponse'+ { member = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The member.+getStudioMemberResponse_member :: Lens.Lens' GetStudioMemberResponse (Prelude.Maybe StudioMembership)+getStudioMemberResponse_member = Lens.lens (\GetStudioMemberResponse' {member} -> member) (\s@GetStudioMemberResponse' {} a -> s {member = a} :: GetStudioMemberResponse)++-- | The response's http status code.+getStudioMemberResponse_httpStatus :: Lens.Lens' GetStudioMemberResponse Prelude.Int+getStudioMemberResponse_httpStatus = Lens.lens (\GetStudioMemberResponse' {httpStatus} -> httpStatus) (\s@GetStudioMemberResponse' {} a -> s {httpStatus = a} :: GetStudioMemberResponse)++instance Prelude.NFData GetStudioMemberResponse where+ rnf GetStudioMemberResponse' {..} =+ Prelude.rnf member+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/Lens.hs view
@@ -0,0 +1,787 @@+{-# 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.Nimble.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.Nimble.Lens+ ( -- * Operations++ -- ** AcceptEulas+ acceptEulas_clientToken,+ acceptEulas_eulaIds,+ acceptEulas_studioId,+ acceptEulasResponse_eulaAcceptances,+ acceptEulasResponse_httpStatus,++ -- ** CreateLaunchProfile+ createLaunchProfile_clientToken,+ createLaunchProfile_description,+ createLaunchProfile_tags,+ createLaunchProfile_ec2SubnetIds,+ createLaunchProfile_launchProfileProtocolVersions,+ createLaunchProfile_name,+ createLaunchProfile_streamConfiguration,+ createLaunchProfile_studioComponentIds,+ createLaunchProfile_studioId,+ createLaunchProfileResponse_launchProfile,+ createLaunchProfileResponse_httpStatus,++ -- ** CreateStreamingImage+ createStreamingImage_clientToken,+ createStreamingImage_description,+ createStreamingImage_tags,+ createStreamingImage_ec2ImageId,+ createStreamingImage_name,+ createStreamingImage_studioId,+ createStreamingImageResponse_streamingImage,+ createStreamingImageResponse_httpStatus,++ -- ** CreateStreamingSession+ createStreamingSession_clientToken,+ createStreamingSession_ec2InstanceType,+ createStreamingSession_ownedBy,+ createStreamingSession_streamingImageId,+ createStreamingSession_tags,+ createStreamingSession_launchProfileId,+ createStreamingSession_studioId,+ createStreamingSessionResponse_session,+ createStreamingSessionResponse_httpStatus,++ -- ** CreateStreamingSessionStream+ createStreamingSessionStream_clientToken,+ createStreamingSessionStream_expirationInSeconds,+ createStreamingSessionStream_sessionId,+ createStreamingSessionStream_studioId,+ createStreamingSessionStreamResponse_stream,+ createStreamingSessionStreamResponse_httpStatus,++ -- ** CreateStudio+ createStudio_clientToken,+ createStudio_studioEncryptionConfiguration,+ createStudio_tags,+ createStudio_adminRoleArn,+ createStudio_displayName,+ createStudio_studioName,+ createStudio_userRoleArn,+ createStudioResponse_studio,+ createStudioResponse_httpStatus,++ -- ** CreateStudioComponent+ createStudioComponent_clientToken,+ createStudioComponent_configuration,+ createStudioComponent_description,+ createStudioComponent_ec2SecurityGroupIds,+ createStudioComponent_initializationScripts,+ createStudioComponent_runtimeRoleArn,+ createStudioComponent_scriptParameters,+ createStudioComponent_secureInitializationRoleArn,+ createStudioComponent_subtype,+ createStudioComponent_tags,+ createStudioComponent_name,+ createStudioComponent_studioId,+ createStudioComponent_type,+ createStudioComponentResponse_studioComponent,+ createStudioComponentResponse_httpStatus,++ -- ** DeleteLaunchProfile+ deleteLaunchProfile_clientToken,+ deleteLaunchProfile_launchProfileId,+ deleteLaunchProfile_studioId,+ deleteLaunchProfileResponse_launchProfile,+ deleteLaunchProfileResponse_httpStatus,++ -- ** DeleteLaunchProfileMember+ deleteLaunchProfileMember_clientToken,+ deleteLaunchProfileMember_launchProfileId,+ deleteLaunchProfileMember_principalId,+ deleteLaunchProfileMember_studioId,+ deleteLaunchProfileMemberResponse_httpStatus,++ -- ** DeleteStreamingImage+ deleteStreamingImage_clientToken,+ deleteStreamingImage_streamingImageId,+ deleteStreamingImage_studioId,+ deleteStreamingImageResponse_streamingImage,+ deleteStreamingImageResponse_httpStatus,++ -- ** DeleteStreamingSession+ deleteStreamingSession_clientToken,+ deleteStreamingSession_sessionId,+ deleteStreamingSession_studioId,+ deleteStreamingSessionResponse_session,+ deleteStreamingSessionResponse_httpStatus,++ -- ** DeleteStudio+ deleteStudio_clientToken,+ deleteStudio_studioId,+ deleteStudioResponse_httpStatus,+ deleteStudioResponse_studio,++ -- ** DeleteStudioComponent+ deleteStudioComponent_clientToken,+ deleteStudioComponent_studioComponentId,+ deleteStudioComponent_studioId,+ deleteStudioComponentResponse_studioComponent,+ deleteStudioComponentResponse_httpStatus,++ -- ** DeleteStudioMember+ deleteStudioMember_clientToken,+ deleteStudioMember_principalId,+ deleteStudioMember_studioId,+ deleteStudioMemberResponse_httpStatus,++ -- ** GetEula+ getEula_eulaId,+ getEulaResponse_eula,+ getEulaResponse_httpStatus,++ -- ** GetLaunchProfile+ getLaunchProfile_launchProfileId,+ getLaunchProfile_studioId,+ getLaunchProfileResponse_launchProfile,+ getLaunchProfileResponse_httpStatus,++ -- ** GetLaunchProfileDetails+ getLaunchProfileDetails_launchProfileId,+ getLaunchProfileDetails_studioId,+ getLaunchProfileDetailsResponse_launchProfile,+ getLaunchProfileDetailsResponse_streamingImages,+ getLaunchProfileDetailsResponse_studioComponentSummaries,+ getLaunchProfileDetailsResponse_httpStatus,++ -- ** GetLaunchProfileInitialization+ getLaunchProfileInitialization_launchProfileId,+ getLaunchProfileInitialization_launchProfileProtocolVersions,+ getLaunchProfileInitialization_launchPurpose,+ getLaunchProfileInitialization_platform,+ getLaunchProfileInitialization_studioId,+ getLaunchProfileInitializationResponse_launchProfileInitialization,+ getLaunchProfileInitializationResponse_httpStatus,++ -- ** GetLaunchProfileMember+ getLaunchProfileMember_launchProfileId,+ getLaunchProfileMember_principalId,+ getLaunchProfileMember_studioId,+ getLaunchProfileMemberResponse_member,+ getLaunchProfileMemberResponse_httpStatus,++ -- ** GetStreamingImage+ getStreamingImage_streamingImageId,+ getStreamingImage_studioId,+ getStreamingImageResponse_streamingImage,+ getStreamingImageResponse_httpStatus,++ -- ** GetStreamingSession+ getStreamingSession_sessionId,+ getStreamingSession_studioId,+ getStreamingSessionResponse_session,+ getStreamingSessionResponse_httpStatus,++ -- ** GetStreamingSessionBackup+ getStreamingSessionBackup_backupId,+ getStreamingSessionBackup_studioId,+ getStreamingSessionBackupResponse_streamingSessionBackup,+ getStreamingSessionBackupResponse_httpStatus,++ -- ** GetStreamingSessionStream+ getStreamingSessionStream_sessionId,+ getStreamingSessionStream_streamId,+ getStreamingSessionStream_studioId,+ getStreamingSessionStreamResponse_stream,+ getStreamingSessionStreamResponse_httpStatus,++ -- ** GetStudio+ getStudio_studioId,+ getStudioResponse_httpStatus,+ getStudioResponse_studio,++ -- ** GetStudioComponent+ getStudioComponent_studioComponentId,+ getStudioComponent_studioId,+ getStudioComponentResponse_studioComponent,+ getStudioComponentResponse_httpStatus,++ -- ** GetStudioMember+ getStudioMember_principalId,+ getStudioMember_studioId,+ getStudioMemberResponse_member,+ getStudioMemberResponse_httpStatus,++ -- ** ListEulaAcceptances+ listEulaAcceptances_eulaIds,+ listEulaAcceptances_nextToken,+ listEulaAcceptances_studioId,+ listEulaAcceptancesResponse_eulaAcceptances,+ listEulaAcceptancesResponse_nextToken,+ listEulaAcceptancesResponse_httpStatus,++ -- ** ListEulas+ listEulas_eulaIds,+ listEulas_nextToken,+ listEulasResponse_eulas,+ listEulasResponse_nextToken,+ listEulasResponse_httpStatus,++ -- ** ListLaunchProfileMembers+ listLaunchProfileMembers_maxResults,+ listLaunchProfileMembers_nextToken,+ listLaunchProfileMembers_launchProfileId,+ listLaunchProfileMembers_studioId,+ listLaunchProfileMembersResponse_members,+ listLaunchProfileMembersResponse_nextToken,+ listLaunchProfileMembersResponse_httpStatus,++ -- ** ListLaunchProfiles+ listLaunchProfiles_maxResults,+ listLaunchProfiles_nextToken,+ listLaunchProfiles_principalId,+ listLaunchProfiles_states,+ listLaunchProfiles_studioId,+ listLaunchProfilesResponse_launchProfiles,+ listLaunchProfilesResponse_nextToken,+ listLaunchProfilesResponse_httpStatus,++ -- ** ListStreamingImages+ listStreamingImages_nextToken,+ listStreamingImages_owner,+ listStreamingImages_studioId,+ listStreamingImagesResponse_nextToken,+ listStreamingImagesResponse_streamingImages,+ listStreamingImagesResponse_httpStatus,++ -- ** ListStreamingSessionBackups+ listStreamingSessionBackups_nextToken,+ listStreamingSessionBackups_ownedBy,+ listStreamingSessionBackups_studioId,+ listStreamingSessionBackupsResponse_nextToken,+ listStreamingSessionBackupsResponse_streamingSessionBackups,+ listStreamingSessionBackupsResponse_httpStatus,++ -- ** ListStreamingSessions+ listStreamingSessions_createdBy,+ listStreamingSessions_nextToken,+ listStreamingSessions_ownedBy,+ listStreamingSessions_sessionIds,+ listStreamingSessions_studioId,+ listStreamingSessionsResponse_nextToken,+ listStreamingSessionsResponse_sessions,+ listStreamingSessionsResponse_httpStatus,++ -- ** ListStudioComponents+ listStudioComponents_maxResults,+ listStudioComponents_nextToken,+ listStudioComponents_states,+ listStudioComponents_types,+ listStudioComponents_studioId,+ listStudioComponentsResponse_nextToken,+ listStudioComponentsResponse_studioComponents,+ listStudioComponentsResponse_httpStatus,++ -- ** ListStudioMembers+ listStudioMembers_maxResults,+ listStudioMembers_nextToken,+ listStudioMembers_studioId,+ listStudioMembersResponse_members,+ listStudioMembersResponse_nextToken,+ listStudioMembersResponse_httpStatus,++ -- ** ListStudios+ listStudios_nextToken,+ listStudiosResponse_nextToken,+ listStudiosResponse_httpStatus,+ listStudiosResponse_studios,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** PutLaunchProfileMembers+ putLaunchProfileMembers_clientToken,+ putLaunchProfileMembers_identityStoreId,+ putLaunchProfileMembers_launchProfileId,+ putLaunchProfileMembers_members,+ putLaunchProfileMembers_studioId,+ putLaunchProfileMembersResponse_httpStatus,++ -- ** PutStudioMembers+ putStudioMembers_clientToken,+ putStudioMembers_identityStoreId,+ putStudioMembers_members,+ putStudioMembers_studioId,+ putStudioMembersResponse_httpStatus,++ -- ** StartStreamingSession+ startStreamingSession_backupId,+ startStreamingSession_clientToken,+ startStreamingSession_sessionId,+ startStreamingSession_studioId,+ startStreamingSessionResponse_session,+ startStreamingSessionResponse_httpStatus,++ -- ** StartStudioSSOConfigurationRepair+ startStudioSSOConfigurationRepair_clientToken,+ startStudioSSOConfigurationRepair_studioId,+ startStudioSSOConfigurationRepairResponse_httpStatus,+ startStudioSSOConfigurationRepairResponse_studio,++ -- ** StopStreamingSession+ stopStreamingSession_clientToken,+ stopStreamingSession_volumeRetentionMode,+ stopStreamingSession_sessionId,+ stopStreamingSession_studioId,+ stopStreamingSessionResponse_session,+ stopStreamingSessionResponse_httpStatus,++ -- ** TagResource+ tagResource_tags,+ tagResource_resourceArn,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateLaunchProfile+ updateLaunchProfile_clientToken,+ updateLaunchProfile_description,+ updateLaunchProfile_launchProfileProtocolVersions,+ updateLaunchProfile_name,+ updateLaunchProfile_streamConfiguration,+ updateLaunchProfile_studioComponentIds,+ updateLaunchProfile_launchProfileId,+ updateLaunchProfile_studioId,+ updateLaunchProfileResponse_launchProfile,+ updateLaunchProfileResponse_httpStatus,++ -- ** UpdateLaunchProfileMember+ updateLaunchProfileMember_clientToken,+ updateLaunchProfileMember_launchProfileId,+ updateLaunchProfileMember_persona,+ updateLaunchProfileMember_principalId,+ updateLaunchProfileMember_studioId,+ updateLaunchProfileMemberResponse_member,+ updateLaunchProfileMemberResponse_httpStatus,++ -- ** UpdateStreamingImage+ updateStreamingImage_clientToken,+ updateStreamingImage_description,+ updateStreamingImage_name,+ updateStreamingImage_streamingImageId,+ updateStreamingImage_studioId,+ updateStreamingImageResponse_streamingImage,+ updateStreamingImageResponse_httpStatus,++ -- ** UpdateStudio+ updateStudio_adminRoleArn,+ updateStudio_clientToken,+ updateStudio_displayName,+ updateStudio_userRoleArn,+ updateStudio_studioId,+ updateStudioResponse_httpStatus,+ updateStudioResponse_studio,++ -- ** UpdateStudioComponent+ updateStudioComponent_clientToken,+ updateStudioComponent_configuration,+ updateStudioComponent_description,+ updateStudioComponent_ec2SecurityGroupIds,+ updateStudioComponent_initializationScripts,+ updateStudioComponent_name,+ updateStudioComponent_runtimeRoleArn,+ updateStudioComponent_scriptParameters,+ updateStudioComponent_secureInitializationRoleArn,+ updateStudioComponent_subtype,+ updateStudioComponent_type,+ updateStudioComponent_studioComponentId,+ updateStudioComponent_studioId,+ updateStudioComponentResponse_studioComponent,+ updateStudioComponentResponse_httpStatus,++ -- * Types++ -- ** ActiveDirectoryComputerAttribute+ activeDirectoryComputerAttribute_name,+ activeDirectoryComputerAttribute_value,++ -- ** ActiveDirectoryConfiguration+ activeDirectoryConfiguration_computerAttributes,+ activeDirectoryConfiguration_directoryId,+ activeDirectoryConfiguration_organizationalUnitDistinguishedName,++ -- ** ComputeFarmConfiguration+ computeFarmConfiguration_activeDirectoryUser,+ computeFarmConfiguration_endpoint,++ -- ** Eula+ eula_content,+ eula_createdAt,+ eula_eulaId,+ eula_name,+ eula_updatedAt,++ -- ** EulaAcceptance+ eulaAcceptance_acceptedAt,+ eulaAcceptance_acceptedBy,+ eulaAcceptance_accepteeId,+ eulaAcceptance_eulaAcceptanceId,+ eulaAcceptance_eulaId,++ -- ** LaunchProfile+ launchProfile_arn,+ launchProfile_createdAt,+ launchProfile_createdBy,+ launchProfile_description,+ launchProfile_ec2SubnetIds,+ launchProfile_launchProfileId,+ launchProfile_launchProfileProtocolVersions,+ launchProfile_name,+ launchProfile_state,+ launchProfile_statusCode,+ launchProfile_statusMessage,+ launchProfile_streamConfiguration,+ launchProfile_studioComponentIds,+ launchProfile_tags,+ launchProfile_updatedAt,+ launchProfile_updatedBy,+ launchProfile_validationResults,++ -- ** LaunchProfileInitialization+ launchProfileInitialization_activeDirectory,+ launchProfileInitialization_ec2SecurityGroupIds,+ launchProfileInitialization_launchProfileId,+ launchProfileInitialization_launchProfileProtocolVersion,+ launchProfileInitialization_launchPurpose,+ launchProfileInitialization_name,+ launchProfileInitialization_platform,+ launchProfileInitialization_systemInitializationScripts,+ launchProfileInitialization_userInitializationScripts,++ -- ** LaunchProfileInitializationActiveDirectory+ launchProfileInitializationActiveDirectory_computerAttributes,+ launchProfileInitializationActiveDirectory_directoryId,+ launchProfileInitializationActiveDirectory_directoryName,+ launchProfileInitializationActiveDirectory_dnsIpAddresses,+ launchProfileInitializationActiveDirectory_organizationalUnitDistinguishedName,+ launchProfileInitializationActiveDirectory_studioComponentId,+ launchProfileInitializationActiveDirectory_studioComponentName,++ -- ** LaunchProfileInitializationScript+ launchProfileInitializationScript_runtimeRoleArn,+ launchProfileInitializationScript_script,+ launchProfileInitializationScript_secureInitializationRoleArn,+ launchProfileInitializationScript_studioComponentId,+ launchProfileInitializationScript_studioComponentName,++ -- ** LaunchProfileMembership+ launchProfileMembership_identityStoreId,+ launchProfileMembership_persona,+ launchProfileMembership_principalId,+ launchProfileMembership_sid,++ -- ** LicenseServiceConfiguration+ licenseServiceConfiguration_endpoint,++ -- ** NewLaunchProfileMember+ newLaunchProfileMember_persona,+ newLaunchProfileMember_principalId,++ -- ** NewStudioMember+ newStudioMember_persona,+ newStudioMember_principalId,++ -- ** ScriptParameterKeyValue+ scriptParameterKeyValue_key,+ scriptParameterKeyValue_value,++ -- ** SharedFileSystemConfiguration+ sharedFileSystemConfiguration_endpoint,+ sharedFileSystemConfiguration_fileSystemId,+ sharedFileSystemConfiguration_linuxMountPoint,+ sharedFileSystemConfiguration_shareName,+ sharedFileSystemConfiguration_windowsMountDrive,++ -- ** StreamConfiguration+ streamConfiguration_automaticTerminationMode,+ streamConfiguration_maxSessionLengthInMinutes,+ streamConfiguration_maxStoppedSessionLengthInMinutes,+ streamConfiguration_sessionBackup,+ streamConfiguration_sessionPersistenceMode,+ streamConfiguration_sessionStorage,+ streamConfiguration_volumeConfiguration,+ streamConfiguration_clipboardMode,+ streamConfiguration_ec2InstanceTypes,+ streamConfiguration_streamingImageIds,++ -- ** StreamConfigurationCreate+ streamConfigurationCreate_automaticTerminationMode,+ streamConfigurationCreate_maxSessionLengthInMinutes,+ streamConfigurationCreate_maxStoppedSessionLengthInMinutes,+ streamConfigurationCreate_sessionBackup,+ streamConfigurationCreate_sessionPersistenceMode,+ streamConfigurationCreate_sessionStorage,+ streamConfigurationCreate_volumeConfiguration,+ streamConfigurationCreate_clipboardMode,+ streamConfigurationCreate_ec2InstanceTypes,+ streamConfigurationCreate_streamingImageIds,++ -- ** StreamConfigurationSessionBackup+ streamConfigurationSessionBackup_maxBackupsToRetain,+ streamConfigurationSessionBackup_mode,++ -- ** StreamConfigurationSessionStorage+ streamConfigurationSessionStorage_root,+ streamConfigurationSessionStorage_mode,++ -- ** StreamingImage+ streamingImage_arn,+ streamingImage_description,+ streamingImage_ec2ImageId,+ streamingImage_encryptionConfiguration,+ streamingImage_eulaIds,+ streamingImage_name,+ streamingImage_owner,+ streamingImage_platform,+ streamingImage_state,+ streamingImage_statusCode,+ streamingImage_statusMessage,+ streamingImage_streamingImageId,+ streamingImage_tags,++ -- ** StreamingImageEncryptionConfiguration+ streamingImageEncryptionConfiguration_keyArn,+ streamingImageEncryptionConfiguration_keyType,++ -- ** StreamingSession+ streamingSession_arn,+ streamingSession_automaticTerminationMode,+ streamingSession_backupMode,+ streamingSession_createdAt,+ streamingSession_createdBy,+ streamingSession_ec2InstanceType,+ streamingSession_launchProfileId,+ streamingSession_maxBackupsToRetain,+ streamingSession_ownedBy,+ streamingSession_sessionId,+ streamingSession_sessionPersistenceMode,+ streamingSession_startedAt,+ streamingSession_startedBy,+ streamingSession_startedFromBackupId,+ streamingSession_state,+ streamingSession_statusCode,+ streamingSession_statusMessage,+ streamingSession_stopAt,+ streamingSession_stoppedAt,+ streamingSession_stoppedBy,+ streamingSession_streamingImageId,+ streamingSession_tags,+ streamingSession_terminateAt,+ streamingSession_updatedAt,+ streamingSession_updatedBy,+ streamingSession_volumeConfiguration,+ streamingSession_volumeRetentionMode,++ -- ** StreamingSessionBackup+ streamingSessionBackup_arn,+ streamingSessionBackup_backupId,+ streamingSessionBackup_createdAt,+ streamingSessionBackup_launchProfileId,+ streamingSessionBackup_ownedBy,+ streamingSessionBackup_sessionId,+ streamingSessionBackup_state,+ streamingSessionBackup_statusCode,+ streamingSessionBackup_statusMessage,+ streamingSessionBackup_tags,++ -- ** StreamingSessionStorageRoot+ streamingSessionStorageRoot_linux,+ streamingSessionStorageRoot_windows,++ -- ** StreamingSessionStream+ streamingSessionStream_createdAt,+ streamingSessionStream_createdBy,+ streamingSessionStream_expiresAt,+ streamingSessionStream_ownedBy,+ streamingSessionStream_state,+ streamingSessionStream_statusCode,+ streamingSessionStream_streamId,+ streamingSessionStream_url,++ -- ** Studio+ studio_adminRoleArn,+ studio_arn,+ studio_createdAt,+ studio_displayName,+ studio_homeRegion,+ studio_ssoClientId,+ studio_state,+ studio_statusCode,+ studio_statusMessage,+ studio_studioEncryptionConfiguration,+ studio_studioId,+ studio_studioName,+ studio_studioUrl,+ studio_tags,+ studio_updatedAt,+ studio_userRoleArn,++ -- ** StudioComponent+ studioComponent_arn,+ studioComponent_configuration,+ studioComponent_createdAt,+ studioComponent_createdBy,+ studioComponent_description,+ studioComponent_ec2SecurityGroupIds,+ studioComponent_initializationScripts,+ studioComponent_name,+ studioComponent_runtimeRoleArn,+ studioComponent_scriptParameters,+ studioComponent_secureInitializationRoleArn,+ studioComponent_state,+ studioComponent_statusCode,+ studioComponent_statusMessage,+ studioComponent_studioComponentId,+ studioComponent_subtype,+ studioComponent_tags,+ studioComponent_type,+ studioComponent_updatedAt,+ studioComponent_updatedBy,++ -- ** StudioComponentConfiguration+ studioComponentConfiguration_activeDirectoryConfiguration,+ studioComponentConfiguration_computeFarmConfiguration,+ studioComponentConfiguration_licenseServiceConfiguration,+ studioComponentConfiguration_sharedFileSystemConfiguration,++ -- ** StudioComponentInitializationScript+ studioComponentInitializationScript_launchProfileProtocolVersion,+ studioComponentInitializationScript_platform,+ studioComponentInitializationScript_runContext,+ studioComponentInitializationScript_script,++ -- ** StudioComponentSummary+ studioComponentSummary_createdAt,+ studioComponentSummary_createdBy,+ studioComponentSummary_description,+ studioComponentSummary_name,+ studioComponentSummary_studioComponentId,+ studioComponentSummary_subtype,+ studioComponentSummary_type,+ studioComponentSummary_updatedAt,+ studioComponentSummary_updatedBy,++ -- ** StudioEncryptionConfiguration+ studioEncryptionConfiguration_keyArn,+ studioEncryptionConfiguration_keyType,++ -- ** StudioMembership+ studioMembership_identityStoreId,+ studioMembership_persona,+ studioMembership_principalId,+ studioMembership_sid,++ -- ** ValidationResult+ validationResult_state,+ validationResult_statusCode,+ validationResult_statusMessage,+ validationResult_type,++ -- ** VolumeConfiguration+ volumeConfiguration_iops,+ volumeConfiguration_size,+ volumeConfiguration_throughput,+ )+where++import Amazonka.Nimble.AcceptEulas+import Amazonka.Nimble.CreateLaunchProfile+import Amazonka.Nimble.CreateStreamingImage+import Amazonka.Nimble.CreateStreamingSession+import Amazonka.Nimble.CreateStreamingSessionStream+import Amazonka.Nimble.CreateStudio+import Amazonka.Nimble.CreateStudioComponent+import Amazonka.Nimble.DeleteLaunchProfile+import Amazonka.Nimble.DeleteLaunchProfileMember+import Amazonka.Nimble.DeleteStreamingImage+import Amazonka.Nimble.DeleteStreamingSession+import Amazonka.Nimble.DeleteStudio+import Amazonka.Nimble.DeleteStudioComponent+import Amazonka.Nimble.DeleteStudioMember+import Amazonka.Nimble.GetEula+import Amazonka.Nimble.GetLaunchProfile+import Amazonka.Nimble.GetLaunchProfileDetails+import Amazonka.Nimble.GetLaunchProfileInitialization+import Amazonka.Nimble.GetLaunchProfileMember+import Amazonka.Nimble.GetStreamingImage+import Amazonka.Nimble.GetStreamingSession+import Amazonka.Nimble.GetStreamingSessionBackup+import Amazonka.Nimble.GetStreamingSessionStream+import Amazonka.Nimble.GetStudio+import Amazonka.Nimble.GetStudioComponent+import Amazonka.Nimble.GetStudioMember+import Amazonka.Nimble.ListEulaAcceptances+import Amazonka.Nimble.ListEulas+import Amazonka.Nimble.ListLaunchProfileMembers+import Amazonka.Nimble.ListLaunchProfiles+import Amazonka.Nimble.ListStreamingImages+import Amazonka.Nimble.ListStreamingSessionBackups+import Amazonka.Nimble.ListStreamingSessions+import Amazonka.Nimble.ListStudioComponents+import Amazonka.Nimble.ListStudioMembers+import Amazonka.Nimble.ListStudios+import Amazonka.Nimble.ListTagsForResource+import Amazonka.Nimble.PutLaunchProfileMembers+import Amazonka.Nimble.PutStudioMembers+import Amazonka.Nimble.StartStreamingSession+import Amazonka.Nimble.StartStudioSSOConfigurationRepair+import Amazonka.Nimble.StopStreamingSession+import Amazonka.Nimble.TagResource+import Amazonka.Nimble.Types.ActiveDirectoryComputerAttribute+import Amazonka.Nimble.Types.ActiveDirectoryConfiguration+import Amazonka.Nimble.Types.ComputeFarmConfiguration+import Amazonka.Nimble.Types.Eula+import Amazonka.Nimble.Types.EulaAcceptance+import Amazonka.Nimble.Types.LaunchProfile+import Amazonka.Nimble.Types.LaunchProfileInitialization+import Amazonka.Nimble.Types.LaunchProfileInitializationActiveDirectory+import Amazonka.Nimble.Types.LaunchProfileInitializationScript+import Amazonka.Nimble.Types.LaunchProfileMembership+import Amazonka.Nimble.Types.LicenseServiceConfiguration+import Amazonka.Nimble.Types.NewLaunchProfileMember+import Amazonka.Nimble.Types.NewStudioMember+import Amazonka.Nimble.Types.ScriptParameterKeyValue+import Amazonka.Nimble.Types.SharedFileSystemConfiguration+import Amazonka.Nimble.Types.StreamConfiguration+import Amazonka.Nimble.Types.StreamConfigurationCreate+import Amazonka.Nimble.Types.StreamConfigurationSessionBackup+import Amazonka.Nimble.Types.StreamConfigurationSessionStorage+import Amazonka.Nimble.Types.StreamingImage+import Amazonka.Nimble.Types.StreamingImageEncryptionConfiguration+import Amazonka.Nimble.Types.StreamingSession+import Amazonka.Nimble.Types.StreamingSessionBackup+import Amazonka.Nimble.Types.StreamingSessionStorageRoot+import Amazonka.Nimble.Types.StreamingSessionStream+import Amazonka.Nimble.Types.Studio+import Amazonka.Nimble.Types.StudioComponent+import Amazonka.Nimble.Types.StudioComponentConfiguration+import Amazonka.Nimble.Types.StudioComponentInitializationScript+import Amazonka.Nimble.Types.StudioComponentSummary+import Amazonka.Nimble.Types.StudioEncryptionConfiguration+import Amazonka.Nimble.Types.StudioMembership+import Amazonka.Nimble.Types.ValidationResult+import Amazonka.Nimble.Types.VolumeConfiguration+import Amazonka.Nimble.UntagResource+import Amazonka.Nimble.UpdateLaunchProfile+import Amazonka.Nimble.UpdateLaunchProfileMember+import Amazonka.Nimble.UpdateStreamingImage+import Amazonka.Nimble.UpdateStudio+import Amazonka.Nimble.UpdateStudioComponent
+ gen/Amazonka/Nimble/ListEulaAcceptances.hs view
@@ -0,0 +1,241 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.ListEulaAcceptances+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List EULA acceptances.+--+-- This operation returns paginated results.+module Amazonka.Nimble.ListEulaAcceptances+ ( -- * Creating a Request+ ListEulaAcceptances (..),+ newListEulaAcceptances,++ -- * Request Lenses+ listEulaAcceptances_eulaIds,+ listEulaAcceptances_nextToken,+ listEulaAcceptances_studioId,++ -- * Destructuring the Response+ ListEulaAcceptancesResponse (..),+ newListEulaAcceptancesResponse,++ -- * Response Lenses+ listEulaAcceptancesResponse_eulaAcceptances,+ listEulaAcceptancesResponse_nextToken,+ listEulaAcceptancesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListEulaAcceptances' smart constructor.+data ListEulaAcceptances = ListEulaAcceptances'+ { -- | The list of EULA IDs that have been previously accepted.+ eulaIds :: Prelude.Maybe [Prelude.Text],+ -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEulaAcceptances' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eulaIds', 'listEulaAcceptances_eulaIds' - The list of EULA IDs that have been previously accepted.+--+-- 'nextToken', 'listEulaAcceptances_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'studioId', 'listEulaAcceptances_studioId' - The studio ID.+newListEulaAcceptances ::+ -- | 'studioId'+ Prelude.Text ->+ ListEulaAcceptances+newListEulaAcceptances pStudioId_ =+ ListEulaAcceptances'+ { eulaIds = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ studioId = pStudioId_+ }++-- | The list of EULA IDs that have been previously accepted.+listEulaAcceptances_eulaIds :: Lens.Lens' ListEulaAcceptances (Prelude.Maybe [Prelude.Text])+listEulaAcceptances_eulaIds = Lens.lens (\ListEulaAcceptances' {eulaIds} -> eulaIds) (\s@ListEulaAcceptances' {} a -> s {eulaIds = a} :: ListEulaAcceptances) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listEulaAcceptances_nextToken :: Lens.Lens' ListEulaAcceptances (Prelude.Maybe Prelude.Text)+listEulaAcceptances_nextToken = Lens.lens (\ListEulaAcceptances' {nextToken} -> nextToken) (\s@ListEulaAcceptances' {} a -> s {nextToken = a} :: ListEulaAcceptances)++-- | The studio ID.+listEulaAcceptances_studioId :: Lens.Lens' ListEulaAcceptances Prelude.Text+listEulaAcceptances_studioId = Lens.lens (\ListEulaAcceptances' {studioId} -> studioId) (\s@ListEulaAcceptances' {} a -> s {studioId = a} :: ListEulaAcceptances)++instance Core.AWSPager ListEulaAcceptances where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listEulaAcceptancesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listEulaAcceptancesResponse_eulaAcceptances+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listEulaAcceptances_nextToken+ Lens..~ rs+ Lens.^? listEulaAcceptancesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListEulaAcceptances where+ type+ AWSResponse ListEulaAcceptances =+ ListEulaAcceptancesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListEulaAcceptancesResponse'+ Prelude.<$> ( x+ Data..?> "eulaAcceptances"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListEulaAcceptances where+ hashWithSalt _salt ListEulaAcceptances' {..} =+ _salt+ `Prelude.hashWithSalt` eulaIds+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData ListEulaAcceptances where+ rnf ListEulaAcceptances' {..} =+ Prelude.rnf eulaIds+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders ListEulaAcceptances where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListEulaAcceptances where+ toPath ListEulaAcceptances' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/eula-acceptances"+ ]++instance Data.ToQuery ListEulaAcceptances where+ toQuery ListEulaAcceptances' {..} =+ Prelude.mconcat+ [ "eulaIds"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> eulaIds),+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListEulaAcceptancesResponse' smart constructor.+data ListEulaAcceptancesResponse = ListEulaAcceptancesResponse'+ { -- | A collection of EULA acceptances.+ eulaAcceptances :: Prelude.Maybe [EulaAcceptance],+ -- | The token for the next set of results, or null if there are no more+ -- 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 'ListEulaAcceptancesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eulaAcceptances', 'listEulaAcceptancesResponse_eulaAcceptances' - A collection of EULA acceptances.+--+-- 'nextToken', 'listEulaAcceptancesResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'httpStatus', 'listEulaAcceptancesResponse_httpStatus' - The response's http status code.+newListEulaAcceptancesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListEulaAcceptancesResponse+newListEulaAcceptancesResponse pHttpStatus_ =+ ListEulaAcceptancesResponse'+ { eulaAcceptances =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A collection of EULA acceptances.+listEulaAcceptancesResponse_eulaAcceptances :: Lens.Lens' ListEulaAcceptancesResponse (Prelude.Maybe [EulaAcceptance])+listEulaAcceptancesResponse_eulaAcceptances = Lens.lens (\ListEulaAcceptancesResponse' {eulaAcceptances} -> eulaAcceptances) (\s@ListEulaAcceptancesResponse' {} a -> s {eulaAcceptances = a} :: ListEulaAcceptancesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listEulaAcceptancesResponse_nextToken :: Lens.Lens' ListEulaAcceptancesResponse (Prelude.Maybe Prelude.Text)+listEulaAcceptancesResponse_nextToken = Lens.lens (\ListEulaAcceptancesResponse' {nextToken} -> nextToken) (\s@ListEulaAcceptancesResponse' {} a -> s {nextToken = a} :: ListEulaAcceptancesResponse)++-- | The response's http status code.+listEulaAcceptancesResponse_httpStatus :: Lens.Lens' ListEulaAcceptancesResponse Prelude.Int+listEulaAcceptancesResponse_httpStatus = Lens.lens (\ListEulaAcceptancesResponse' {httpStatus} -> httpStatus) (\s@ListEulaAcceptancesResponse' {} a -> s {httpStatus = a} :: ListEulaAcceptancesResponse)++instance Prelude.NFData ListEulaAcceptancesResponse where+ rnf ListEulaAcceptancesResponse' {..} =+ Prelude.rnf eulaAcceptances+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/ListEulas.hs view
@@ -0,0 +1,216 @@+{-# 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.Nimble.ListEulas+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List EULAs.+--+-- This operation returns paginated results.+module Amazonka.Nimble.ListEulas+ ( -- * Creating a Request+ ListEulas (..),+ newListEulas,++ -- * Request Lenses+ listEulas_eulaIds,+ listEulas_nextToken,++ -- * Destructuring the Response+ ListEulasResponse (..),+ newListEulasResponse,++ -- * Response Lenses+ listEulasResponse_eulas,+ listEulasResponse_nextToken,+ listEulasResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListEulas' smart constructor.+data ListEulas = ListEulas'+ { -- | The list of EULA IDs that should be returned+ eulaIds :: Prelude.Maybe [Prelude.Text],+ -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEulas' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eulaIds', 'listEulas_eulaIds' - The list of EULA IDs that should be returned+--+-- 'nextToken', 'listEulas_nextToken' - The token for the next set of results, or null if there are no more+-- results.+newListEulas ::+ ListEulas+newListEulas =+ ListEulas'+ { eulaIds = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The list of EULA IDs that should be returned+listEulas_eulaIds :: Lens.Lens' ListEulas (Prelude.Maybe [Prelude.Text])+listEulas_eulaIds = Lens.lens (\ListEulas' {eulaIds} -> eulaIds) (\s@ListEulas' {} a -> s {eulaIds = a} :: ListEulas) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listEulas_nextToken :: Lens.Lens' ListEulas (Prelude.Maybe Prelude.Text)+listEulas_nextToken = Lens.lens (\ListEulas' {nextToken} -> nextToken) (\s@ListEulas' {} a -> s {nextToken = a} :: ListEulas)++instance Core.AWSPager ListEulas where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listEulasResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listEulasResponse_eulas+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listEulas_nextToken+ Lens..~ rs+ Lens.^? listEulasResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListEulas where+ type AWSResponse ListEulas = ListEulasResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListEulasResponse'+ Prelude.<$> (x Data..?> "eulas" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListEulas where+ hashWithSalt _salt ListEulas' {..} =+ _salt+ `Prelude.hashWithSalt` eulaIds+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListEulas where+ rnf ListEulas' {..} =+ Prelude.rnf eulaIds+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListEulas where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListEulas where+ toPath = Prelude.const "/2020-08-01/eulas"++instance Data.ToQuery ListEulas where+ toQuery ListEulas' {..} =+ Prelude.mconcat+ [ "eulaIds"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> eulaIds),+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListEulasResponse' smart constructor.+data ListEulasResponse = ListEulasResponse'+ { -- | A collection of EULA resources.+ eulas :: Prelude.Maybe [Eula],+ -- | The token for the next set of results, or null if there are no more+ -- 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 'ListEulasResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eulas', 'listEulasResponse_eulas' - A collection of EULA resources.+--+-- 'nextToken', 'listEulasResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'httpStatus', 'listEulasResponse_httpStatus' - The response's http status code.+newListEulasResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListEulasResponse+newListEulasResponse pHttpStatus_ =+ ListEulasResponse'+ { eulas = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A collection of EULA resources.+listEulasResponse_eulas :: Lens.Lens' ListEulasResponse (Prelude.Maybe [Eula])+listEulasResponse_eulas = Lens.lens (\ListEulasResponse' {eulas} -> eulas) (\s@ListEulasResponse' {} a -> s {eulas = a} :: ListEulasResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listEulasResponse_nextToken :: Lens.Lens' ListEulasResponse (Prelude.Maybe Prelude.Text)+listEulasResponse_nextToken = Lens.lens (\ListEulasResponse' {nextToken} -> nextToken) (\s@ListEulasResponse' {} a -> s {nextToken = a} :: ListEulasResponse)++-- | The response's http status code.+listEulasResponse_httpStatus :: Lens.Lens' ListEulasResponse Prelude.Int+listEulasResponse_httpStatus = Lens.lens (\ListEulasResponse' {httpStatus} -> httpStatus) (\s@ListEulasResponse' {} a -> s {httpStatus = a} :: ListEulasResponse)++instance Prelude.NFData ListEulasResponse where+ rnf ListEulasResponse' {..} =+ Prelude.rnf eulas+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/ListLaunchProfileMembers.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.ListLaunchProfileMembers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get all users in a given launch profile membership.+--+-- This operation returns paginated results.+module Amazonka.Nimble.ListLaunchProfileMembers+ ( -- * Creating a Request+ ListLaunchProfileMembers (..),+ newListLaunchProfileMembers,++ -- * Request Lenses+ listLaunchProfileMembers_maxResults,+ listLaunchProfileMembers_nextToken,+ listLaunchProfileMembers_launchProfileId,+ listLaunchProfileMembers_studioId,++ -- * Destructuring the Response+ ListLaunchProfileMembersResponse (..),+ newListLaunchProfileMembersResponse,++ -- * Response Lenses+ listLaunchProfileMembersResponse_members,+ listLaunchProfileMembersResponse_nextToken,+ listLaunchProfileMembersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListLaunchProfileMembers' smart constructor.+data ListLaunchProfileMembers = ListLaunchProfileMembers'+ { -- | The max number of results to return in the response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLaunchProfileMembers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listLaunchProfileMembers_maxResults' - The max number of results to return in the response.+--+-- 'nextToken', 'listLaunchProfileMembers_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'launchProfileId', 'listLaunchProfileMembers_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'studioId', 'listLaunchProfileMembers_studioId' - The studio ID.+newListLaunchProfileMembers ::+ -- | 'launchProfileId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ ListLaunchProfileMembers+newListLaunchProfileMembers+ pLaunchProfileId_+ pStudioId_ =+ ListLaunchProfileMembers'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ launchProfileId = pLaunchProfileId_,+ studioId = pStudioId_+ }++-- | The max number of results to return in the response.+listLaunchProfileMembers_maxResults :: Lens.Lens' ListLaunchProfileMembers (Prelude.Maybe Prelude.Natural)+listLaunchProfileMembers_maxResults = Lens.lens (\ListLaunchProfileMembers' {maxResults} -> maxResults) (\s@ListLaunchProfileMembers' {} a -> s {maxResults = a} :: ListLaunchProfileMembers)++-- | The token for the next set of results, or null if there are no more+-- results.+listLaunchProfileMembers_nextToken :: Lens.Lens' ListLaunchProfileMembers (Prelude.Maybe Prelude.Text)+listLaunchProfileMembers_nextToken = Lens.lens (\ListLaunchProfileMembers' {nextToken} -> nextToken) (\s@ListLaunchProfileMembers' {} a -> s {nextToken = a} :: ListLaunchProfileMembers)++-- | The ID of the launch profile used to control access from the streaming+-- session.+listLaunchProfileMembers_launchProfileId :: Lens.Lens' ListLaunchProfileMembers Prelude.Text+listLaunchProfileMembers_launchProfileId = Lens.lens (\ListLaunchProfileMembers' {launchProfileId} -> launchProfileId) (\s@ListLaunchProfileMembers' {} a -> s {launchProfileId = a} :: ListLaunchProfileMembers)++-- | The studio ID.+listLaunchProfileMembers_studioId :: Lens.Lens' ListLaunchProfileMembers Prelude.Text+listLaunchProfileMembers_studioId = Lens.lens (\ListLaunchProfileMembers' {studioId} -> studioId) (\s@ListLaunchProfileMembers' {} a -> s {studioId = a} :: ListLaunchProfileMembers)++instance Core.AWSPager ListLaunchProfileMembers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listLaunchProfileMembersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listLaunchProfileMembersResponse_members+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listLaunchProfileMembers_nextToken+ Lens..~ rs+ Lens.^? listLaunchProfileMembersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListLaunchProfileMembers where+ type+ AWSResponse ListLaunchProfileMembers =+ ListLaunchProfileMembersResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListLaunchProfileMembersResponse'+ Prelude.<$> (x Data..?> "members" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListLaunchProfileMembers where+ hashWithSalt _salt ListLaunchProfileMembers' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData ListLaunchProfileMembers where+ rnf ListLaunchProfileMembers' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders ListLaunchProfileMembers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListLaunchProfileMembers where+ toPath ListLaunchProfileMembers' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/launch-profiles/",+ Data.toBS launchProfileId,+ "/membership"+ ]++instance Data.ToQuery ListLaunchProfileMembers where+ toQuery ListLaunchProfileMembers' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListLaunchProfileMembersResponse' smart constructor.+data ListLaunchProfileMembersResponse = ListLaunchProfileMembersResponse'+ { -- | A list of members.+ members :: Prelude.Maybe [LaunchProfileMembership],+ -- | The token for the next set of results, or null if there are no more+ -- 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 'ListLaunchProfileMembersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'members', 'listLaunchProfileMembersResponse_members' - A list of members.+--+-- 'nextToken', 'listLaunchProfileMembersResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'httpStatus', 'listLaunchProfileMembersResponse_httpStatus' - The response's http status code.+newListLaunchProfileMembersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListLaunchProfileMembersResponse+newListLaunchProfileMembersResponse pHttpStatus_ =+ ListLaunchProfileMembersResponse'+ { members =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of members.+listLaunchProfileMembersResponse_members :: Lens.Lens' ListLaunchProfileMembersResponse (Prelude.Maybe [LaunchProfileMembership])+listLaunchProfileMembersResponse_members = Lens.lens (\ListLaunchProfileMembersResponse' {members} -> members) (\s@ListLaunchProfileMembersResponse' {} a -> s {members = a} :: ListLaunchProfileMembersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listLaunchProfileMembersResponse_nextToken :: Lens.Lens' ListLaunchProfileMembersResponse (Prelude.Maybe Prelude.Text)+listLaunchProfileMembersResponse_nextToken = Lens.lens (\ListLaunchProfileMembersResponse' {nextToken} -> nextToken) (\s@ListLaunchProfileMembersResponse' {} a -> s {nextToken = a} :: ListLaunchProfileMembersResponse)++-- | The response's http status code.+listLaunchProfileMembersResponse_httpStatus :: Lens.Lens' ListLaunchProfileMembersResponse Prelude.Int+listLaunchProfileMembersResponse_httpStatus = Lens.lens (\ListLaunchProfileMembersResponse' {httpStatus} -> httpStatus) (\s@ListLaunchProfileMembersResponse' {} a -> s {httpStatus = a} :: ListLaunchProfileMembersResponse)++instance+ Prelude.NFData+ ListLaunchProfileMembersResponse+ where+ rnf ListLaunchProfileMembersResponse' {..} =+ Prelude.rnf members+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/ListLaunchProfiles.hs view
@@ -0,0 +1,264 @@+{-# 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.Nimble.ListLaunchProfiles+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all the launch profiles a studio.+--+-- This operation returns paginated results.+module Amazonka.Nimble.ListLaunchProfiles+ ( -- * Creating a Request+ ListLaunchProfiles (..),+ newListLaunchProfiles,++ -- * Request Lenses+ listLaunchProfiles_maxResults,+ listLaunchProfiles_nextToken,+ listLaunchProfiles_principalId,+ listLaunchProfiles_states,+ listLaunchProfiles_studioId,++ -- * Destructuring the Response+ ListLaunchProfilesResponse (..),+ newListLaunchProfilesResponse,++ -- * Response Lenses+ listLaunchProfilesResponse_launchProfiles,+ listLaunchProfilesResponse_nextToken,+ listLaunchProfilesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListLaunchProfiles' smart constructor.+data ListLaunchProfiles = ListLaunchProfiles'+ { -- | The max number of results to return in the response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The principal ID. This currently supports a IAM Identity Center UserId.+ principalId :: Prelude.Maybe Prelude.Text,+ -- | Filter this request to launch profiles in any of the given states.+ states :: Prelude.Maybe [LaunchProfileState],+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLaunchProfiles' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listLaunchProfiles_maxResults' - The max number of results to return in the response.+--+-- 'nextToken', 'listLaunchProfiles_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'principalId', 'listLaunchProfiles_principalId' - The principal ID. This currently supports a IAM Identity Center UserId.+--+-- 'states', 'listLaunchProfiles_states' - Filter this request to launch profiles in any of the given states.+--+-- 'studioId', 'listLaunchProfiles_studioId' - The studio ID.+newListLaunchProfiles ::+ -- | 'studioId'+ Prelude.Text ->+ ListLaunchProfiles+newListLaunchProfiles pStudioId_ =+ ListLaunchProfiles'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ principalId = Prelude.Nothing,+ states = Prelude.Nothing,+ studioId = pStudioId_+ }++-- | The max number of results to return in the response.+listLaunchProfiles_maxResults :: Lens.Lens' ListLaunchProfiles (Prelude.Maybe Prelude.Natural)+listLaunchProfiles_maxResults = Lens.lens (\ListLaunchProfiles' {maxResults} -> maxResults) (\s@ListLaunchProfiles' {} a -> s {maxResults = a} :: ListLaunchProfiles)++-- | The token for the next set of results, or null if there are no more+-- results.+listLaunchProfiles_nextToken :: Lens.Lens' ListLaunchProfiles (Prelude.Maybe Prelude.Text)+listLaunchProfiles_nextToken = Lens.lens (\ListLaunchProfiles' {nextToken} -> nextToken) (\s@ListLaunchProfiles' {} a -> s {nextToken = a} :: ListLaunchProfiles)++-- | The principal ID. This currently supports a IAM Identity Center UserId.+listLaunchProfiles_principalId :: Lens.Lens' ListLaunchProfiles (Prelude.Maybe Prelude.Text)+listLaunchProfiles_principalId = Lens.lens (\ListLaunchProfiles' {principalId} -> principalId) (\s@ListLaunchProfiles' {} a -> s {principalId = a} :: ListLaunchProfiles)++-- | Filter this request to launch profiles in any of the given states.+listLaunchProfiles_states :: Lens.Lens' ListLaunchProfiles (Prelude.Maybe [LaunchProfileState])+listLaunchProfiles_states = Lens.lens (\ListLaunchProfiles' {states} -> states) (\s@ListLaunchProfiles' {} a -> s {states = a} :: ListLaunchProfiles) Prelude.. Lens.mapping Lens.coerced++-- | The studio ID.+listLaunchProfiles_studioId :: Lens.Lens' ListLaunchProfiles Prelude.Text+listLaunchProfiles_studioId = Lens.lens (\ListLaunchProfiles' {studioId} -> studioId) (\s@ListLaunchProfiles' {} a -> s {studioId = a} :: ListLaunchProfiles)++instance Core.AWSPager ListLaunchProfiles where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listLaunchProfilesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listLaunchProfilesResponse_launchProfiles+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listLaunchProfiles_nextToken+ Lens..~ rs+ Lens.^? listLaunchProfilesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListLaunchProfiles where+ type+ AWSResponse ListLaunchProfiles =+ ListLaunchProfilesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListLaunchProfilesResponse'+ Prelude.<$> (x Data..?> "launchProfiles" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListLaunchProfiles where+ hashWithSalt _salt ListLaunchProfiles' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` principalId+ `Prelude.hashWithSalt` states+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData ListLaunchProfiles where+ rnf ListLaunchProfiles' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf principalId+ `Prelude.seq` Prelude.rnf states+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders ListLaunchProfiles where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListLaunchProfiles where+ toPath ListLaunchProfiles' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/launch-profiles"+ ]++instance Data.ToQuery ListLaunchProfiles where+ toQuery ListLaunchProfiles' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "principalId" Data.=: principalId,+ "states"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> states)+ ]++-- | /See:/ 'newListLaunchProfilesResponse' smart constructor.+data ListLaunchProfilesResponse = ListLaunchProfilesResponse'+ { -- | A collection of launch profiles.+ launchProfiles :: Prelude.Maybe [LaunchProfile],+ -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLaunchProfilesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchProfiles', 'listLaunchProfilesResponse_launchProfiles' - A collection of launch profiles.+--+-- 'nextToken', 'listLaunchProfilesResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'httpStatus', 'listLaunchProfilesResponse_httpStatus' - The response's http status code.+newListLaunchProfilesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListLaunchProfilesResponse+newListLaunchProfilesResponse pHttpStatus_ =+ ListLaunchProfilesResponse'+ { launchProfiles =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A collection of launch profiles.+listLaunchProfilesResponse_launchProfiles :: Lens.Lens' ListLaunchProfilesResponse (Prelude.Maybe [LaunchProfile])+listLaunchProfilesResponse_launchProfiles = Lens.lens (\ListLaunchProfilesResponse' {launchProfiles} -> launchProfiles) (\s@ListLaunchProfilesResponse' {} a -> s {launchProfiles = a} :: ListLaunchProfilesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listLaunchProfilesResponse_nextToken :: Lens.Lens' ListLaunchProfilesResponse (Prelude.Maybe Prelude.Text)+listLaunchProfilesResponse_nextToken = Lens.lens (\ListLaunchProfilesResponse' {nextToken} -> nextToken) (\s@ListLaunchProfilesResponse' {} a -> s {nextToken = a} :: ListLaunchProfilesResponse)++-- | The response's http status code.+listLaunchProfilesResponse_httpStatus :: Lens.Lens' ListLaunchProfilesResponse Prelude.Int+listLaunchProfilesResponse_httpStatus = Lens.lens (\ListLaunchProfilesResponse' {httpStatus} -> httpStatus) (\s@ListLaunchProfilesResponse' {} a -> s {httpStatus = a} :: ListLaunchProfilesResponse)++instance Prelude.NFData ListLaunchProfilesResponse where+ rnf ListLaunchProfilesResponse' {..} =+ Prelude.rnf launchProfiles+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/ListStreamingImages.hs view
@@ -0,0 +1,242 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.ListStreamingImages+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the streaming image resources available to this studio.+--+-- This list will contain both images provided by Amazon Web Services, as+-- well as streaming images that you have created in your studio.+--+-- This operation returns paginated results.+module Amazonka.Nimble.ListStreamingImages+ ( -- * Creating a Request+ ListStreamingImages (..),+ newListStreamingImages,++ -- * Request Lenses+ listStreamingImages_nextToken,+ listStreamingImages_owner,+ listStreamingImages_studioId,++ -- * Destructuring the Response+ ListStreamingImagesResponse (..),+ newListStreamingImagesResponse,++ -- * Response Lenses+ listStreamingImagesResponse_nextToken,+ listStreamingImagesResponse_streamingImages,+ listStreamingImagesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListStreamingImages' smart constructor.+data ListStreamingImages = ListStreamingImages'+ { -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Filter this request to streaming images with the given owner+ owner :: Prelude.Maybe Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStreamingImages' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listStreamingImages_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'owner', 'listStreamingImages_owner' - Filter this request to streaming images with the given owner+--+-- 'studioId', 'listStreamingImages_studioId' - The studio ID.+newListStreamingImages ::+ -- | 'studioId'+ Prelude.Text ->+ ListStreamingImages+newListStreamingImages pStudioId_ =+ ListStreamingImages'+ { nextToken = Prelude.Nothing,+ owner = Prelude.Nothing,+ studioId = pStudioId_+ }++-- | The token for the next set of results, or null if there are no more+-- results.+listStreamingImages_nextToken :: Lens.Lens' ListStreamingImages (Prelude.Maybe Prelude.Text)+listStreamingImages_nextToken = Lens.lens (\ListStreamingImages' {nextToken} -> nextToken) (\s@ListStreamingImages' {} a -> s {nextToken = a} :: ListStreamingImages)++-- | Filter this request to streaming images with the given owner+listStreamingImages_owner :: Lens.Lens' ListStreamingImages (Prelude.Maybe Prelude.Text)+listStreamingImages_owner = Lens.lens (\ListStreamingImages' {owner} -> owner) (\s@ListStreamingImages' {} a -> s {owner = a} :: ListStreamingImages)++-- | The studio ID.+listStreamingImages_studioId :: Lens.Lens' ListStreamingImages Prelude.Text+listStreamingImages_studioId = Lens.lens (\ListStreamingImages' {studioId} -> studioId) (\s@ListStreamingImages' {} a -> s {studioId = a} :: ListStreamingImages)++instance Core.AWSPager ListStreamingImages where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listStreamingImagesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listStreamingImagesResponse_streamingImages+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listStreamingImages_nextToken+ Lens..~ rs+ Lens.^? listStreamingImagesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListStreamingImages where+ type+ AWSResponse ListStreamingImages =+ ListStreamingImagesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListStreamingImagesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "streamingImages"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListStreamingImages where+ hashWithSalt _salt ListStreamingImages' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` owner+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData ListStreamingImages where+ rnf ListStreamingImages' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf owner+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders ListStreamingImages where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListStreamingImages where+ toPath ListStreamingImages' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-images"+ ]++instance Data.ToQuery ListStreamingImages where+ toQuery ListStreamingImages' {..} =+ Prelude.mconcat+ [ "nextToken" Data.=: nextToken,+ "owner" Data.=: owner+ ]++-- | /See:/ 'newListStreamingImagesResponse' smart constructor.+data ListStreamingImagesResponse = ListStreamingImagesResponse'+ { -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A collection of streaming images.+ streamingImages :: Prelude.Maybe [StreamingImage],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStreamingImagesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listStreamingImagesResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'streamingImages', 'listStreamingImagesResponse_streamingImages' - A collection of streaming images.+--+-- 'httpStatus', 'listStreamingImagesResponse_httpStatus' - The response's http status code.+newListStreamingImagesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListStreamingImagesResponse+newListStreamingImagesResponse pHttpStatus_ =+ ListStreamingImagesResponse'+ { nextToken =+ Prelude.Nothing,+ streamingImages = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token for the next set of results, or null if there are no more+-- results.+listStreamingImagesResponse_nextToken :: Lens.Lens' ListStreamingImagesResponse (Prelude.Maybe Prelude.Text)+listStreamingImagesResponse_nextToken = Lens.lens (\ListStreamingImagesResponse' {nextToken} -> nextToken) (\s@ListStreamingImagesResponse' {} a -> s {nextToken = a} :: ListStreamingImagesResponse)++-- | A collection of streaming images.+listStreamingImagesResponse_streamingImages :: Lens.Lens' ListStreamingImagesResponse (Prelude.Maybe [StreamingImage])+listStreamingImagesResponse_streamingImages = Lens.lens (\ListStreamingImagesResponse' {streamingImages} -> streamingImages) (\s@ListStreamingImagesResponse' {} a -> s {streamingImages = a} :: ListStreamingImagesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listStreamingImagesResponse_httpStatus :: Lens.Lens' ListStreamingImagesResponse Prelude.Int+listStreamingImagesResponse_httpStatus = Lens.lens (\ListStreamingImagesResponse' {httpStatus} -> httpStatus) (\s@ListStreamingImagesResponse' {} a -> s {httpStatus = a} :: ListStreamingImagesResponse)++instance Prelude.NFData ListStreamingImagesResponse where+ rnf ListStreamingImagesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf streamingImages+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/ListStreamingSessionBackups.hs view
@@ -0,0 +1,244 @@+{-# 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.Nimble.ListStreamingSessionBackups+-- 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 backups of a streaming session in a studio.+--+-- This operation returns paginated results.+module Amazonka.Nimble.ListStreamingSessionBackups+ ( -- * Creating a Request+ ListStreamingSessionBackups (..),+ newListStreamingSessionBackups,++ -- * Request Lenses+ listStreamingSessionBackups_nextToken,+ listStreamingSessionBackups_ownedBy,+ listStreamingSessionBackups_studioId,++ -- * Destructuring the Response+ ListStreamingSessionBackupsResponse (..),+ newListStreamingSessionBackupsResponse,++ -- * Response Lenses+ listStreamingSessionBackupsResponse_nextToken,+ listStreamingSessionBackupsResponse_streamingSessionBackups,+ listStreamingSessionBackupsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListStreamingSessionBackups' smart constructor.+data ListStreamingSessionBackups = ListStreamingSessionBackups'+ { -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The user ID of the user that owns the streaming session.+ ownedBy :: Prelude.Maybe Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStreamingSessionBackups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listStreamingSessionBackups_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'ownedBy', 'listStreamingSessionBackups_ownedBy' - The user ID of the user that owns the streaming session.+--+-- 'studioId', 'listStreamingSessionBackups_studioId' - The studio ID.+newListStreamingSessionBackups ::+ -- | 'studioId'+ Prelude.Text ->+ ListStreamingSessionBackups+newListStreamingSessionBackups pStudioId_ =+ ListStreamingSessionBackups'+ { nextToken =+ Prelude.Nothing,+ ownedBy = Prelude.Nothing,+ studioId = pStudioId_+ }++-- | The token for the next set of results, or null if there are no more+-- results.+listStreamingSessionBackups_nextToken :: Lens.Lens' ListStreamingSessionBackups (Prelude.Maybe Prelude.Text)+listStreamingSessionBackups_nextToken = Lens.lens (\ListStreamingSessionBackups' {nextToken} -> nextToken) (\s@ListStreamingSessionBackups' {} a -> s {nextToken = a} :: ListStreamingSessionBackups)++-- | The user ID of the user that owns the streaming session.+listStreamingSessionBackups_ownedBy :: Lens.Lens' ListStreamingSessionBackups (Prelude.Maybe Prelude.Text)+listStreamingSessionBackups_ownedBy = Lens.lens (\ListStreamingSessionBackups' {ownedBy} -> ownedBy) (\s@ListStreamingSessionBackups' {} a -> s {ownedBy = a} :: ListStreamingSessionBackups)++-- | The studio ID.+listStreamingSessionBackups_studioId :: Lens.Lens' ListStreamingSessionBackups Prelude.Text+listStreamingSessionBackups_studioId = Lens.lens (\ListStreamingSessionBackups' {studioId} -> studioId) (\s@ListStreamingSessionBackups' {} a -> s {studioId = a} :: ListStreamingSessionBackups)++instance Core.AWSPager ListStreamingSessionBackups where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listStreamingSessionBackupsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listStreamingSessionBackupsResponse_streamingSessionBackups+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listStreamingSessionBackups_nextToken+ Lens..~ rs+ Lens.^? listStreamingSessionBackupsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListStreamingSessionBackups where+ type+ AWSResponse ListStreamingSessionBackups =+ ListStreamingSessionBackupsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListStreamingSessionBackupsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "streamingSessionBackups"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListStreamingSessionBackups where+ hashWithSalt _salt ListStreamingSessionBackups' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` ownedBy+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData ListStreamingSessionBackups where+ rnf ListStreamingSessionBackups' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf ownedBy+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders ListStreamingSessionBackups where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListStreamingSessionBackups where+ toPath ListStreamingSessionBackups' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-session-backups"+ ]++instance Data.ToQuery ListStreamingSessionBackups where+ toQuery ListStreamingSessionBackups' {..} =+ Prelude.mconcat+ [ "nextToken" Data.=: nextToken,+ "ownedBy" Data.=: ownedBy+ ]++-- | /See:/ 'newListStreamingSessionBackupsResponse' smart constructor.+data ListStreamingSessionBackupsResponse = ListStreamingSessionBackupsResponse'+ { -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Information about the streaming session backups.+ streamingSessionBackups :: Prelude.Maybe [StreamingSessionBackup],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStreamingSessionBackupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listStreamingSessionBackupsResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'streamingSessionBackups', 'listStreamingSessionBackupsResponse_streamingSessionBackups' - Information about the streaming session backups.+--+-- 'httpStatus', 'listStreamingSessionBackupsResponse_httpStatus' - The response's http status code.+newListStreamingSessionBackupsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListStreamingSessionBackupsResponse+newListStreamingSessionBackupsResponse pHttpStatus_ =+ ListStreamingSessionBackupsResponse'+ { nextToken =+ Prelude.Nothing,+ streamingSessionBackups =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token for the next set of results, or null if there are no more+-- results.+listStreamingSessionBackupsResponse_nextToken :: Lens.Lens' ListStreamingSessionBackupsResponse (Prelude.Maybe Prelude.Text)+listStreamingSessionBackupsResponse_nextToken = Lens.lens (\ListStreamingSessionBackupsResponse' {nextToken} -> nextToken) (\s@ListStreamingSessionBackupsResponse' {} a -> s {nextToken = a} :: ListStreamingSessionBackupsResponse)++-- | Information about the streaming session backups.+listStreamingSessionBackupsResponse_streamingSessionBackups :: Lens.Lens' ListStreamingSessionBackupsResponse (Prelude.Maybe [StreamingSessionBackup])+listStreamingSessionBackupsResponse_streamingSessionBackups = Lens.lens (\ListStreamingSessionBackupsResponse' {streamingSessionBackups} -> streamingSessionBackups) (\s@ListStreamingSessionBackupsResponse' {} a -> s {streamingSessionBackups = a} :: ListStreamingSessionBackupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listStreamingSessionBackupsResponse_httpStatus :: Lens.Lens' ListStreamingSessionBackupsResponse Prelude.Int+listStreamingSessionBackupsResponse_httpStatus = Lens.lens (\ListStreamingSessionBackupsResponse' {httpStatus} -> httpStatus) (\s@ListStreamingSessionBackupsResponse' {} a -> s {httpStatus = a} :: ListStreamingSessionBackupsResponse)++instance+ Prelude.NFData+ ListStreamingSessionBackupsResponse+ where+ rnf ListStreamingSessionBackupsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf streamingSessionBackups+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/ListStreamingSessions.hs view
@@ -0,0 +1,262 @@+{-# 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.Nimble.ListStreamingSessions+-- 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 streaming sessions in a studio.+--+-- This operation returns paginated results.+module Amazonka.Nimble.ListStreamingSessions+ ( -- * Creating a Request+ ListStreamingSessions (..),+ newListStreamingSessions,++ -- * Request Lenses+ listStreamingSessions_createdBy,+ listStreamingSessions_nextToken,+ listStreamingSessions_ownedBy,+ listStreamingSessions_sessionIds,+ listStreamingSessions_studioId,++ -- * Destructuring the Response+ ListStreamingSessionsResponse (..),+ newListStreamingSessionsResponse,++ -- * Response Lenses+ listStreamingSessionsResponse_nextToken,+ listStreamingSessionsResponse_sessions,+ listStreamingSessionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListStreamingSessions' smart constructor.+data ListStreamingSessions = ListStreamingSessions'+ { -- | Filters the request to streaming sessions created by the given user.+ createdBy :: Prelude.Maybe Prelude.Text,+ -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Filters the request to streaming session owned by the given user+ ownedBy :: Prelude.Maybe Prelude.Text,+ -- | Filters the request to only the provided session IDs.+ sessionIds :: Prelude.Maybe Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStreamingSessions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdBy', 'listStreamingSessions_createdBy' - Filters the request to streaming sessions created by the given user.+--+-- 'nextToken', 'listStreamingSessions_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'ownedBy', 'listStreamingSessions_ownedBy' - Filters the request to streaming session owned by the given user+--+-- 'sessionIds', 'listStreamingSessions_sessionIds' - Filters the request to only the provided session IDs.+--+-- 'studioId', 'listStreamingSessions_studioId' - The studio ID.+newListStreamingSessions ::+ -- | 'studioId'+ Prelude.Text ->+ ListStreamingSessions+newListStreamingSessions pStudioId_ =+ ListStreamingSessions'+ { createdBy = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ ownedBy = Prelude.Nothing,+ sessionIds = Prelude.Nothing,+ studioId = pStudioId_+ }++-- | Filters the request to streaming sessions created by the given user.+listStreamingSessions_createdBy :: Lens.Lens' ListStreamingSessions (Prelude.Maybe Prelude.Text)+listStreamingSessions_createdBy = Lens.lens (\ListStreamingSessions' {createdBy} -> createdBy) (\s@ListStreamingSessions' {} a -> s {createdBy = a} :: ListStreamingSessions)++-- | The token for the next set of results, or null if there are no more+-- results.+listStreamingSessions_nextToken :: Lens.Lens' ListStreamingSessions (Prelude.Maybe Prelude.Text)+listStreamingSessions_nextToken = Lens.lens (\ListStreamingSessions' {nextToken} -> nextToken) (\s@ListStreamingSessions' {} a -> s {nextToken = a} :: ListStreamingSessions)++-- | Filters the request to streaming session owned by the given user+listStreamingSessions_ownedBy :: Lens.Lens' ListStreamingSessions (Prelude.Maybe Prelude.Text)+listStreamingSessions_ownedBy = Lens.lens (\ListStreamingSessions' {ownedBy} -> ownedBy) (\s@ListStreamingSessions' {} a -> s {ownedBy = a} :: ListStreamingSessions)++-- | Filters the request to only the provided session IDs.+listStreamingSessions_sessionIds :: Lens.Lens' ListStreamingSessions (Prelude.Maybe Prelude.Text)+listStreamingSessions_sessionIds = Lens.lens (\ListStreamingSessions' {sessionIds} -> sessionIds) (\s@ListStreamingSessions' {} a -> s {sessionIds = a} :: ListStreamingSessions)++-- | The studio ID.+listStreamingSessions_studioId :: Lens.Lens' ListStreamingSessions Prelude.Text+listStreamingSessions_studioId = Lens.lens (\ListStreamingSessions' {studioId} -> studioId) (\s@ListStreamingSessions' {} a -> s {studioId = a} :: ListStreamingSessions)++instance Core.AWSPager ListStreamingSessions where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listStreamingSessionsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listStreamingSessionsResponse_sessions+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listStreamingSessions_nextToken+ Lens..~ rs+ Lens.^? listStreamingSessionsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListStreamingSessions where+ type+ AWSResponse ListStreamingSessions =+ ListStreamingSessionsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListStreamingSessionsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "sessions" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListStreamingSessions where+ hashWithSalt _salt ListStreamingSessions' {..} =+ _salt+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` ownedBy+ `Prelude.hashWithSalt` sessionIds+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData ListStreamingSessions where+ rnf ListStreamingSessions' {..} =+ Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf ownedBy+ `Prelude.seq` Prelude.rnf sessionIds+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders ListStreamingSessions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListStreamingSessions where+ toPath ListStreamingSessions' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-sessions"+ ]++instance Data.ToQuery ListStreamingSessions where+ toQuery ListStreamingSessions' {..} =+ Prelude.mconcat+ [ "createdBy" Data.=: createdBy,+ "nextToken" Data.=: nextToken,+ "ownedBy" Data.=: ownedBy,+ "sessionIds" Data.=: sessionIds+ ]++-- | /See:/ 'newListStreamingSessionsResponse' smart constructor.+data ListStreamingSessionsResponse = ListStreamingSessionsResponse'+ { -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A collection of streaming sessions.+ sessions :: Prelude.Maybe [StreamingSession],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStreamingSessionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listStreamingSessionsResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'sessions', 'listStreamingSessionsResponse_sessions' - A collection of streaming sessions.+--+-- 'httpStatus', 'listStreamingSessionsResponse_httpStatus' - The response's http status code.+newListStreamingSessionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListStreamingSessionsResponse+newListStreamingSessionsResponse pHttpStatus_ =+ ListStreamingSessionsResponse'+ { nextToken =+ Prelude.Nothing,+ sessions = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token for the next set of results, or null if there are no more+-- results.+listStreamingSessionsResponse_nextToken :: Lens.Lens' ListStreamingSessionsResponse (Prelude.Maybe Prelude.Text)+listStreamingSessionsResponse_nextToken = Lens.lens (\ListStreamingSessionsResponse' {nextToken} -> nextToken) (\s@ListStreamingSessionsResponse' {} a -> s {nextToken = a} :: ListStreamingSessionsResponse)++-- | A collection of streaming sessions.+listStreamingSessionsResponse_sessions :: Lens.Lens' ListStreamingSessionsResponse (Prelude.Maybe [StreamingSession])+listStreamingSessionsResponse_sessions = Lens.lens (\ListStreamingSessionsResponse' {sessions} -> sessions) (\s@ListStreamingSessionsResponse' {} a -> s {sessions = a} :: ListStreamingSessionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listStreamingSessionsResponse_httpStatus :: Lens.Lens' ListStreamingSessionsResponse Prelude.Int+listStreamingSessionsResponse_httpStatus = Lens.lens (\ListStreamingSessionsResponse' {httpStatus} -> httpStatus) (\s@ListStreamingSessionsResponse' {} a -> s {httpStatus = a} :: ListStreamingSessionsResponse)++instance Prelude.NFData ListStreamingSessionsResponse where+ rnf ListStreamingSessionsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf sessions+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/ListStudioComponents.hs view
@@ -0,0 +1,275 @@+{-# 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.Nimble.ListStudioComponents+-- 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 @StudioComponents@ in a studio.+--+-- This operation returns paginated results.+module Amazonka.Nimble.ListStudioComponents+ ( -- * Creating a Request+ ListStudioComponents (..),+ newListStudioComponents,++ -- * Request Lenses+ listStudioComponents_maxResults,+ listStudioComponents_nextToken,+ listStudioComponents_states,+ listStudioComponents_types,+ listStudioComponents_studioId,++ -- * Destructuring the Response+ ListStudioComponentsResponse (..),+ newListStudioComponentsResponse,++ -- * Response Lenses+ listStudioComponentsResponse_nextToken,+ listStudioComponentsResponse_studioComponents,+ listStudioComponentsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListStudioComponents' smart constructor.+data ListStudioComponents = ListStudioComponents'+ { -- | The max number of results to return in the response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Filters the request to studio components that are in one of the given+ -- states.+ states :: Prelude.Maybe [StudioComponentState],+ -- | Filters the request to studio components that are of one of the given+ -- types.+ types :: Prelude.Maybe [StudioComponentType],+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStudioComponents' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listStudioComponents_maxResults' - The max number of results to return in the response.+--+-- 'nextToken', 'listStudioComponents_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'states', 'listStudioComponents_states' - Filters the request to studio components that are in one of the given+-- states.+--+-- 'types', 'listStudioComponents_types' - Filters the request to studio components that are of one of the given+-- types.+--+-- 'studioId', 'listStudioComponents_studioId' - The studio ID.+newListStudioComponents ::+ -- | 'studioId'+ Prelude.Text ->+ ListStudioComponents+newListStudioComponents pStudioId_ =+ ListStudioComponents'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ states = Prelude.Nothing,+ types = Prelude.Nothing,+ studioId = pStudioId_+ }++-- | The max number of results to return in the response.+listStudioComponents_maxResults :: Lens.Lens' ListStudioComponents (Prelude.Maybe Prelude.Natural)+listStudioComponents_maxResults = Lens.lens (\ListStudioComponents' {maxResults} -> maxResults) (\s@ListStudioComponents' {} a -> s {maxResults = a} :: ListStudioComponents)++-- | The token for the next set of results, or null if there are no more+-- results.+listStudioComponents_nextToken :: Lens.Lens' ListStudioComponents (Prelude.Maybe Prelude.Text)+listStudioComponents_nextToken = Lens.lens (\ListStudioComponents' {nextToken} -> nextToken) (\s@ListStudioComponents' {} a -> s {nextToken = a} :: ListStudioComponents)++-- | Filters the request to studio components that are in one of the given+-- states.+listStudioComponents_states :: Lens.Lens' ListStudioComponents (Prelude.Maybe [StudioComponentState])+listStudioComponents_states = Lens.lens (\ListStudioComponents' {states} -> states) (\s@ListStudioComponents' {} a -> s {states = a} :: ListStudioComponents) Prelude.. Lens.mapping Lens.coerced++-- | Filters the request to studio components that are of one of the given+-- types.+listStudioComponents_types :: Lens.Lens' ListStudioComponents (Prelude.Maybe [StudioComponentType])+listStudioComponents_types = Lens.lens (\ListStudioComponents' {types} -> types) (\s@ListStudioComponents' {} a -> s {types = a} :: ListStudioComponents) Prelude.. Lens.mapping Lens.coerced++-- | The studio ID.+listStudioComponents_studioId :: Lens.Lens' ListStudioComponents Prelude.Text+listStudioComponents_studioId = Lens.lens (\ListStudioComponents' {studioId} -> studioId) (\s@ListStudioComponents' {} a -> s {studioId = a} :: ListStudioComponents)++instance Core.AWSPager ListStudioComponents where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listStudioComponentsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listStudioComponentsResponse_studioComponents+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listStudioComponents_nextToken+ Lens..~ rs+ Lens.^? listStudioComponentsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListStudioComponents where+ type+ AWSResponse ListStudioComponents =+ ListStudioComponentsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListStudioComponentsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "studioComponents"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListStudioComponents where+ hashWithSalt _salt ListStudioComponents' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` states+ `Prelude.hashWithSalt` types+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData ListStudioComponents where+ rnf ListStudioComponents' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf states+ `Prelude.seq` Prelude.rnf types+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders ListStudioComponents where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListStudioComponents where+ toPath ListStudioComponents' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/studio-components"+ ]++instance Data.ToQuery ListStudioComponents where+ toQuery ListStudioComponents' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "states"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> states),+ "types"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> types)+ ]++-- | /See:/ 'newListStudioComponentsResponse' smart constructor.+data ListStudioComponentsResponse = ListStudioComponentsResponse'+ { -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A collection of studio components.+ studioComponents :: Prelude.Maybe [StudioComponent],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStudioComponentsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listStudioComponentsResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'studioComponents', 'listStudioComponentsResponse_studioComponents' - A collection of studio components.+--+-- 'httpStatus', 'listStudioComponentsResponse_httpStatus' - The response's http status code.+newListStudioComponentsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListStudioComponentsResponse+newListStudioComponentsResponse pHttpStatus_ =+ ListStudioComponentsResponse'+ { nextToken =+ Prelude.Nothing,+ studioComponents = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token for the next set of results, or null if there are no more+-- results.+listStudioComponentsResponse_nextToken :: Lens.Lens' ListStudioComponentsResponse (Prelude.Maybe Prelude.Text)+listStudioComponentsResponse_nextToken = Lens.lens (\ListStudioComponentsResponse' {nextToken} -> nextToken) (\s@ListStudioComponentsResponse' {} a -> s {nextToken = a} :: ListStudioComponentsResponse)++-- | A collection of studio components.+listStudioComponentsResponse_studioComponents :: Lens.Lens' ListStudioComponentsResponse (Prelude.Maybe [StudioComponent])+listStudioComponentsResponse_studioComponents = Lens.lens (\ListStudioComponentsResponse' {studioComponents} -> studioComponents) (\s@ListStudioComponentsResponse' {} a -> s {studioComponents = a} :: ListStudioComponentsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listStudioComponentsResponse_httpStatus :: Lens.Lens' ListStudioComponentsResponse Prelude.Int+listStudioComponentsResponse_httpStatus = Lens.lens (\ListStudioComponentsResponse' {httpStatus} -> httpStatus) (\s@ListStudioComponentsResponse' {} a -> s {httpStatus = a} :: ListStudioComponentsResponse)++instance Prelude.NFData ListStudioComponentsResponse where+ rnf ListStudioComponentsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf studioComponents+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/ListStudioMembers.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.Nimble.ListStudioMembers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get all users in a given studio membership.+--+-- @ListStudioMembers@ only returns admin members.+--+-- This operation returns paginated results.+module Amazonka.Nimble.ListStudioMembers+ ( -- * Creating a Request+ ListStudioMembers (..),+ newListStudioMembers,++ -- * Request Lenses+ listStudioMembers_maxResults,+ listStudioMembers_nextToken,+ listStudioMembers_studioId,++ -- * Destructuring the Response+ ListStudioMembersResponse (..),+ newListStudioMembersResponse,++ -- * Response Lenses+ listStudioMembersResponse_members,+ listStudioMembersResponse_nextToken,+ listStudioMembersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListStudioMembers' smart constructor.+data ListStudioMembers = ListStudioMembers'+ { -- | The max number of results to return in the response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStudioMembers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listStudioMembers_maxResults' - The max number of results to return in the response.+--+-- 'nextToken', 'listStudioMembers_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'studioId', 'listStudioMembers_studioId' - The studio ID.+newListStudioMembers ::+ -- | 'studioId'+ Prelude.Text ->+ ListStudioMembers+newListStudioMembers pStudioId_ =+ ListStudioMembers'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ studioId = pStudioId_+ }++-- | The max number of results to return in the response.+listStudioMembers_maxResults :: Lens.Lens' ListStudioMembers (Prelude.Maybe Prelude.Natural)+listStudioMembers_maxResults = Lens.lens (\ListStudioMembers' {maxResults} -> maxResults) (\s@ListStudioMembers' {} a -> s {maxResults = a} :: ListStudioMembers)++-- | The token for the next set of results, or null if there are no more+-- results.+listStudioMembers_nextToken :: Lens.Lens' ListStudioMembers (Prelude.Maybe Prelude.Text)+listStudioMembers_nextToken = Lens.lens (\ListStudioMembers' {nextToken} -> nextToken) (\s@ListStudioMembers' {} a -> s {nextToken = a} :: ListStudioMembers)++-- | The studio ID.+listStudioMembers_studioId :: Lens.Lens' ListStudioMembers Prelude.Text+listStudioMembers_studioId = Lens.lens (\ListStudioMembers' {studioId} -> studioId) (\s@ListStudioMembers' {} a -> s {studioId = a} :: ListStudioMembers)++instance Core.AWSPager ListStudioMembers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listStudioMembersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listStudioMembersResponse_members+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listStudioMembers_nextToken+ Lens..~ rs+ Lens.^? listStudioMembersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListStudioMembers where+ type+ AWSResponse ListStudioMembers =+ ListStudioMembersResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListStudioMembersResponse'+ Prelude.<$> (x Data..?> "members" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListStudioMembers where+ hashWithSalt _salt ListStudioMembers' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData ListStudioMembers where+ rnf ListStudioMembers' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders ListStudioMembers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListStudioMembers where+ toPath ListStudioMembers' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/membership"+ ]++instance Data.ToQuery ListStudioMembers where+ toQuery ListStudioMembers' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListStudioMembersResponse' smart constructor.+data ListStudioMembersResponse = ListStudioMembersResponse'+ { -- | A list of admin members.+ members :: Prelude.Maybe [StudioMembership],+ -- | The token for the next set of results, or null if there are no more+ -- 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 'ListStudioMembersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'members', 'listStudioMembersResponse_members' - A list of admin members.+--+-- 'nextToken', 'listStudioMembersResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'httpStatus', 'listStudioMembersResponse_httpStatus' - The response's http status code.+newListStudioMembersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListStudioMembersResponse+newListStudioMembersResponse pHttpStatus_ =+ ListStudioMembersResponse'+ { members =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of admin members.+listStudioMembersResponse_members :: Lens.Lens' ListStudioMembersResponse (Prelude.Maybe [StudioMembership])+listStudioMembersResponse_members = Lens.lens (\ListStudioMembersResponse' {members} -> members) (\s@ListStudioMembersResponse' {} a -> s {members = a} :: ListStudioMembersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listStudioMembersResponse_nextToken :: Lens.Lens' ListStudioMembersResponse (Prelude.Maybe Prelude.Text)+listStudioMembersResponse_nextToken = Lens.lens (\ListStudioMembersResponse' {nextToken} -> nextToken) (\s@ListStudioMembersResponse' {} a -> s {nextToken = a} :: ListStudioMembersResponse)++-- | The response's http status code.+listStudioMembersResponse_httpStatus :: Lens.Lens' ListStudioMembersResponse Prelude.Int+listStudioMembersResponse_httpStatus = Lens.lens (\ListStudioMembersResponse' {httpStatus} -> httpStatus) (\s@ListStudioMembersResponse' {} a -> s {httpStatus = a} :: ListStudioMembersResponse)++instance Prelude.NFData ListStudioMembersResponse where+ rnf ListStudioMembersResponse' {..} =+ Prelude.rnf members+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/ListStudios.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.ListStudios+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List studios in your Amazon Web Services accounts in the requested+-- Amazon Web Services Region.+--+-- This operation returns paginated results.+module Amazonka.Nimble.ListStudios+ ( -- * Creating a Request+ ListStudios (..),+ newListStudios,++ -- * Request Lenses+ listStudios_nextToken,++ -- * Destructuring the Response+ ListStudiosResponse (..),+ newListStudiosResponse,++ -- * Response Lenses+ listStudiosResponse_nextToken,+ listStudiosResponse_httpStatus,+ listStudiosResponse_studios,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListStudios' smart constructor.+data ListStudios = ListStudios'+ { -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStudios' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listStudios_nextToken' - The token for the next set of results, or null if there are no more+-- results.+newListStudios ::+ ListStudios+newListStudios =+ ListStudios' {nextToken = Prelude.Nothing}++-- | The token for the next set of results, or null if there are no more+-- results.+listStudios_nextToken :: Lens.Lens' ListStudios (Prelude.Maybe Prelude.Text)+listStudios_nextToken = Lens.lens (\ListStudios' {nextToken} -> nextToken) (\s@ListStudios' {} a -> s {nextToken = a} :: ListStudios)++instance Core.AWSPager ListStudios where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listStudiosResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop (rs Lens.^. listStudiosResponse_studios) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listStudios_nextToken+ Lens..~ rs+ Lens.^? listStudiosResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListStudios where+ type AWSResponse ListStudios = ListStudiosResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListStudiosResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "studios" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListStudios where+ hashWithSalt _salt ListStudios' {..} =+ _salt `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListStudios where+ rnf ListStudios' {..} = Prelude.rnf nextToken++instance Data.ToHeaders ListStudios where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListStudios where+ toPath = Prelude.const "/2020-08-01/studios"++instance Data.ToQuery ListStudios where+ toQuery ListStudios' {..} =+ Prelude.mconcat ["nextToken" Data.=: nextToken]++-- | /See:/ 'newListStudiosResponse' smart constructor.+data ListStudiosResponse = ListStudiosResponse'+ { -- | The token for the next set of results, or null if there are no more+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A collection of studios.+ studios :: [Studio]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStudiosResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listStudiosResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'httpStatus', 'listStudiosResponse_httpStatus' - The response's http status code.+--+-- 'studios', 'listStudiosResponse_studios' - A collection of studios.+newListStudiosResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListStudiosResponse+newListStudiosResponse pHttpStatus_ =+ ListStudiosResponse'+ { nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ studios = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no more+-- results.+listStudiosResponse_nextToken :: Lens.Lens' ListStudiosResponse (Prelude.Maybe Prelude.Text)+listStudiosResponse_nextToken = Lens.lens (\ListStudiosResponse' {nextToken} -> nextToken) (\s@ListStudiosResponse' {} a -> s {nextToken = a} :: ListStudiosResponse)++-- | The response's http status code.+listStudiosResponse_httpStatus :: Lens.Lens' ListStudiosResponse Prelude.Int+listStudiosResponse_httpStatus = Lens.lens (\ListStudiosResponse' {httpStatus} -> httpStatus) (\s@ListStudiosResponse' {} a -> s {httpStatus = a} :: ListStudiosResponse)++-- | A collection of studios.+listStudiosResponse_studios :: Lens.Lens' ListStudiosResponse [Studio]+listStudiosResponse_studios = Lens.lens (\ListStudiosResponse' {studios} -> studios) (\s@ListStudiosResponse' {} a -> s {studios = a} :: ListStudiosResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListStudiosResponse where+ rnf ListStudiosResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf studios
+ gen/Amazonka/Nimble/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.Nimble.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)+--+-- Gets the tags for a resource, given its Amazon Resource Names (ARN).+--+-- This operation supports ARNs for all resource types in Nimble Studio+-- that support tags, including studio, studio component, launch profile,+-- streaming image, and streaming session. All resources that can be tagged+-- will contain an ARN property, so you do not have to create this ARN+-- yourself.+module Amazonka.Nimble.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.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The Amazon Resource Name (ARN) of the resource for which you want to+ -- list tags.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the resource for which you want to+-- list tags.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource for which you want to+-- list tags.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath ListTagsForResource' {..} =+ Prelude.mconcat+ ["/2020-08-01/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/PutLaunchProfileMembers.hs view
@@ -0,0 +1,237 @@+{-# 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.Nimble.PutLaunchProfileMembers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Add\/update users with given persona to launch profile membership.+module Amazonka.Nimble.PutLaunchProfileMembers+ ( -- * Creating a Request+ PutLaunchProfileMembers (..),+ newPutLaunchProfileMembers,++ -- * Request Lenses+ putLaunchProfileMembers_clientToken,+ putLaunchProfileMembers_identityStoreId,+ putLaunchProfileMembers_launchProfileId,+ putLaunchProfileMembers_members,+ putLaunchProfileMembers_studioId,++ -- * Destructuring the Response+ PutLaunchProfileMembersResponse (..),+ newPutLaunchProfileMembersResponse,++ -- * Response Lenses+ putLaunchProfileMembersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutLaunchProfileMembers' smart constructor.+data PutLaunchProfileMembers = PutLaunchProfileMembers'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the identity store.+ identityStoreId :: Prelude.Text,+ -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Text,+ -- | A list of members.+ members :: Prelude.NonEmpty NewLaunchProfileMember,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutLaunchProfileMembers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'putLaunchProfileMembers_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'identityStoreId', 'putLaunchProfileMembers_identityStoreId' - The ID of the identity store.+--+-- 'launchProfileId', 'putLaunchProfileMembers_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'members', 'putLaunchProfileMembers_members' - A list of members.+--+-- 'studioId', 'putLaunchProfileMembers_studioId' - The studio ID.+newPutLaunchProfileMembers ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'launchProfileId'+ Prelude.Text ->+ -- | 'members'+ Prelude.NonEmpty NewLaunchProfileMember ->+ -- | 'studioId'+ Prelude.Text ->+ PutLaunchProfileMembers+newPutLaunchProfileMembers+ pIdentityStoreId_+ pLaunchProfileId_+ pMembers_+ pStudioId_ =+ PutLaunchProfileMembers'+ { clientToken =+ Prelude.Nothing,+ identityStoreId = pIdentityStoreId_,+ launchProfileId = pLaunchProfileId_,+ members = Lens.coerced Lens.# pMembers_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+putLaunchProfileMembers_clientToken :: Lens.Lens' PutLaunchProfileMembers (Prelude.Maybe Prelude.Text)+putLaunchProfileMembers_clientToken = Lens.lens (\PutLaunchProfileMembers' {clientToken} -> clientToken) (\s@PutLaunchProfileMembers' {} a -> s {clientToken = a} :: PutLaunchProfileMembers)++-- | The ID of the identity store.+putLaunchProfileMembers_identityStoreId :: Lens.Lens' PutLaunchProfileMembers Prelude.Text+putLaunchProfileMembers_identityStoreId = Lens.lens (\PutLaunchProfileMembers' {identityStoreId} -> identityStoreId) (\s@PutLaunchProfileMembers' {} a -> s {identityStoreId = a} :: PutLaunchProfileMembers)++-- | The ID of the launch profile used to control access from the streaming+-- session.+putLaunchProfileMembers_launchProfileId :: Lens.Lens' PutLaunchProfileMembers Prelude.Text+putLaunchProfileMembers_launchProfileId = Lens.lens (\PutLaunchProfileMembers' {launchProfileId} -> launchProfileId) (\s@PutLaunchProfileMembers' {} a -> s {launchProfileId = a} :: PutLaunchProfileMembers)++-- | A list of members.+putLaunchProfileMembers_members :: Lens.Lens' PutLaunchProfileMembers (Prelude.NonEmpty NewLaunchProfileMember)+putLaunchProfileMembers_members = Lens.lens (\PutLaunchProfileMembers' {members} -> members) (\s@PutLaunchProfileMembers' {} a -> s {members = a} :: PutLaunchProfileMembers) Prelude.. Lens.coerced++-- | The studio ID.+putLaunchProfileMembers_studioId :: Lens.Lens' PutLaunchProfileMembers Prelude.Text+putLaunchProfileMembers_studioId = Lens.lens (\PutLaunchProfileMembers' {studioId} -> studioId) (\s@PutLaunchProfileMembers' {} a -> s {studioId = a} :: PutLaunchProfileMembers)++instance Core.AWSRequest PutLaunchProfileMembers where+ type+ AWSResponse PutLaunchProfileMembers =+ PutLaunchProfileMembersResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutLaunchProfileMembersResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutLaunchProfileMembers where+ hashWithSalt _salt PutLaunchProfileMembers' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` members+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData PutLaunchProfileMembers where+ rnf PutLaunchProfileMembers' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf members+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders PutLaunchProfileMembers where+ toHeaders PutLaunchProfileMembers' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON PutLaunchProfileMembers where+ toJSON PutLaunchProfileMembers' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("identityStoreId" Data..= identityStoreId),+ Prelude.Just ("members" Data..= members)+ ]+ )++instance Data.ToPath PutLaunchProfileMembers where+ toPath PutLaunchProfileMembers' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/launch-profiles/",+ Data.toBS launchProfileId,+ "/membership"+ ]++instance Data.ToQuery PutLaunchProfileMembers where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutLaunchProfileMembersResponse' smart constructor.+data PutLaunchProfileMembersResponse = PutLaunchProfileMembersResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutLaunchProfileMembersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putLaunchProfileMembersResponse_httpStatus' - The response's http status code.+newPutLaunchProfileMembersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutLaunchProfileMembersResponse+newPutLaunchProfileMembersResponse pHttpStatus_ =+ PutLaunchProfileMembersResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putLaunchProfileMembersResponse_httpStatus :: Lens.Lens' PutLaunchProfileMembersResponse Prelude.Int+putLaunchProfileMembersResponse_httpStatus = Lens.lens (\PutLaunchProfileMembersResponse' {httpStatus} -> httpStatus) (\s@PutLaunchProfileMembersResponse' {} a -> s {httpStatus = a} :: PutLaunchProfileMembersResponse)++instance+ Prelude.NFData+ PutLaunchProfileMembersResponse+ where+ rnf PutLaunchProfileMembersResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/PutStudioMembers.hs view
@@ -0,0 +1,213 @@+{-# 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.Nimble.PutStudioMembers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Add\/update users with given persona to studio membership.+module Amazonka.Nimble.PutStudioMembers+ ( -- * Creating a Request+ PutStudioMembers (..),+ newPutStudioMembers,++ -- * Request Lenses+ putStudioMembers_clientToken,+ putStudioMembers_identityStoreId,+ putStudioMembers_members,+ putStudioMembers_studioId,++ -- * Destructuring the Response+ PutStudioMembersResponse (..),+ newPutStudioMembersResponse,++ -- * Response Lenses+ putStudioMembersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutStudioMembers' smart constructor.+data PutStudioMembers = PutStudioMembers'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the identity store.+ identityStoreId :: Prelude.Text,+ -- | A list of members.+ members :: Prelude.NonEmpty NewStudioMember,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutStudioMembers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'putStudioMembers_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'identityStoreId', 'putStudioMembers_identityStoreId' - The ID of the identity store.+--+-- 'members', 'putStudioMembers_members' - A list of members.+--+-- 'studioId', 'putStudioMembers_studioId' - The studio ID.+newPutStudioMembers ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'members'+ Prelude.NonEmpty NewStudioMember ->+ -- | 'studioId'+ Prelude.Text ->+ PutStudioMembers+newPutStudioMembers+ pIdentityStoreId_+ pMembers_+ pStudioId_ =+ PutStudioMembers'+ { clientToken = Prelude.Nothing,+ identityStoreId = pIdentityStoreId_,+ members = Lens.coerced Lens.# pMembers_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+putStudioMembers_clientToken :: Lens.Lens' PutStudioMembers (Prelude.Maybe Prelude.Text)+putStudioMembers_clientToken = Lens.lens (\PutStudioMembers' {clientToken} -> clientToken) (\s@PutStudioMembers' {} a -> s {clientToken = a} :: PutStudioMembers)++-- | The ID of the identity store.+putStudioMembers_identityStoreId :: Lens.Lens' PutStudioMembers Prelude.Text+putStudioMembers_identityStoreId = Lens.lens (\PutStudioMembers' {identityStoreId} -> identityStoreId) (\s@PutStudioMembers' {} a -> s {identityStoreId = a} :: PutStudioMembers)++-- | A list of members.+putStudioMembers_members :: Lens.Lens' PutStudioMembers (Prelude.NonEmpty NewStudioMember)+putStudioMembers_members = Lens.lens (\PutStudioMembers' {members} -> members) (\s@PutStudioMembers' {} a -> s {members = a} :: PutStudioMembers) Prelude.. Lens.coerced++-- | The studio ID.+putStudioMembers_studioId :: Lens.Lens' PutStudioMembers Prelude.Text+putStudioMembers_studioId = Lens.lens (\PutStudioMembers' {studioId} -> studioId) (\s@PutStudioMembers' {} a -> s {studioId = a} :: PutStudioMembers)++instance Core.AWSRequest PutStudioMembers where+ type+ AWSResponse PutStudioMembers =+ PutStudioMembersResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutStudioMembersResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutStudioMembers where+ hashWithSalt _salt PutStudioMembers' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` members+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData PutStudioMembers where+ rnf PutStudioMembers' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf members+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders PutStudioMembers where+ toHeaders PutStudioMembers' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON PutStudioMembers where+ toJSON PutStudioMembers' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("identityStoreId" Data..= identityStoreId),+ Prelude.Just ("members" Data..= members)+ ]+ )++instance Data.ToPath PutStudioMembers where+ toPath PutStudioMembers' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/membership"+ ]++instance Data.ToQuery PutStudioMembers where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutStudioMembersResponse' smart constructor.+data PutStudioMembersResponse = PutStudioMembersResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutStudioMembersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putStudioMembersResponse_httpStatus' - The response's http status code.+newPutStudioMembersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutStudioMembersResponse+newPutStudioMembersResponse pHttpStatus_ =+ PutStudioMembersResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putStudioMembersResponse_httpStatus :: Lens.Lens' PutStudioMembersResponse Prelude.Int+putStudioMembersResponse_httpStatus = Lens.lens (\PutStudioMembersResponse' {httpStatus} -> httpStatus) (\s@PutStudioMembersResponse' {} a -> s {httpStatus = a} :: PutStudioMembersResponse)++instance Prelude.NFData PutStudioMembersResponse where+ rnf PutStudioMembersResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/StartStreamingSession.hs view
@@ -0,0 +1,220 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.StartStreamingSession+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Transitions sessions from the @STOPPED@ state into the @READY@ state.+-- The @START_IN_PROGRESS@ state is the intermediate state between the+-- @STOPPED@ and @READY@ states.+module Amazonka.Nimble.StartStreamingSession+ ( -- * Creating a Request+ StartStreamingSession (..),+ newStartStreamingSession,++ -- * Request Lenses+ startStreamingSession_backupId,+ startStreamingSession_clientToken,+ startStreamingSession_sessionId,+ startStreamingSession_studioId,++ -- * Destructuring the Response+ StartStreamingSessionResponse (..),+ newStartStreamingSessionResponse,++ -- * Response Lenses+ startStreamingSessionResponse_session,+ startStreamingSessionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartStreamingSession' smart constructor.+data StartStreamingSession = StartStreamingSession'+ { -- | The ID of the backup.+ backupId :: Prelude.Maybe Prelude.Text,+ -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The streaming session ID for the @StartStreamingSessionRequest@.+ sessionId :: Prelude.Text,+ -- | The studio ID for the StartStreamingSessionRequest.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartStreamingSession' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backupId', 'startStreamingSession_backupId' - The ID of the backup.+--+-- 'clientToken', 'startStreamingSession_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'sessionId', 'startStreamingSession_sessionId' - The streaming session ID for the @StartStreamingSessionRequest@.+--+-- 'studioId', 'startStreamingSession_studioId' - The studio ID for the StartStreamingSessionRequest.+newStartStreamingSession ::+ -- | 'sessionId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ StartStreamingSession+newStartStreamingSession pSessionId_ pStudioId_ =+ StartStreamingSession'+ { backupId = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ sessionId = pSessionId_,+ studioId = pStudioId_+ }++-- | The ID of the backup.+startStreamingSession_backupId :: Lens.Lens' StartStreamingSession (Prelude.Maybe Prelude.Text)+startStreamingSession_backupId = Lens.lens (\StartStreamingSession' {backupId} -> backupId) (\s@StartStreamingSession' {} a -> s {backupId = a} :: StartStreamingSession)++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+startStreamingSession_clientToken :: Lens.Lens' StartStreamingSession (Prelude.Maybe Prelude.Text)+startStreamingSession_clientToken = Lens.lens (\StartStreamingSession' {clientToken} -> clientToken) (\s@StartStreamingSession' {} a -> s {clientToken = a} :: StartStreamingSession)++-- | The streaming session ID for the @StartStreamingSessionRequest@.+startStreamingSession_sessionId :: Lens.Lens' StartStreamingSession Prelude.Text+startStreamingSession_sessionId = Lens.lens (\StartStreamingSession' {sessionId} -> sessionId) (\s@StartStreamingSession' {} a -> s {sessionId = a} :: StartStreamingSession)++-- | The studio ID for the StartStreamingSessionRequest.+startStreamingSession_studioId :: Lens.Lens' StartStreamingSession Prelude.Text+startStreamingSession_studioId = Lens.lens (\StartStreamingSession' {studioId} -> studioId) (\s@StartStreamingSession' {} a -> s {studioId = a} :: StartStreamingSession)++instance Core.AWSRequest StartStreamingSession where+ type+ AWSResponse StartStreamingSession =+ StartStreamingSessionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartStreamingSessionResponse'+ Prelude.<$> (x Data..?> "session")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartStreamingSession where+ hashWithSalt _salt StartStreamingSession' {..} =+ _salt+ `Prelude.hashWithSalt` backupId+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` sessionId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData StartStreamingSession where+ rnf StartStreamingSession' {..} =+ Prelude.rnf backupId+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf sessionId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders StartStreamingSession where+ toHeaders StartStreamingSession' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON StartStreamingSession where+ toJSON StartStreamingSession' {..} =+ Data.object+ ( Prelude.catMaybes+ [("backupId" Data..=) Prelude.<$> backupId]+ )++instance Data.ToPath StartStreamingSession where+ toPath StartStreamingSession' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-sessions/",+ Data.toBS sessionId,+ "/start"+ ]++instance Data.ToQuery StartStreamingSession where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartStreamingSessionResponse' smart constructor.+data StartStreamingSessionResponse = StartStreamingSessionResponse'+ { session :: Prelude.Maybe StreamingSession,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartStreamingSessionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'session', 'startStreamingSessionResponse_session' - Undocumented member.+--+-- 'httpStatus', 'startStreamingSessionResponse_httpStatus' - The response's http status code.+newStartStreamingSessionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartStreamingSessionResponse+newStartStreamingSessionResponse pHttpStatus_ =+ StartStreamingSessionResponse'+ { session =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+startStreamingSessionResponse_session :: Lens.Lens' StartStreamingSessionResponse (Prelude.Maybe StreamingSession)+startStreamingSessionResponse_session = Lens.lens (\StartStreamingSessionResponse' {session} -> session) (\s@StartStreamingSessionResponse' {} a -> s {session = a} :: StartStreamingSessionResponse)++-- | The response's http status code.+startStreamingSessionResponse_httpStatus :: Lens.Lens' StartStreamingSessionResponse Prelude.Int+startStreamingSessionResponse_httpStatus = Lens.lens (\StartStreamingSessionResponse' {httpStatus} -> httpStatus) (\s@StartStreamingSessionResponse' {} a -> s {httpStatus = a} :: StartStreamingSessionResponse)++instance Prelude.NFData StartStreamingSessionResponse where+ rnf StartStreamingSessionResponse' {..} =+ Prelude.rnf session+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/StartStudioSSOConfigurationRepair.hs view
@@ -0,0 +1,230 @@+{-# 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.Nimble.StartStudioSSOConfigurationRepair+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Repairs the IAM Identity Center configuration for a given studio.+--+-- If the studio has a valid IAM Identity Center configuration currently+-- associated with it, this operation will fail with a validation error.+--+-- If the studio does not have a valid IAM Identity Center configuration+-- currently associated with it, then a new IAM Identity Center application+-- is created for the studio and the studio is changed to the @READY@+-- state.+--+-- After the IAM Identity Center application is repaired, you must use the+-- Amazon Nimble Studio console to add administrators and users to your+-- studio.+module Amazonka.Nimble.StartStudioSSOConfigurationRepair+ ( -- * Creating a Request+ StartStudioSSOConfigurationRepair (..),+ newStartStudioSSOConfigurationRepair,++ -- * Request Lenses+ startStudioSSOConfigurationRepair_clientToken,+ startStudioSSOConfigurationRepair_studioId,++ -- * Destructuring the Response+ StartStudioSSOConfigurationRepairResponse (..),+ newStartStudioSSOConfigurationRepairResponse,++ -- * Response Lenses+ startStudioSSOConfigurationRepairResponse_httpStatus,+ startStudioSSOConfigurationRepairResponse_studio,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartStudioSSOConfigurationRepair' smart constructor.+data StartStudioSSOConfigurationRepair = StartStudioSSOConfigurationRepair'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartStudioSSOConfigurationRepair' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'startStudioSSOConfigurationRepair_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'studioId', 'startStudioSSOConfigurationRepair_studioId' - The studio ID.+newStartStudioSSOConfigurationRepair ::+ -- | 'studioId'+ Prelude.Text ->+ StartStudioSSOConfigurationRepair+newStartStudioSSOConfigurationRepair pStudioId_ =+ StartStudioSSOConfigurationRepair'+ { clientToken =+ Prelude.Nothing,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+startStudioSSOConfigurationRepair_clientToken :: Lens.Lens' StartStudioSSOConfigurationRepair (Prelude.Maybe Prelude.Text)+startStudioSSOConfigurationRepair_clientToken = Lens.lens (\StartStudioSSOConfigurationRepair' {clientToken} -> clientToken) (\s@StartStudioSSOConfigurationRepair' {} a -> s {clientToken = a} :: StartStudioSSOConfigurationRepair)++-- | The studio ID.+startStudioSSOConfigurationRepair_studioId :: Lens.Lens' StartStudioSSOConfigurationRepair Prelude.Text+startStudioSSOConfigurationRepair_studioId = Lens.lens (\StartStudioSSOConfigurationRepair' {studioId} -> studioId) (\s@StartStudioSSOConfigurationRepair' {} a -> s {studioId = a} :: StartStudioSSOConfigurationRepair)++instance+ Core.AWSRequest+ StartStudioSSOConfigurationRepair+ where+ type+ AWSResponse StartStudioSSOConfigurationRepair =+ StartStudioSSOConfigurationRepairResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartStudioSSOConfigurationRepairResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "studio")+ )++instance+ Prelude.Hashable+ StartStudioSSOConfigurationRepair+ where+ hashWithSalt+ _salt+ StartStudioSSOConfigurationRepair' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` studioId++instance+ Prelude.NFData+ StartStudioSSOConfigurationRepair+ where+ rnf StartStudioSSOConfigurationRepair' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf studioId++instance+ Data.ToHeaders+ StartStudioSSOConfigurationRepair+ where+ toHeaders StartStudioSSOConfigurationRepair' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance+ Data.ToJSON+ StartStudioSSOConfigurationRepair+ where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance+ Data.ToPath+ StartStudioSSOConfigurationRepair+ where+ toPath StartStudioSSOConfigurationRepair' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/sso-configuration"+ ]++instance+ Data.ToQuery+ StartStudioSSOConfigurationRepair+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartStudioSSOConfigurationRepairResponse' smart constructor.+data StartStudioSSOConfigurationRepairResponse = StartStudioSSOConfigurationRepairResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Information about a studio.+ studio :: Studio+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartStudioSSOConfigurationRepairResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startStudioSSOConfigurationRepairResponse_httpStatus' - The response's http status code.+--+-- 'studio', 'startStudioSSOConfigurationRepairResponse_studio' - Information about a studio.+newStartStudioSSOConfigurationRepairResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'studio'+ Studio ->+ StartStudioSSOConfigurationRepairResponse+newStartStudioSSOConfigurationRepairResponse+ pHttpStatus_+ pStudio_ =+ StartStudioSSOConfigurationRepairResponse'+ { httpStatus =+ pHttpStatus_,+ studio = pStudio_+ }++-- | The response's http status code.+startStudioSSOConfigurationRepairResponse_httpStatus :: Lens.Lens' StartStudioSSOConfigurationRepairResponse Prelude.Int+startStudioSSOConfigurationRepairResponse_httpStatus = Lens.lens (\StartStudioSSOConfigurationRepairResponse' {httpStatus} -> httpStatus) (\s@StartStudioSSOConfigurationRepairResponse' {} a -> s {httpStatus = a} :: StartStudioSSOConfigurationRepairResponse)++-- | Information about a studio.+startStudioSSOConfigurationRepairResponse_studio :: Lens.Lens' StartStudioSSOConfigurationRepairResponse Studio+startStudioSSOConfigurationRepairResponse_studio = Lens.lens (\StartStudioSSOConfigurationRepairResponse' {studio} -> studio) (\s@StartStudioSSOConfigurationRepairResponse' {} a -> s {studio = a} :: StartStudioSSOConfigurationRepairResponse)++instance+ Prelude.NFData+ StartStudioSSOConfigurationRepairResponse+ where+ rnf StartStudioSSOConfigurationRepairResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf studio
+ gen/Amazonka/Nimble/StopStreamingSession.hs view
@@ -0,0 +1,226 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.StopStreamingSession+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Transitions sessions from the @READY@ state into the @STOPPED@ state.+-- The @STOP_IN_PROGRESS@ state is the intermediate state between the+-- @READY@ and @STOPPED@ states.+module Amazonka.Nimble.StopStreamingSession+ ( -- * Creating a Request+ StopStreamingSession (..),+ newStopStreamingSession,++ -- * Request Lenses+ stopStreamingSession_clientToken,+ stopStreamingSession_volumeRetentionMode,+ stopStreamingSession_sessionId,+ stopStreamingSession_studioId,++ -- * Destructuring the Response+ StopStreamingSessionResponse (..),+ newStopStreamingSessionResponse,++ -- * Response Lenses+ stopStreamingSessionResponse_session,+ stopStreamingSessionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopStreamingSession' smart constructor.+data StopStreamingSession = StopStreamingSession'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | Adds additional instructions to a streaming session stop action to+ -- either retain the EBS volumes or delete the EBS volumes.+ volumeRetentionMode :: Prelude.Maybe VolumeRetentionMode,+ -- | The streaming session ID for the @StopStreamingSessionRequest@.+ sessionId :: Prelude.Text,+ -- | The studioId for the StopStreamingSessionRequest.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopStreamingSession' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'stopStreamingSession_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'volumeRetentionMode', 'stopStreamingSession_volumeRetentionMode' - Adds additional instructions to a streaming session stop action to+-- either retain the EBS volumes or delete the EBS volumes.+--+-- 'sessionId', 'stopStreamingSession_sessionId' - The streaming session ID for the @StopStreamingSessionRequest@.+--+-- 'studioId', 'stopStreamingSession_studioId' - The studioId for the StopStreamingSessionRequest.+newStopStreamingSession ::+ -- | 'sessionId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ StopStreamingSession+newStopStreamingSession pSessionId_ pStudioId_ =+ StopStreamingSession'+ { clientToken =+ Prelude.Nothing,+ volumeRetentionMode = Prelude.Nothing,+ sessionId = pSessionId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+stopStreamingSession_clientToken :: Lens.Lens' StopStreamingSession (Prelude.Maybe Prelude.Text)+stopStreamingSession_clientToken = Lens.lens (\StopStreamingSession' {clientToken} -> clientToken) (\s@StopStreamingSession' {} a -> s {clientToken = a} :: StopStreamingSession)++-- | Adds additional instructions to a streaming session stop action to+-- either retain the EBS volumes or delete the EBS volumes.+stopStreamingSession_volumeRetentionMode :: Lens.Lens' StopStreamingSession (Prelude.Maybe VolumeRetentionMode)+stopStreamingSession_volumeRetentionMode = Lens.lens (\StopStreamingSession' {volumeRetentionMode} -> volumeRetentionMode) (\s@StopStreamingSession' {} a -> s {volumeRetentionMode = a} :: StopStreamingSession)++-- | The streaming session ID for the @StopStreamingSessionRequest@.+stopStreamingSession_sessionId :: Lens.Lens' StopStreamingSession Prelude.Text+stopStreamingSession_sessionId = Lens.lens (\StopStreamingSession' {sessionId} -> sessionId) (\s@StopStreamingSession' {} a -> s {sessionId = a} :: StopStreamingSession)++-- | The studioId for the StopStreamingSessionRequest.+stopStreamingSession_studioId :: Lens.Lens' StopStreamingSession Prelude.Text+stopStreamingSession_studioId = Lens.lens (\StopStreamingSession' {studioId} -> studioId) (\s@StopStreamingSession' {} a -> s {studioId = a} :: StopStreamingSession)++instance Core.AWSRequest StopStreamingSession where+ type+ AWSResponse StopStreamingSession =+ StopStreamingSessionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StopStreamingSessionResponse'+ Prelude.<$> (x Data..?> "session")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StopStreamingSession where+ hashWithSalt _salt StopStreamingSession' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` volumeRetentionMode+ `Prelude.hashWithSalt` sessionId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData StopStreamingSession where+ rnf StopStreamingSession' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf volumeRetentionMode+ `Prelude.seq` Prelude.rnf sessionId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders StopStreamingSession where+ toHeaders StopStreamingSession' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON StopStreamingSession where+ toJSON StopStreamingSession' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("volumeRetentionMode" Data..=)+ Prelude.<$> volumeRetentionMode+ ]+ )++instance Data.ToPath StopStreamingSession where+ toPath StopStreamingSession' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-sessions/",+ Data.toBS sessionId,+ "/stop"+ ]++instance Data.ToQuery StopStreamingSession where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopStreamingSessionResponse' smart constructor.+data StopStreamingSessionResponse = StopStreamingSessionResponse'+ { session :: Prelude.Maybe StreamingSession,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopStreamingSessionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'session', 'stopStreamingSessionResponse_session' - Undocumented member.+--+-- 'httpStatus', 'stopStreamingSessionResponse_httpStatus' - The response's http status code.+newStopStreamingSessionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StopStreamingSessionResponse+newStopStreamingSessionResponse pHttpStatus_ =+ StopStreamingSessionResponse'+ { session =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+stopStreamingSessionResponse_session :: Lens.Lens' StopStreamingSessionResponse (Prelude.Maybe StreamingSession)+stopStreamingSessionResponse_session = Lens.lens (\StopStreamingSessionResponse' {session} -> session) (\s@StopStreamingSessionResponse' {} a -> s {session = a} :: StopStreamingSessionResponse)++-- | The response's http status code.+stopStreamingSessionResponse_httpStatus :: Lens.Lens' StopStreamingSessionResponse Prelude.Int+stopStreamingSessionResponse_httpStatus = Lens.lens (\StopStreamingSessionResponse' {httpStatus} -> httpStatus) (\s@StopStreamingSessionResponse' {} a -> s {httpStatus = a} :: StopStreamingSessionResponse)++instance Prelude.NFData StopStreamingSessionResponse where+ rnf StopStreamingSessionResponse' {..} =+ Prelude.rnf session+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/TagResource.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.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)+--+-- Creates tags for a resource, given its ARN.+module Amazonka.Nimble.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_tags,+ tagResource_resourceArn,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.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'+ { -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The Amazon Resource Name (ARN) of the resource you want to add tags to.+ resourceArn :: 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:+--+-- 'tags', 'tagResource_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource you want to add tags to.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { tags = Prelude.Nothing,+ resourceArn = pResourceArn_+ }++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+tagResource_tags :: Lens.Lens' TagResource (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the resource you want to add tags to.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf resourceArn++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+ [("tags" Data..=) Prelude.<$> tags]+ )++instance Data.ToPath TagResource where+ toPath TagResource' {..} =+ Prelude.mconcat+ ["/2020-08-01/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/Types.hs view
@@ -0,0 +1,678 @@+{-# 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.Nimble.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.Nimble.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _InternalServerErrorException,+ _ResourceNotFoundException,+ _ServiceQuotaExceededException,+ _ThrottlingException,+ _ValidationException,++ -- * AutomaticTerminationMode+ AutomaticTerminationMode (..),++ -- * LaunchProfilePersona+ LaunchProfilePersona (..),++ -- * LaunchProfilePlatform+ LaunchProfilePlatform (..),++ -- * LaunchProfileState+ LaunchProfileState (..),++ -- * LaunchProfileStatusCode+ LaunchProfileStatusCode (..),++ -- * LaunchProfileValidationState+ LaunchProfileValidationState (..),++ -- * LaunchProfileValidationStatusCode+ LaunchProfileValidationStatusCode (..),++ -- * LaunchProfileValidationType+ LaunchProfileValidationType (..),++ -- * SessionBackupMode+ SessionBackupMode (..),++ -- * SessionPersistenceMode+ SessionPersistenceMode (..),++ -- * StreamingClipboardMode+ StreamingClipboardMode (..),++ -- * StreamingImageEncryptionConfigurationKeyType+ StreamingImageEncryptionConfigurationKeyType (..),++ -- * StreamingImageState+ StreamingImageState (..),++ -- * StreamingImageStatusCode+ StreamingImageStatusCode (..),++ -- * StreamingInstanceType+ StreamingInstanceType (..),++ -- * StreamingSessionState+ StreamingSessionState (..),++ -- * StreamingSessionStatusCode+ StreamingSessionStatusCode (..),++ -- * StreamingSessionStorageMode+ StreamingSessionStorageMode (..),++ -- * StreamingSessionStreamState+ StreamingSessionStreamState (..),++ -- * StreamingSessionStreamStatusCode+ StreamingSessionStreamStatusCode (..),++ -- * StudioComponentInitializationScriptRunContext+ StudioComponentInitializationScriptRunContext (..),++ -- * StudioComponentState+ StudioComponentState (..),++ -- * StudioComponentStatusCode+ StudioComponentStatusCode (..),++ -- * StudioComponentSubtype+ StudioComponentSubtype (..),++ -- * StudioComponentType+ StudioComponentType (..),++ -- * StudioEncryptionConfigurationKeyType+ StudioEncryptionConfigurationKeyType (..),++ -- * StudioPersona+ StudioPersona (..),++ -- * StudioState+ StudioState (..),++ -- * StudioStatusCode+ StudioStatusCode (..),++ -- * VolumeRetentionMode+ VolumeRetentionMode (..),++ -- * ActiveDirectoryComputerAttribute+ ActiveDirectoryComputerAttribute (..),+ newActiveDirectoryComputerAttribute,+ activeDirectoryComputerAttribute_name,+ activeDirectoryComputerAttribute_value,++ -- * ActiveDirectoryConfiguration+ ActiveDirectoryConfiguration (..),+ newActiveDirectoryConfiguration,+ activeDirectoryConfiguration_computerAttributes,+ activeDirectoryConfiguration_directoryId,+ activeDirectoryConfiguration_organizationalUnitDistinguishedName,++ -- * ComputeFarmConfiguration+ ComputeFarmConfiguration (..),+ newComputeFarmConfiguration,+ computeFarmConfiguration_activeDirectoryUser,+ computeFarmConfiguration_endpoint,++ -- * Eula+ Eula (..),+ newEula,+ eula_content,+ eula_createdAt,+ eula_eulaId,+ eula_name,+ eula_updatedAt,++ -- * EulaAcceptance+ EulaAcceptance (..),+ newEulaAcceptance,+ eulaAcceptance_acceptedAt,+ eulaAcceptance_acceptedBy,+ eulaAcceptance_accepteeId,+ eulaAcceptance_eulaAcceptanceId,+ eulaAcceptance_eulaId,++ -- * LaunchProfile+ LaunchProfile (..),+ newLaunchProfile,+ launchProfile_arn,+ launchProfile_createdAt,+ launchProfile_createdBy,+ launchProfile_description,+ launchProfile_ec2SubnetIds,+ launchProfile_launchProfileId,+ launchProfile_launchProfileProtocolVersions,+ launchProfile_name,+ launchProfile_state,+ launchProfile_statusCode,+ launchProfile_statusMessage,+ launchProfile_streamConfiguration,+ launchProfile_studioComponentIds,+ launchProfile_tags,+ launchProfile_updatedAt,+ launchProfile_updatedBy,+ launchProfile_validationResults,++ -- * LaunchProfileInitialization+ LaunchProfileInitialization (..),+ newLaunchProfileInitialization,+ launchProfileInitialization_activeDirectory,+ launchProfileInitialization_ec2SecurityGroupIds,+ launchProfileInitialization_launchProfileId,+ launchProfileInitialization_launchProfileProtocolVersion,+ launchProfileInitialization_launchPurpose,+ launchProfileInitialization_name,+ launchProfileInitialization_platform,+ launchProfileInitialization_systemInitializationScripts,+ launchProfileInitialization_userInitializationScripts,++ -- * LaunchProfileInitializationActiveDirectory+ LaunchProfileInitializationActiveDirectory (..),+ newLaunchProfileInitializationActiveDirectory,+ launchProfileInitializationActiveDirectory_computerAttributes,+ launchProfileInitializationActiveDirectory_directoryId,+ launchProfileInitializationActiveDirectory_directoryName,+ launchProfileInitializationActiveDirectory_dnsIpAddresses,+ launchProfileInitializationActiveDirectory_organizationalUnitDistinguishedName,+ launchProfileInitializationActiveDirectory_studioComponentId,+ launchProfileInitializationActiveDirectory_studioComponentName,++ -- * LaunchProfileInitializationScript+ LaunchProfileInitializationScript (..),+ newLaunchProfileInitializationScript,+ launchProfileInitializationScript_runtimeRoleArn,+ launchProfileInitializationScript_script,+ launchProfileInitializationScript_secureInitializationRoleArn,+ launchProfileInitializationScript_studioComponentId,+ launchProfileInitializationScript_studioComponentName,++ -- * LaunchProfileMembership+ LaunchProfileMembership (..),+ newLaunchProfileMembership,+ launchProfileMembership_identityStoreId,+ launchProfileMembership_persona,+ launchProfileMembership_principalId,+ launchProfileMembership_sid,++ -- * LicenseServiceConfiguration+ LicenseServiceConfiguration (..),+ newLicenseServiceConfiguration,+ licenseServiceConfiguration_endpoint,++ -- * NewLaunchProfileMember+ NewLaunchProfileMember (..),+ newNewLaunchProfileMember,+ newLaunchProfileMember_persona,+ newLaunchProfileMember_principalId,++ -- * NewStudioMember+ NewStudioMember (..),+ newNewStudioMember,+ newStudioMember_persona,+ newStudioMember_principalId,++ -- * ScriptParameterKeyValue+ ScriptParameterKeyValue (..),+ newScriptParameterKeyValue,+ scriptParameterKeyValue_key,+ scriptParameterKeyValue_value,++ -- * SharedFileSystemConfiguration+ SharedFileSystemConfiguration (..),+ newSharedFileSystemConfiguration,+ sharedFileSystemConfiguration_endpoint,+ sharedFileSystemConfiguration_fileSystemId,+ sharedFileSystemConfiguration_linuxMountPoint,+ sharedFileSystemConfiguration_shareName,+ sharedFileSystemConfiguration_windowsMountDrive,++ -- * StreamConfiguration+ StreamConfiguration (..),+ newStreamConfiguration,+ streamConfiguration_automaticTerminationMode,+ streamConfiguration_maxSessionLengthInMinutes,+ streamConfiguration_maxStoppedSessionLengthInMinutes,+ streamConfiguration_sessionBackup,+ streamConfiguration_sessionPersistenceMode,+ streamConfiguration_sessionStorage,+ streamConfiguration_volumeConfiguration,+ streamConfiguration_clipboardMode,+ streamConfiguration_ec2InstanceTypes,+ streamConfiguration_streamingImageIds,++ -- * StreamConfigurationCreate+ StreamConfigurationCreate (..),+ newStreamConfigurationCreate,+ streamConfigurationCreate_automaticTerminationMode,+ streamConfigurationCreate_maxSessionLengthInMinutes,+ streamConfigurationCreate_maxStoppedSessionLengthInMinutes,+ streamConfigurationCreate_sessionBackup,+ streamConfigurationCreate_sessionPersistenceMode,+ streamConfigurationCreate_sessionStorage,+ streamConfigurationCreate_volumeConfiguration,+ streamConfigurationCreate_clipboardMode,+ streamConfigurationCreate_ec2InstanceTypes,+ streamConfigurationCreate_streamingImageIds,++ -- * StreamConfigurationSessionBackup+ StreamConfigurationSessionBackup (..),+ newStreamConfigurationSessionBackup,+ streamConfigurationSessionBackup_maxBackupsToRetain,+ streamConfigurationSessionBackup_mode,++ -- * StreamConfigurationSessionStorage+ StreamConfigurationSessionStorage (..),+ newStreamConfigurationSessionStorage,+ streamConfigurationSessionStorage_root,+ streamConfigurationSessionStorage_mode,++ -- * StreamingImage+ StreamingImage (..),+ newStreamingImage,+ streamingImage_arn,+ streamingImage_description,+ streamingImage_ec2ImageId,+ streamingImage_encryptionConfiguration,+ streamingImage_eulaIds,+ streamingImage_name,+ streamingImage_owner,+ streamingImage_platform,+ streamingImage_state,+ streamingImage_statusCode,+ streamingImage_statusMessage,+ streamingImage_streamingImageId,+ streamingImage_tags,++ -- * StreamingImageEncryptionConfiguration+ StreamingImageEncryptionConfiguration (..),+ newStreamingImageEncryptionConfiguration,+ streamingImageEncryptionConfiguration_keyArn,+ streamingImageEncryptionConfiguration_keyType,++ -- * StreamingSession+ StreamingSession (..),+ newStreamingSession,+ streamingSession_arn,+ streamingSession_automaticTerminationMode,+ streamingSession_backupMode,+ streamingSession_createdAt,+ streamingSession_createdBy,+ streamingSession_ec2InstanceType,+ streamingSession_launchProfileId,+ streamingSession_maxBackupsToRetain,+ streamingSession_ownedBy,+ streamingSession_sessionId,+ streamingSession_sessionPersistenceMode,+ streamingSession_startedAt,+ streamingSession_startedBy,+ streamingSession_startedFromBackupId,+ streamingSession_state,+ streamingSession_statusCode,+ streamingSession_statusMessage,+ streamingSession_stopAt,+ streamingSession_stoppedAt,+ streamingSession_stoppedBy,+ streamingSession_streamingImageId,+ streamingSession_tags,+ streamingSession_terminateAt,+ streamingSession_updatedAt,+ streamingSession_updatedBy,+ streamingSession_volumeConfiguration,+ streamingSession_volumeRetentionMode,++ -- * StreamingSessionBackup+ StreamingSessionBackup (..),+ newStreamingSessionBackup,+ streamingSessionBackup_arn,+ streamingSessionBackup_backupId,+ streamingSessionBackup_createdAt,+ streamingSessionBackup_launchProfileId,+ streamingSessionBackup_ownedBy,+ streamingSessionBackup_sessionId,+ streamingSessionBackup_state,+ streamingSessionBackup_statusCode,+ streamingSessionBackup_statusMessage,+ streamingSessionBackup_tags,++ -- * StreamingSessionStorageRoot+ StreamingSessionStorageRoot (..),+ newStreamingSessionStorageRoot,+ streamingSessionStorageRoot_linux,+ streamingSessionStorageRoot_windows,++ -- * StreamingSessionStream+ StreamingSessionStream (..),+ newStreamingSessionStream,+ streamingSessionStream_createdAt,+ streamingSessionStream_createdBy,+ streamingSessionStream_expiresAt,+ streamingSessionStream_ownedBy,+ streamingSessionStream_state,+ streamingSessionStream_statusCode,+ streamingSessionStream_streamId,+ streamingSessionStream_url,++ -- * Studio+ Studio (..),+ newStudio,+ studio_adminRoleArn,+ studio_arn,+ studio_createdAt,+ studio_displayName,+ studio_homeRegion,+ studio_ssoClientId,+ studio_state,+ studio_statusCode,+ studio_statusMessage,+ studio_studioEncryptionConfiguration,+ studio_studioId,+ studio_studioName,+ studio_studioUrl,+ studio_tags,+ studio_updatedAt,+ studio_userRoleArn,++ -- * StudioComponent+ StudioComponent (..),+ newStudioComponent,+ studioComponent_arn,+ studioComponent_configuration,+ studioComponent_createdAt,+ studioComponent_createdBy,+ studioComponent_description,+ studioComponent_ec2SecurityGroupIds,+ studioComponent_initializationScripts,+ studioComponent_name,+ studioComponent_runtimeRoleArn,+ studioComponent_scriptParameters,+ studioComponent_secureInitializationRoleArn,+ studioComponent_state,+ studioComponent_statusCode,+ studioComponent_statusMessage,+ studioComponent_studioComponentId,+ studioComponent_subtype,+ studioComponent_tags,+ studioComponent_type,+ studioComponent_updatedAt,+ studioComponent_updatedBy,++ -- * StudioComponentConfiguration+ StudioComponentConfiguration (..),+ newStudioComponentConfiguration,+ studioComponentConfiguration_activeDirectoryConfiguration,+ studioComponentConfiguration_computeFarmConfiguration,+ studioComponentConfiguration_licenseServiceConfiguration,+ studioComponentConfiguration_sharedFileSystemConfiguration,++ -- * StudioComponentInitializationScript+ StudioComponentInitializationScript (..),+ newStudioComponentInitializationScript,+ studioComponentInitializationScript_launchProfileProtocolVersion,+ studioComponentInitializationScript_platform,+ studioComponentInitializationScript_runContext,+ studioComponentInitializationScript_script,++ -- * StudioComponentSummary+ StudioComponentSummary (..),+ newStudioComponentSummary,+ studioComponentSummary_createdAt,+ studioComponentSummary_createdBy,+ studioComponentSummary_description,+ studioComponentSummary_name,+ studioComponentSummary_studioComponentId,+ studioComponentSummary_subtype,+ studioComponentSummary_type,+ studioComponentSummary_updatedAt,+ studioComponentSummary_updatedBy,++ -- * StudioEncryptionConfiguration+ StudioEncryptionConfiguration (..),+ newStudioEncryptionConfiguration,+ studioEncryptionConfiguration_keyArn,+ studioEncryptionConfiguration_keyType,++ -- * StudioMembership+ StudioMembership (..),+ newStudioMembership,+ studioMembership_identityStoreId,+ studioMembership_persona,+ studioMembership_principalId,+ studioMembership_sid,++ -- * ValidationResult+ ValidationResult (..),+ newValidationResult,+ validationResult_state,+ validationResult_statusCode,+ validationResult_statusMessage,+ validationResult_type,++ -- * VolumeConfiguration+ VolumeConfiguration (..),+ newVolumeConfiguration,+ volumeConfiguration_iops,+ volumeConfiguration_size,+ volumeConfiguration_throughput,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.Nimble.Types.ActiveDirectoryComputerAttribute+import Amazonka.Nimble.Types.ActiveDirectoryConfiguration+import Amazonka.Nimble.Types.AutomaticTerminationMode+import Amazonka.Nimble.Types.ComputeFarmConfiguration+import Amazonka.Nimble.Types.Eula+import Amazonka.Nimble.Types.EulaAcceptance+import Amazonka.Nimble.Types.LaunchProfile+import Amazonka.Nimble.Types.LaunchProfileInitialization+import Amazonka.Nimble.Types.LaunchProfileInitializationActiveDirectory+import Amazonka.Nimble.Types.LaunchProfileInitializationScript+import Amazonka.Nimble.Types.LaunchProfileMembership+import Amazonka.Nimble.Types.LaunchProfilePersona+import Amazonka.Nimble.Types.LaunchProfilePlatform+import Amazonka.Nimble.Types.LaunchProfileState+import Amazonka.Nimble.Types.LaunchProfileStatusCode+import Amazonka.Nimble.Types.LaunchProfileValidationState+import Amazonka.Nimble.Types.LaunchProfileValidationStatusCode+import Amazonka.Nimble.Types.LaunchProfileValidationType+import Amazonka.Nimble.Types.LicenseServiceConfiguration+import Amazonka.Nimble.Types.NewLaunchProfileMember+import Amazonka.Nimble.Types.NewStudioMember+import Amazonka.Nimble.Types.ScriptParameterKeyValue+import Amazonka.Nimble.Types.SessionBackupMode+import Amazonka.Nimble.Types.SessionPersistenceMode+import Amazonka.Nimble.Types.SharedFileSystemConfiguration+import Amazonka.Nimble.Types.StreamConfiguration+import Amazonka.Nimble.Types.StreamConfigurationCreate+import Amazonka.Nimble.Types.StreamConfigurationSessionBackup+import Amazonka.Nimble.Types.StreamConfigurationSessionStorage+import Amazonka.Nimble.Types.StreamingClipboardMode+import Amazonka.Nimble.Types.StreamingImage+import Amazonka.Nimble.Types.StreamingImageEncryptionConfiguration+import Amazonka.Nimble.Types.StreamingImageEncryptionConfigurationKeyType+import Amazonka.Nimble.Types.StreamingImageState+import Amazonka.Nimble.Types.StreamingImageStatusCode+import Amazonka.Nimble.Types.StreamingInstanceType+import Amazonka.Nimble.Types.StreamingSession+import Amazonka.Nimble.Types.StreamingSessionBackup+import Amazonka.Nimble.Types.StreamingSessionState+import Amazonka.Nimble.Types.StreamingSessionStatusCode+import Amazonka.Nimble.Types.StreamingSessionStorageMode+import Amazonka.Nimble.Types.StreamingSessionStorageRoot+import Amazonka.Nimble.Types.StreamingSessionStream+import Amazonka.Nimble.Types.StreamingSessionStreamState+import Amazonka.Nimble.Types.StreamingSessionStreamStatusCode+import Amazonka.Nimble.Types.Studio+import Amazonka.Nimble.Types.StudioComponent+import Amazonka.Nimble.Types.StudioComponentConfiguration+import Amazonka.Nimble.Types.StudioComponentInitializationScript+import Amazonka.Nimble.Types.StudioComponentInitializationScriptRunContext+import Amazonka.Nimble.Types.StudioComponentState+import Amazonka.Nimble.Types.StudioComponentStatusCode+import Amazonka.Nimble.Types.StudioComponentSubtype+import Amazonka.Nimble.Types.StudioComponentSummary+import Amazonka.Nimble.Types.StudioComponentType+import Amazonka.Nimble.Types.StudioEncryptionConfiguration+import Amazonka.Nimble.Types.StudioEncryptionConfigurationKeyType+import Amazonka.Nimble.Types.StudioMembership+import Amazonka.Nimble.Types.StudioPersona+import Amazonka.Nimble.Types.StudioState+import Amazonka.Nimble.Types.StudioStatusCode+import Amazonka.Nimble.Types.ValidationResult+import Amazonka.Nimble.Types.VolumeConfiguration+import Amazonka.Nimble.Types.VolumeRetentionMode+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-08-01@ of the Amazon NimbleStudio SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "Nimble",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "nimble",+ Core.signingName = "nimble",+ Core.version = "2020-08-01",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "Nimble",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | You are not authorized to perform this operation. Check your IAM+-- policies, and ensure that you are using the correct access keys.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"+ Prelude.. Core.hasStatus 403++-- | Another operation is in progress.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | An internal error has occurred. Please retry your request.+_InternalServerErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerErrorException =+ Core._MatchServiceError+ defaultService+ "InternalServerErrorException"+ Prelude.. Core.hasStatus 500++-- | The specified resource could not be found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | Your current quota does not allow you to perform the request action. You+-- can request increases for some quotas, and other quotas cannot be+-- increased.+--+-- Please use Amazon Web Services Service Quotas to request an increase.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"+ Prelude.. Core.hasStatus 402++-- | The request throughput limit was exceeded.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"+ Prelude.. Core.hasStatus 429++-- | One of the parameters in the request is invalid.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/Nimble/Types/ActiveDirectoryComputerAttribute.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.ActiveDirectoryComputerAttribute+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.ActiveDirectoryComputerAttribute where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An LDAP attribute of an Active Directory computer account, in the form+-- of a name:value pair.+--+-- /See:/ 'newActiveDirectoryComputerAttribute' smart constructor.+data ActiveDirectoryComputerAttribute = ActiveDirectoryComputerAttribute'+ { -- | The name for the LDAP attribute.+ name :: Prelude.Maybe Prelude.Text,+ -- | The value for the LDAP attribute.+ value :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActiveDirectoryComputerAttribute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'activeDirectoryComputerAttribute_name' - The name for the LDAP attribute.+--+-- 'value', 'activeDirectoryComputerAttribute_value' - The value for the LDAP attribute.+newActiveDirectoryComputerAttribute ::+ ActiveDirectoryComputerAttribute+newActiveDirectoryComputerAttribute =+ ActiveDirectoryComputerAttribute'+ { name =+ Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | The name for the LDAP attribute.+activeDirectoryComputerAttribute_name :: Lens.Lens' ActiveDirectoryComputerAttribute (Prelude.Maybe Prelude.Text)+activeDirectoryComputerAttribute_name = Lens.lens (\ActiveDirectoryComputerAttribute' {name} -> name) (\s@ActiveDirectoryComputerAttribute' {} a -> s {name = a} :: ActiveDirectoryComputerAttribute)++-- | The value for the LDAP attribute.+activeDirectoryComputerAttribute_value :: Lens.Lens' ActiveDirectoryComputerAttribute (Prelude.Maybe Prelude.Text)+activeDirectoryComputerAttribute_value = Lens.lens (\ActiveDirectoryComputerAttribute' {value} -> value) (\s@ActiveDirectoryComputerAttribute' {} a -> s {value = a} :: ActiveDirectoryComputerAttribute)++instance+ Data.FromJSON+ ActiveDirectoryComputerAttribute+ where+ parseJSON =+ Data.withObject+ "ActiveDirectoryComputerAttribute"+ ( \x ->+ ActiveDirectoryComputerAttribute'+ Prelude.<$> (x Data..:? "name")+ Prelude.<*> (x Data..:? "value")+ )++instance+ Prelude.Hashable+ ActiveDirectoryComputerAttribute+ where+ hashWithSalt+ _salt+ ActiveDirectoryComputerAttribute' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` value++instance+ Prelude.NFData+ ActiveDirectoryComputerAttribute+ where+ rnf ActiveDirectoryComputerAttribute' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf value++instance Data.ToJSON ActiveDirectoryComputerAttribute where+ toJSON ActiveDirectoryComputerAttribute' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("name" Data..=) Prelude.<$> name,+ ("value" Data..=) Prelude.<$> value+ ]+ )
+ gen/Amazonka/Nimble/Types/ActiveDirectoryConfiguration.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.ActiveDirectoryConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.ActiveDirectoryConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.ActiveDirectoryComputerAttribute+import qualified Amazonka.Prelude as Prelude++-- | The configuration for a Directory Service for Microsoft Active Directory+-- studio resource.+--+-- /See:/ 'newActiveDirectoryConfiguration' smart constructor.+data ActiveDirectoryConfiguration = ActiveDirectoryConfiguration'+ { -- | A collection of custom attributes for an Active Directory computer.+ computerAttributes :: Prelude.Maybe (Data.Sensitive [ActiveDirectoryComputerAttribute]),+ -- | The directory ID of the Directory Service for Microsoft Active Directory+ -- to access using this studio component.+ directoryId :: Prelude.Maybe Prelude.Text,+ -- | The distinguished name (DN) and organizational unit (OU) of an Active+ -- Directory computer.+ organizationalUnitDistinguishedName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActiveDirectoryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'computerAttributes', 'activeDirectoryConfiguration_computerAttributes' - A collection of custom attributes for an Active Directory computer.+--+-- 'directoryId', 'activeDirectoryConfiguration_directoryId' - The directory ID of the Directory Service for Microsoft Active Directory+-- to access using this studio component.+--+-- 'organizationalUnitDistinguishedName', 'activeDirectoryConfiguration_organizationalUnitDistinguishedName' - The distinguished name (DN) and organizational unit (OU) of an Active+-- Directory computer.+newActiveDirectoryConfiguration ::+ ActiveDirectoryConfiguration+newActiveDirectoryConfiguration =+ ActiveDirectoryConfiguration'+ { computerAttributes =+ Prelude.Nothing,+ directoryId = Prelude.Nothing,+ organizationalUnitDistinguishedName =+ Prelude.Nothing+ }++-- | A collection of custom attributes for an Active Directory computer.+activeDirectoryConfiguration_computerAttributes :: Lens.Lens' ActiveDirectoryConfiguration (Prelude.Maybe [ActiveDirectoryComputerAttribute])+activeDirectoryConfiguration_computerAttributes = Lens.lens (\ActiveDirectoryConfiguration' {computerAttributes} -> computerAttributes) (\s@ActiveDirectoryConfiguration' {} a -> s {computerAttributes = a} :: ActiveDirectoryConfiguration) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The directory ID of the Directory Service for Microsoft Active Directory+-- to access using this studio component.+activeDirectoryConfiguration_directoryId :: Lens.Lens' ActiveDirectoryConfiguration (Prelude.Maybe Prelude.Text)+activeDirectoryConfiguration_directoryId = Lens.lens (\ActiveDirectoryConfiguration' {directoryId} -> directoryId) (\s@ActiveDirectoryConfiguration' {} a -> s {directoryId = a} :: ActiveDirectoryConfiguration)++-- | The distinguished name (DN) and organizational unit (OU) of an Active+-- Directory computer.+activeDirectoryConfiguration_organizationalUnitDistinguishedName :: Lens.Lens' ActiveDirectoryConfiguration (Prelude.Maybe Prelude.Text)+activeDirectoryConfiguration_organizationalUnitDistinguishedName = Lens.lens (\ActiveDirectoryConfiguration' {organizationalUnitDistinguishedName} -> organizationalUnitDistinguishedName) (\s@ActiveDirectoryConfiguration' {} a -> s {organizationalUnitDistinguishedName = a} :: ActiveDirectoryConfiguration)++instance Data.FromJSON ActiveDirectoryConfiguration where+ parseJSON =+ Data.withObject+ "ActiveDirectoryConfiguration"+ ( \x ->+ ActiveDirectoryConfiguration'+ Prelude.<$> ( x+ Data..:? "computerAttributes"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "directoryId")+ Prelude.<*> (x Data..:? "organizationalUnitDistinguishedName")+ )++instance+ Prelude.Hashable+ ActiveDirectoryConfiguration+ where+ hashWithSalt _salt ActiveDirectoryConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` computerAttributes+ `Prelude.hashWithSalt` directoryId+ `Prelude.hashWithSalt` organizationalUnitDistinguishedName++instance Prelude.NFData ActiveDirectoryConfiguration where+ rnf ActiveDirectoryConfiguration' {..} =+ Prelude.rnf computerAttributes+ `Prelude.seq` Prelude.rnf directoryId+ `Prelude.seq` Prelude.rnf organizationalUnitDistinguishedName++instance Data.ToJSON ActiveDirectoryConfiguration where+ toJSON ActiveDirectoryConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("computerAttributes" Data..=)+ Prelude.<$> computerAttributes,+ ("directoryId" Data..=) Prelude.<$> directoryId,+ ("organizationalUnitDistinguishedName" Data..=)+ Prelude.<$> organizationalUnitDistinguishedName+ ]+ )
+ gen/Amazonka/Nimble/Types/AutomaticTerminationMode.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.Nimble.Types.AutomaticTerminationMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.AutomaticTerminationMode+ ( AutomaticTerminationMode+ ( ..,+ AutomaticTerminationMode_ACTIVATED,+ AutomaticTerminationMode_DEACTIVATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AutomaticTerminationMode = AutomaticTerminationMode'+ { fromAutomaticTerminationMode ::+ 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 AutomaticTerminationMode_ACTIVATED :: AutomaticTerminationMode+pattern AutomaticTerminationMode_ACTIVATED = AutomaticTerminationMode' "ACTIVATED"++pattern AutomaticTerminationMode_DEACTIVATED :: AutomaticTerminationMode+pattern AutomaticTerminationMode_DEACTIVATED = AutomaticTerminationMode' "DEACTIVATED"++{-# COMPLETE+ AutomaticTerminationMode_ACTIVATED,+ AutomaticTerminationMode_DEACTIVATED,+ AutomaticTerminationMode'+ #-}
+ gen/Amazonka/Nimble/Types/ComputeFarmConfiguration.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.Nimble.Types.ComputeFarmConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.ComputeFarmConfiguration 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 a render farm that is associated with a studio+-- resource.+--+-- /See:/ 'newComputeFarmConfiguration' smart constructor.+data ComputeFarmConfiguration = ComputeFarmConfiguration'+ { -- | The name of an Active Directory user that is used on ComputeFarm worker+ -- instances.+ activeDirectoryUser :: Prelude.Maybe Prelude.Text,+ -- | The endpoint of the ComputeFarm that is accessed by the studio component+ -- resource.+ endpoint :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComputeFarmConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeDirectoryUser', 'computeFarmConfiguration_activeDirectoryUser' - The name of an Active Directory user that is used on ComputeFarm worker+-- instances.+--+-- 'endpoint', 'computeFarmConfiguration_endpoint' - The endpoint of the ComputeFarm that is accessed by the studio component+-- resource.+newComputeFarmConfiguration ::+ ComputeFarmConfiguration+newComputeFarmConfiguration =+ ComputeFarmConfiguration'+ { activeDirectoryUser =+ Prelude.Nothing,+ endpoint = Prelude.Nothing+ }++-- | The name of an Active Directory user that is used on ComputeFarm worker+-- instances.+computeFarmConfiguration_activeDirectoryUser :: Lens.Lens' ComputeFarmConfiguration (Prelude.Maybe Prelude.Text)+computeFarmConfiguration_activeDirectoryUser = Lens.lens (\ComputeFarmConfiguration' {activeDirectoryUser} -> activeDirectoryUser) (\s@ComputeFarmConfiguration' {} a -> s {activeDirectoryUser = a} :: ComputeFarmConfiguration)++-- | The endpoint of the ComputeFarm that is accessed by the studio component+-- resource.+computeFarmConfiguration_endpoint :: Lens.Lens' ComputeFarmConfiguration (Prelude.Maybe Prelude.Text)+computeFarmConfiguration_endpoint = Lens.lens (\ComputeFarmConfiguration' {endpoint} -> endpoint) (\s@ComputeFarmConfiguration' {} a -> s {endpoint = a} :: ComputeFarmConfiguration) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON ComputeFarmConfiguration where+ parseJSON =+ Data.withObject+ "ComputeFarmConfiguration"+ ( \x ->+ ComputeFarmConfiguration'+ Prelude.<$> (x Data..:? "activeDirectoryUser")+ Prelude.<*> (x Data..:? "endpoint")+ )++instance Prelude.Hashable ComputeFarmConfiguration where+ hashWithSalt _salt ComputeFarmConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` activeDirectoryUser+ `Prelude.hashWithSalt` endpoint++instance Prelude.NFData ComputeFarmConfiguration where+ rnf ComputeFarmConfiguration' {..} =+ Prelude.rnf activeDirectoryUser+ `Prelude.seq` Prelude.rnf endpoint++instance Data.ToJSON ComputeFarmConfiguration where+ toJSON ComputeFarmConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("activeDirectoryUser" Data..=)+ Prelude.<$> activeDirectoryUser,+ ("endpoint" Data..=) Prelude.<$> endpoint+ ]+ )
+ gen/Amazonka/Nimble/Types/Eula.hs view
@@ -0,0 +1,120 @@+{-# 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.Nimble.Types.Eula+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.Eula 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++-- | Represents a EULA resource.+--+-- /See:/ 'newEula' smart constructor.+data Eula = Eula'+ { -- | The EULA content.+ content :: Prelude.Maybe Prelude.Text,+ -- | The ISO timestamp in seconds for when the resource was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The EULA ID.+ eulaId :: Prelude.Maybe Prelude.Text,+ -- | The name for the EULA.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ISO timestamp in seconds for when the resource was updated.+ updatedAt :: Prelude.Maybe Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Eula' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'content', 'eula_content' - The EULA content.+--+-- 'createdAt', 'eula_createdAt' - The ISO timestamp in seconds for when the resource was created.+--+-- 'eulaId', 'eula_eulaId' - The EULA ID.+--+-- 'name', 'eula_name' - The name for the EULA.+--+-- 'updatedAt', 'eula_updatedAt' - The ISO timestamp in seconds for when the resource was updated.+newEula ::+ Eula+newEula =+ Eula'+ { content = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ eulaId = Prelude.Nothing,+ name = Prelude.Nothing,+ updatedAt = Prelude.Nothing+ }++-- | The EULA content.+eula_content :: Lens.Lens' Eula (Prelude.Maybe Prelude.Text)+eula_content = Lens.lens (\Eula' {content} -> content) (\s@Eula' {} a -> s {content = a} :: Eula)++-- | The ISO timestamp in seconds for when the resource was created.+eula_createdAt :: Lens.Lens' Eula (Prelude.Maybe Prelude.UTCTime)+eula_createdAt = Lens.lens (\Eula' {createdAt} -> createdAt) (\s@Eula' {} a -> s {createdAt = a} :: Eula) Prelude.. Lens.mapping Data._Time++-- | The EULA ID.+eula_eulaId :: Lens.Lens' Eula (Prelude.Maybe Prelude.Text)+eula_eulaId = Lens.lens (\Eula' {eulaId} -> eulaId) (\s@Eula' {} a -> s {eulaId = a} :: Eula)++-- | The name for the EULA.+eula_name :: Lens.Lens' Eula (Prelude.Maybe Prelude.Text)+eula_name = Lens.lens (\Eula' {name} -> name) (\s@Eula' {} a -> s {name = a} :: Eula)++-- | The ISO timestamp in seconds for when the resource was updated.+eula_updatedAt :: Lens.Lens' Eula (Prelude.Maybe Prelude.UTCTime)+eula_updatedAt = Lens.lens (\Eula' {updatedAt} -> updatedAt) (\s@Eula' {} a -> s {updatedAt = a} :: Eula) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON Eula where+ parseJSON =+ Data.withObject+ "Eula"+ ( \x ->+ Eula'+ Prelude.<$> (x Data..:? "content")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "eulaId")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "updatedAt")+ )++instance Prelude.Hashable Eula where+ hashWithSalt _salt Eula' {..} =+ _salt+ `Prelude.hashWithSalt` content+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` eulaId+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData Eula where+ rnf Eula' {..} =+ Prelude.rnf content+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf eulaId+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/Nimble/Types/EulaAcceptance.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.EulaAcceptance+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.EulaAcceptance 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 acceptance of a EULA, required to use Amazon-provided streaming+-- images.+--+-- /See:/ 'newEulaAcceptance' smart constructor.+data EulaAcceptance = EulaAcceptance'+ { -- | The ISO timestamp in seconds for when the EULA was accepted.+ acceptedAt :: Prelude.Maybe Data.ISO8601,+ -- | The ID of the person who accepted the EULA.+ acceptedBy :: Prelude.Maybe Prelude.Text,+ -- | The ID of the acceptee.+ accepteeId :: Prelude.Maybe Prelude.Text,+ -- | The EULA acceptance ID.+ eulaAcceptanceId :: Prelude.Maybe Prelude.Text,+ -- | The EULA ID.+ eulaId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EulaAcceptance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acceptedAt', 'eulaAcceptance_acceptedAt' - The ISO timestamp in seconds for when the EULA was accepted.+--+-- 'acceptedBy', 'eulaAcceptance_acceptedBy' - The ID of the person who accepted the EULA.+--+-- 'accepteeId', 'eulaAcceptance_accepteeId' - The ID of the acceptee.+--+-- 'eulaAcceptanceId', 'eulaAcceptance_eulaAcceptanceId' - The EULA acceptance ID.+--+-- 'eulaId', 'eulaAcceptance_eulaId' - The EULA ID.+newEulaAcceptance ::+ EulaAcceptance+newEulaAcceptance =+ EulaAcceptance'+ { acceptedAt = Prelude.Nothing,+ acceptedBy = Prelude.Nothing,+ accepteeId = Prelude.Nothing,+ eulaAcceptanceId = Prelude.Nothing,+ eulaId = Prelude.Nothing+ }++-- | The ISO timestamp in seconds for when the EULA was accepted.+eulaAcceptance_acceptedAt :: Lens.Lens' EulaAcceptance (Prelude.Maybe Prelude.UTCTime)+eulaAcceptance_acceptedAt = Lens.lens (\EulaAcceptance' {acceptedAt} -> acceptedAt) (\s@EulaAcceptance' {} a -> s {acceptedAt = a} :: EulaAcceptance) Prelude.. Lens.mapping Data._Time++-- | The ID of the person who accepted the EULA.+eulaAcceptance_acceptedBy :: Lens.Lens' EulaAcceptance (Prelude.Maybe Prelude.Text)+eulaAcceptance_acceptedBy = Lens.lens (\EulaAcceptance' {acceptedBy} -> acceptedBy) (\s@EulaAcceptance' {} a -> s {acceptedBy = a} :: EulaAcceptance)++-- | The ID of the acceptee.+eulaAcceptance_accepteeId :: Lens.Lens' EulaAcceptance (Prelude.Maybe Prelude.Text)+eulaAcceptance_accepteeId = Lens.lens (\EulaAcceptance' {accepteeId} -> accepteeId) (\s@EulaAcceptance' {} a -> s {accepteeId = a} :: EulaAcceptance)++-- | The EULA acceptance ID.+eulaAcceptance_eulaAcceptanceId :: Lens.Lens' EulaAcceptance (Prelude.Maybe Prelude.Text)+eulaAcceptance_eulaAcceptanceId = Lens.lens (\EulaAcceptance' {eulaAcceptanceId} -> eulaAcceptanceId) (\s@EulaAcceptance' {} a -> s {eulaAcceptanceId = a} :: EulaAcceptance)++-- | The EULA ID.+eulaAcceptance_eulaId :: Lens.Lens' EulaAcceptance (Prelude.Maybe Prelude.Text)+eulaAcceptance_eulaId = Lens.lens (\EulaAcceptance' {eulaId} -> eulaId) (\s@EulaAcceptance' {} a -> s {eulaId = a} :: EulaAcceptance)++instance Data.FromJSON EulaAcceptance where+ parseJSON =+ Data.withObject+ "EulaAcceptance"+ ( \x ->+ EulaAcceptance'+ Prelude.<$> (x Data..:? "acceptedAt")+ Prelude.<*> (x Data..:? "acceptedBy")+ Prelude.<*> (x Data..:? "accepteeId")+ Prelude.<*> (x Data..:? "eulaAcceptanceId")+ Prelude.<*> (x Data..:? "eulaId")+ )++instance Prelude.Hashable EulaAcceptance where+ hashWithSalt _salt EulaAcceptance' {..} =+ _salt+ `Prelude.hashWithSalt` acceptedAt+ `Prelude.hashWithSalt` acceptedBy+ `Prelude.hashWithSalt` accepteeId+ `Prelude.hashWithSalt` eulaAcceptanceId+ `Prelude.hashWithSalt` eulaId++instance Prelude.NFData EulaAcceptance where+ rnf EulaAcceptance' {..} =+ Prelude.rnf acceptedAt+ `Prelude.seq` Prelude.rnf acceptedBy+ `Prelude.seq` Prelude.rnf accepteeId+ `Prelude.seq` Prelude.rnf eulaAcceptanceId+ `Prelude.seq` Prelude.rnf eulaId
+ gen/Amazonka/Nimble/Types/LaunchProfile.hs view
@@ -0,0 +1,298 @@+{-# 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.Nimble.Types.LaunchProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LaunchProfile where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.LaunchProfileState+import Amazonka.Nimble.Types.LaunchProfileStatusCode+import Amazonka.Nimble.Types.StreamConfiguration+import Amazonka.Nimble.Types.ValidationResult+import qualified Amazonka.Prelude as Prelude++-- | A launch profile controls your artist workforce’s access to studio+-- components, like compute farms, shared file systems, managed file+-- systems, and license server configurations, as well as instance types+-- and Amazon Machine Images (AMIs).+--+-- Studio administrators create launch profiles in the Nimble Studio+-- console. Artists can use their launch profiles to launch an instance+-- from the Nimble Studio portal. Each user’s launch profile defines how+-- they can launch a streaming session. By default, studio admins can use+-- all launch profiles.+--+-- /See:/ 'newLaunchProfile' smart constructor.+data LaunchProfile = LaunchProfile'+ { -- | The Amazon Resource Name (ARN) that is assigned to a studio resource and+ -- uniquely identifies it. ARNs are unique across all Regions.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The ISO timestamp in seconds for when the resource was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The user ID of the user that created the launch profile.+ createdBy :: Prelude.Maybe Prelude.Text,+ -- | A human-readable description of the launch profile.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | Unique identifiers for a collection of EC2 subnets.+ ec2SubnetIds :: Prelude.Maybe [Prelude.Text],+ -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Maybe Prelude.Text,+ -- | The version number of the protocol that is used by the launch profile.+ -- The only valid version is \"2021-03-31\".+ launchProfileProtocolVersions :: Prelude.Maybe [Prelude.Text],+ -- | A friendly name for the launch profile.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The current state.+ state :: Prelude.Maybe LaunchProfileState,+ -- | The status code.+ statusCode :: Prelude.Maybe LaunchProfileStatusCode,+ -- | The status message for the launch profile.+ statusMessage :: Prelude.Maybe Prelude.Text,+ -- | A configuration for a streaming session.+ streamConfiguration :: Prelude.Maybe StreamConfiguration,+ -- | Unique identifiers for a collection of studio components that can be+ -- used with this launch profile.+ studioComponentIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ISO timestamp in seconds for when the resource was updated.+ updatedAt :: Prelude.Maybe Data.ISO8601,+ -- | The user ID of the user that most recently updated the resource.+ updatedBy :: Prelude.Maybe Prelude.Text,+ -- | The list of the latest validation results.+ validationResults :: Prelude.Maybe [ValidationResult]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LaunchProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'launchProfile_arn' - The Amazon Resource Name (ARN) that is assigned to a studio resource and+-- uniquely identifies it. ARNs are unique across all Regions.+--+-- 'createdAt', 'launchProfile_createdAt' - The ISO timestamp in seconds for when the resource was created.+--+-- 'createdBy', 'launchProfile_createdBy' - The user ID of the user that created the launch profile.+--+-- 'description', 'launchProfile_description' - A human-readable description of the launch profile.+--+-- 'ec2SubnetIds', 'launchProfile_ec2SubnetIds' - Unique identifiers for a collection of EC2 subnets.+--+-- 'launchProfileId', 'launchProfile_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'launchProfileProtocolVersions', 'launchProfile_launchProfileProtocolVersions' - The version number of the protocol that is used by the launch profile.+-- The only valid version is \"2021-03-31\".+--+-- 'name', 'launchProfile_name' - A friendly name for the launch profile.+--+-- 'state', 'launchProfile_state' - The current state.+--+-- 'statusCode', 'launchProfile_statusCode' - The status code.+--+-- 'statusMessage', 'launchProfile_statusMessage' - The status message for the launch profile.+--+-- 'streamConfiguration', 'launchProfile_streamConfiguration' - A configuration for a streaming session.+--+-- 'studioComponentIds', 'launchProfile_studioComponentIds' - Unique identifiers for a collection of studio components that can be+-- used with this launch profile.+--+-- 'tags', 'launchProfile_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+--+-- 'updatedAt', 'launchProfile_updatedAt' - The ISO timestamp in seconds for when the resource was updated.+--+-- 'updatedBy', 'launchProfile_updatedBy' - The user ID of the user that most recently updated the resource.+--+-- 'validationResults', 'launchProfile_validationResults' - The list of the latest validation results.+newLaunchProfile ::+ LaunchProfile+newLaunchProfile =+ LaunchProfile'+ { arn = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ createdBy = Prelude.Nothing,+ description = Prelude.Nothing,+ ec2SubnetIds = Prelude.Nothing,+ launchProfileId = Prelude.Nothing,+ launchProfileProtocolVersions = Prelude.Nothing,+ name = Prelude.Nothing,+ state = Prelude.Nothing,+ statusCode = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ streamConfiguration = Prelude.Nothing,+ studioComponentIds = Prelude.Nothing,+ tags = Prelude.Nothing,+ updatedAt = Prelude.Nothing,+ updatedBy = Prelude.Nothing,+ validationResults = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) that is assigned to a studio resource and+-- uniquely identifies it. ARNs are unique across all Regions.+launchProfile_arn :: Lens.Lens' LaunchProfile (Prelude.Maybe Prelude.Text)+launchProfile_arn = Lens.lens (\LaunchProfile' {arn} -> arn) (\s@LaunchProfile' {} a -> s {arn = a} :: LaunchProfile)++-- | The ISO timestamp in seconds for when the resource was created.+launchProfile_createdAt :: Lens.Lens' LaunchProfile (Prelude.Maybe Prelude.UTCTime)+launchProfile_createdAt = Lens.lens (\LaunchProfile' {createdAt} -> createdAt) (\s@LaunchProfile' {} a -> s {createdAt = a} :: LaunchProfile) Prelude.. Lens.mapping Data._Time++-- | The user ID of the user that created the launch profile.+launchProfile_createdBy :: Lens.Lens' LaunchProfile (Prelude.Maybe Prelude.Text)+launchProfile_createdBy = Lens.lens (\LaunchProfile' {createdBy} -> createdBy) (\s@LaunchProfile' {} a -> s {createdBy = a} :: LaunchProfile)++-- | A human-readable description of the launch profile.+launchProfile_description :: Lens.Lens' LaunchProfile (Prelude.Maybe Prelude.Text)+launchProfile_description = Lens.lens (\LaunchProfile' {description} -> description) (\s@LaunchProfile' {} a -> s {description = a} :: LaunchProfile) Prelude.. Lens.mapping Data._Sensitive++-- | Unique identifiers for a collection of EC2 subnets.+launchProfile_ec2SubnetIds :: Lens.Lens' LaunchProfile (Prelude.Maybe [Prelude.Text])+launchProfile_ec2SubnetIds = Lens.lens (\LaunchProfile' {ec2SubnetIds} -> ec2SubnetIds) (\s@LaunchProfile' {} a -> s {ec2SubnetIds = a} :: LaunchProfile) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the launch profile used to control access from the streaming+-- session.+launchProfile_launchProfileId :: Lens.Lens' LaunchProfile (Prelude.Maybe Prelude.Text)+launchProfile_launchProfileId = Lens.lens (\LaunchProfile' {launchProfileId} -> launchProfileId) (\s@LaunchProfile' {} a -> s {launchProfileId = a} :: LaunchProfile)++-- | The version number of the protocol that is used by the launch profile.+-- The only valid version is \"2021-03-31\".+launchProfile_launchProfileProtocolVersions :: Lens.Lens' LaunchProfile (Prelude.Maybe [Prelude.Text])+launchProfile_launchProfileProtocolVersions = Lens.lens (\LaunchProfile' {launchProfileProtocolVersions} -> launchProfileProtocolVersions) (\s@LaunchProfile' {} a -> s {launchProfileProtocolVersions = a} :: LaunchProfile) Prelude.. Lens.mapping Lens.coerced++-- | A friendly name for the launch profile.+launchProfile_name :: Lens.Lens' LaunchProfile (Prelude.Maybe Prelude.Text)+launchProfile_name = Lens.lens (\LaunchProfile' {name} -> name) (\s@LaunchProfile' {} a -> s {name = a} :: LaunchProfile) Prelude.. Lens.mapping Data._Sensitive++-- | The current state.+launchProfile_state :: Lens.Lens' LaunchProfile (Prelude.Maybe LaunchProfileState)+launchProfile_state = Lens.lens (\LaunchProfile' {state} -> state) (\s@LaunchProfile' {} a -> s {state = a} :: LaunchProfile)++-- | The status code.+launchProfile_statusCode :: Lens.Lens' LaunchProfile (Prelude.Maybe LaunchProfileStatusCode)+launchProfile_statusCode = Lens.lens (\LaunchProfile' {statusCode} -> statusCode) (\s@LaunchProfile' {} a -> s {statusCode = a} :: LaunchProfile)++-- | The status message for the launch profile.+launchProfile_statusMessage :: Lens.Lens' LaunchProfile (Prelude.Maybe Prelude.Text)+launchProfile_statusMessage = Lens.lens (\LaunchProfile' {statusMessage} -> statusMessage) (\s@LaunchProfile' {} a -> s {statusMessage = a} :: LaunchProfile)++-- | A configuration for a streaming session.+launchProfile_streamConfiguration :: Lens.Lens' LaunchProfile (Prelude.Maybe StreamConfiguration)+launchProfile_streamConfiguration = Lens.lens (\LaunchProfile' {streamConfiguration} -> streamConfiguration) (\s@LaunchProfile' {} a -> s {streamConfiguration = a} :: LaunchProfile)++-- | Unique identifiers for a collection of studio components that can be+-- used with this launch profile.+launchProfile_studioComponentIds :: Lens.Lens' LaunchProfile (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+launchProfile_studioComponentIds = Lens.lens (\LaunchProfile' {studioComponentIds} -> studioComponentIds) (\s@LaunchProfile' {} a -> s {studioComponentIds = a} :: LaunchProfile) Prelude.. Lens.mapping Lens.coerced++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+launchProfile_tags :: Lens.Lens' LaunchProfile (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+launchProfile_tags = Lens.lens (\LaunchProfile' {tags} -> tags) (\s@LaunchProfile' {} a -> s {tags = a} :: LaunchProfile) Prelude.. Lens.mapping Lens.coerced++-- | The ISO timestamp in seconds for when the resource was updated.+launchProfile_updatedAt :: Lens.Lens' LaunchProfile (Prelude.Maybe Prelude.UTCTime)+launchProfile_updatedAt = Lens.lens (\LaunchProfile' {updatedAt} -> updatedAt) (\s@LaunchProfile' {} a -> s {updatedAt = a} :: LaunchProfile) Prelude.. Lens.mapping Data._Time++-- | The user ID of the user that most recently updated the resource.+launchProfile_updatedBy :: Lens.Lens' LaunchProfile (Prelude.Maybe Prelude.Text)+launchProfile_updatedBy = Lens.lens (\LaunchProfile' {updatedBy} -> updatedBy) (\s@LaunchProfile' {} a -> s {updatedBy = a} :: LaunchProfile)++-- | The list of the latest validation results.+launchProfile_validationResults :: Lens.Lens' LaunchProfile (Prelude.Maybe [ValidationResult])+launchProfile_validationResults = Lens.lens (\LaunchProfile' {validationResults} -> validationResults) (\s@LaunchProfile' {} a -> s {validationResults = a} :: LaunchProfile) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LaunchProfile where+ parseJSON =+ Data.withObject+ "LaunchProfile"+ ( \x ->+ LaunchProfile'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "createdBy")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "ec2SubnetIds" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "launchProfileId")+ Prelude.<*> ( x+ Data..:? "launchProfileProtocolVersions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "state")+ Prelude.<*> (x Data..:? "statusCode")+ Prelude.<*> (x Data..:? "statusMessage")+ Prelude.<*> (x Data..:? "streamConfiguration")+ Prelude.<*> (x Data..:? "studioComponentIds")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "updatedAt")+ Prelude.<*> (x Data..:? "updatedBy")+ Prelude.<*> ( x+ Data..:? "validationResults"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable LaunchProfile where+ hashWithSalt _salt LaunchProfile' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` ec2SubnetIds+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` launchProfileProtocolVersions+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` statusCode+ `Prelude.hashWithSalt` statusMessage+ `Prelude.hashWithSalt` streamConfiguration+ `Prelude.hashWithSalt` studioComponentIds+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` updatedAt+ `Prelude.hashWithSalt` updatedBy+ `Prelude.hashWithSalt` validationResults++instance Prelude.NFData LaunchProfile where+ rnf LaunchProfile' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf ec2SubnetIds+ `Prelude.seq` Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf launchProfileProtocolVersions+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf statusCode+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf streamConfiguration+ `Prelude.seq` Prelude.rnf studioComponentIds+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf updatedAt+ `Prelude.seq` Prelude.rnf updatedBy+ `Prelude.seq` Prelude.rnf validationResults
+ gen/Amazonka/Nimble/Types/LaunchProfileInitialization.hs view
@@ -0,0 +1,188 @@+{-# 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.Nimble.Types.LaunchProfileInitialization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LaunchProfileInitialization where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.LaunchProfileInitializationActiveDirectory+import Amazonka.Nimble.Types.LaunchProfileInitializationScript+import Amazonka.Nimble.Types.LaunchProfilePlatform+import qualified Amazonka.Prelude as Prelude++-- | A launch profile initialization contains information required for a+-- workstation or server to connect to a launch profile.+--+-- This includes scripts, endpoints, security groups, subnets, and other+-- configuration.+--+-- /See:/ 'newLaunchProfileInitialization' smart constructor.+data LaunchProfileInitialization = LaunchProfileInitialization'+ { -- | A @LaunchProfileInitializationActiveDirectory@ resource.+ activeDirectory :: Prelude.Maybe LaunchProfileInitializationActiveDirectory,+ -- | The EC2 security groups that control access to the studio component.+ ec2SecurityGroupIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Maybe Prelude.Text,+ -- | The version number of the protocol that is used by the launch profile.+ -- The only valid version is \"2021-03-31\".+ launchProfileProtocolVersion :: Prelude.Maybe Prelude.Text,+ -- | The launch purpose.+ launchPurpose :: Prelude.Maybe Prelude.Text,+ -- | The name for the launch profile.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The platform of the launch platform, either Windows or Linux.+ platform :: Prelude.Maybe LaunchProfilePlatform,+ -- | The system initializtion scripts.+ systemInitializationScripts :: Prelude.Maybe [LaunchProfileInitializationScript],+ -- | The user initializtion scripts.+ userInitializationScripts :: Prelude.Maybe [LaunchProfileInitializationScript]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LaunchProfileInitialization' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeDirectory', 'launchProfileInitialization_activeDirectory' - A @LaunchProfileInitializationActiveDirectory@ resource.+--+-- 'ec2SecurityGroupIds', 'launchProfileInitialization_ec2SecurityGroupIds' - The EC2 security groups that control access to the studio component.+--+-- 'launchProfileId', 'launchProfileInitialization_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'launchProfileProtocolVersion', 'launchProfileInitialization_launchProfileProtocolVersion' - The version number of the protocol that is used by the launch profile.+-- The only valid version is \"2021-03-31\".+--+-- 'launchPurpose', 'launchProfileInitialization_launchPurpose' - The launch purpose.+--+-- 'name', 'launchProfileInitialization_name' - The name for the launch profile.+--+-- 'platform', 'launchProfileInitialization_platform' - The platform of the launch platform, either Windows or Linux.+--+-- 'systemInitializationScripts', 'launchProfileInitialization_systemInitializationScripts' - The system initializtion scripts.+--+-- 'userInitializationScripts', 'launchProfileInitialization_userInitializationScripts' - The user initializtion scripts.+newLaunchProfileInitialization ::+ LaunchProfileInitialization+newLaunchProfileInitialization =+ LaunchProfileInitialization'+ { activeDirectory =+ Prelude.Nothing,+ ec2SecurityGroupIds = Prelude.Nothing,+ launchProfileId = Prelude.Nothing,+ launchProfileProtocolVersion = Prelude.Nothing,+ launchPurpose = Prelude.Nothing,+ name = Prelude.Nothing,+ platform = Prelude.Nothing,+ systemInitializationScripts = Prelude.Nothing,+ userInitializationScripts = Prelude.Nothing+ }++-- | A @LaunchProfileInitializationActiveDirectory@ resource.+launchProfileInitialization_activeDirectory :: Lens.Lens' LaunchProfileInitialization (Prelude.Maybe LaunchProfileInitializationActiveDirectory)+launchProfileInitialization_activeDirectory = Lens.lens (\LaunchProfileInitialization' {activeDirectory} -> activeDirectory) (\s@LaunchProfileInitialization' {} a -> s {activeDirectory = a} :: LaunchProfileInitialization)++-- | The EC2 security groups that control access to the studio component.+launchProfileInitialization_ec2SecurityGroupIds :: Lens.Lens' LaunchProfileInitialization (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+launchProfileInitialization_ec2SecurityGroupIds = Lens.lens (\LaunchProfileInitialization' {ec2SecurityGroupIds} -> ec2SecurityGroupIds) (\s@LaunchProfileInitialization' {} a -> s {ec2SecurityGroupIds = a} :: LaunchProfileInitialization) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the launch profile used to control access from the streaming+-- session.+launchProfileInitialization_launchProfileId :: Lens.Lens' LaunchProfileInitialization (Prelude.Maybe Prelude.Text)+launchProfileInitialization_launchProfileId = Lens.lens (\LaunchProfileInitialization' {launchProfileId} -> launchProfileId) (\s@LaunchProfileInitialization' {} a -> s {launchProfileId = a} :: LaunchProfileInitialization)++-- | The version number of the protocol that is used by the launch profile.+-- The only valid version is \"2021-03-31\".+launchProfileInitialization_launchProfileProtocolVersion :: Lens.Lens' LaunchProfileInitialization (Prelude.Maybe Prelude.Text)+launchProfileInitialization_launchProfileProtocolVersion = Lens.lens (\LaunchProfileInitialization' {launchProfileProtocolVersion} -> launchProfileProtocolVersion) (\s@LaunchProfileInitialization' {} a -> s {launchProfileProtocolVersion = a} :: LaunchProfileInitialization)++-- | The launch purpose.+launchProfileInitialization_launchPurpose :: Lens.Lens' LaunchProfileInitialization (Prelude.Maybe Prelude.Text)+launchProfileInitialization_launchPurpose = Lens.lens (\LaunchProfileInitialization' {launchPurpose} -> launchPurpose) (\s@LaunchProfileInitialization' {} a -> s {launchPurpose = a} :: LaunchProfileInitialization)++-- | The name for the launch profile.+launchProfileInitialization_name :: Lens.Lens' LaunchProfileInitialization (Prelude.Maybe Prelude.Text)+launchProfileInitialization_name = Lens.lens (\LaunchProfileInitialization' {name} -> name) (\s@LaunchProfileInitialization' {} a -> s {name = a} :: LaunchProfileInitialization) Prelude.. Lens.mapping Data._Sensitive++-- | The platform of the launch platform, either Windows or Linux.+launchProfileInitialization_platform :: Lens.Lens' LaunchProfileInitialization (Prelude.Maybe LaunchProfilePlatform)+launchProfileInitialization_platform = Lens.lens (\LaunchProfileInitialization' {platform} -> platform) (\s@LaunchProfileInitialization' {} a -> s {platform = a} :: LaunchProfileInitialization)++-- | The system initializtion scripts.+launchProfileInitialization_systemInitializationScripts :: Lens.Lens' LaunchProfileInitialization (Prelude.Maybe [LaunchProfileInitializationScript])+launchProfileInitialization_systemInitializationScripts = Lens.lens (\LaunchProfileInitialization' {systemInitializationScripts} -> systemInitializationScripts) (\s@LaunchProfileInitialization' {} a -> s {systemInitializationScripts = a} :: LaunchProfileInitialization) Prelude.. Lens.mapping Lens.coerced++-- | The user initializtion scripts.+launchProfileInitialization_userInitializationScripts :: Lens.Lens' LaunchProfileInitialization (Prelude.Maybe [LaunchProfileInitializationScript])+launchProfileInitialization_userInitializationScripts = Lens.lens (\LaunchProfileInitialization' {userInitializationScripts} -> userInitializationScripts) (\s@LaunchProfileInitialization' {} a -> s {userInitializationScripts = a} :: LaunchProfileInitialization) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LaunchProfileInitialization where+ parseJSON =+ Data.withObject+ "LaunchProfileInitialization"+ ( \x ->+ LaunchProfileInitialization'+ Prelude.<$> (x Data..:? "activeDirectory")+ Prelude.<*> (x Data..:? "ec2SecurityGroupIds")+ Prelude.<*> (x Data..:? "launchProfileId")+ Prelude.<*> (x Data..:? "launchProfileProtocolVersion")+ Prelude.<*> (x Data..:? "launchPurpose")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "platform")+ Prelude.<*> ( x+ Data..:? "systemInitializationScripts"+ Data..!= Prelude.mempty+ )+ Prelude.<*> ( x+ Data..:? "userInitializationScripts"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable LaunchProfileInitialization where+ hashWithSalt _salt LaunchProfileInitialization' {..} =+ _salt+ `Prelude.hashWithSalt` activeDirectory+ `Prelude.hashWithSalt` ec2SecurityGroupIds+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` launchProfileProtocolVersion+ `Prelude.hashWithSalt` launchPurpose+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` platform+ `Prelude.hashWithSalt` systemInitializationScripts+ `Prelude.hashWithSalt` userInitializationScripts++instance Prelude.NFData LaunchProfileInitialization where+ rnf LaunchProfileInitialization' {..} =+ Prelude.rnf activeDirectory+ `Prelude.seq` Prelude.rnf ec2SecurityGroupIds+ `Prelude.seq` Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf launchProfileProtocolVersion+ `Prelude.seq` Prelude.rnf launchPurpose+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf platform+ `Prelude.seq` Prelude.rnf systemInitializationScripts+ `Prelude.seq` Prelude.rnf userInitializationScripts
+ gen/Amazonka/Nimble/Types/LaunchProfileInitializationActiveDirectory.hs view
@@ -0,0 +1,168 @@+{-# 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.Nimble.Types.LaunchProfileInitializationActiveDirectory+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LaunchProfileInitializationActiveDirectory where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.ActiveDirectoryComputerAttribute+import qualified Amazonka.Prelude as Prelude++-- | The launch profile initialization Active Directory contains information+-- required for the launch profile to connect to the Active Directory.+--+-- /See:/ 'newLaunchProfileInitializationActiveDirectory' smart constructor.+data LaunchProfileInitializationActiveDirectory = LaunchProfileInitializationActiveDirectory'+ { -- | A collection of custom attributes for an Active Directory computer.+ computerAttributes :: Prelude.Maybe (Data.Sensitive [ActiveDirectoryComputerAttribute]),+ -- | The directory ID of the Directory Service for Microsoft Active Directory+ -- to access using this launch profile.+ directoryId :: Prelude.Maybe Prelude.Text,+ -- | The directory name.+ directoryName :: Prelude.Maybe Prelude.Text,+ -- | The DNS IP address.+ dnsIpAddresses :: Prelude.Maybe [Prelude.Text],+ -- | The name for the organizational unit distinguished name.+ organizationalUnitDistinguishedName :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for a studio component resource.+ studioComponentId :: Prelude.Maybe Prelude.Text,+ -- | The name for the studio component.+ studioComponentName :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LaunchProfileInitializationActiveDirectory' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'computerAttributes', 'launchProfileInitializationActiveDirectory_computerAttributes' - A collection of custom attributes for an Active Directory computer.+--+-- 'directoryId', 'launchProfileInitializationActiveDirectory_directoryId' - The directory ID of the Directory Service for Microsoft Active Directory+-- to access using this launch profile.+--+-- 'directoryName', 'launchProfileInitializationActiveDirectory_directoryName' - The directory name.+--+-- 'dnsIpAddresses', 'launchProfileInitializationActiveDirectory_dnsIpAddresses' - The DNS IP address.+--+-- 'organizationalUnitDistinguishedName', 'launchProfileInitializationActiveDirectory_organizationalUnitDistinguishedName' - The name for the organizational unit distinguished name.+--+-- 'studioComponentId', 'launchProfileInitializationActiveDirectory_studioComponentId' - The unique identifier for a studio component resource.+--+-- 'studioComponentName', 'launchProfileInitializationActiveDirectory_studioComponentName' - The name for the studio component.+newLaunchProfileInitializationActiveDirectory ::+ LaunchProfileInitializationActiveDirectory+newLaunchProfileInitializationActiveDirectory =+ LaunchProfileInitializationActiveDirectory'+ { computerAttributes =+ Prelude.Nothing,+ directoryId = Prelude.Nothing,+ directoryName = Prelude.Nothing,+ dnsIpAddresses =+ Prelude.Nothing,+ organizationalUnitDistinguishedName =+ Prelude.Nothing,+ studioComponentId =+ Prelude.Nothing,+ studioComponentName =+ Prelude.Nothing+ }++-- | A collection of custom attributes for an Active Directory computer.+launchProfileInitializationActiveDirectory_computerAttributes :: Lens.Lens' LaunchProfileInitializationActiveDirectory (Prelude.Maybe [ActiveDirectoryComputerAttribute])+launchProfileInitializationActiveDirectory_computerAttributes = Lens.lens (\LaunchProfileInitializationActiveDirectory' {computerAttributes} -> computerAttributes) (\s@LaunchProfileInitializationActiveDirectory' {} a -> s {computerAttributes = a} :: LaunchProfileInitializationActiveDirectory) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The directory ID of the Directory Service for Microsoft Active Directory+-- to access using this launch profile.+launchProfileInitializationActiveDirectory_directoryId :: Lens.Lens' LaunchProfileInitializationActiveDirectory (Prelude.Maybe Prelude.Text)+launchProfileInitializationActiveDirectory_directoryId = Lens.lens (\LaunchProfileInitializationActiveDirectory' {directoryId} -> directoryId) (\s@LaunchProfileInitializationActiveDirectory' {} a -> s {directoryId = a} :: LaunchProfileInitializationActiveDirectory)++-- | The directory name.+launchProfileInitializationActiveDirectory_directoryName :: Lens.Lens' LaunchProfileInitializationActiveDirectory (Prelude.Maybe Prelude.Text)+launchProfileInitializationActiveDirectory_directoryName = Lens.lens (\LaunchProfileInitializationActiveDirectory' {directoryName} -> directoryName) (\s@LaunchProfileInitializationActiveDirectory' {} a -> s {directoryName = a} :: LaunchProfileInitializationActiveDirectory)++-- | The DNS IP address.+launchProfileInitializationActiveDirectory_dnsIpAddresses :: Lens.Lens' LaunchProfileInitializationActiveDirectory (Prelude.Maybe [Prelude.Text])+launchProfileInitializationActiveDirectory_dnsIpAddresses = Lens.lens (\LaunchProfileInitializationActiveDirectory' {dnsIpAddresses} -> dnsIpAddresses) (\s@LaunchProfileInitializationActiveDirectory' {} a -> s {dnsIpAddresses = a} :: LaunchProfileInitializationActiveDirectory) Prelude.. Lens.mapping Lens.coerced++-- | The name for the organizational unit distinguished name.+launchProfileInitializationActiveDirectory_organizationalUnitDistinguishedName :: Lens.Lens' LaunchProfileInitializationActiveDirectory (Prelude.Maybe Prelude.Text)+launchProfileInitializationActiveDirectory_organizationalUnitDistinguishedName = Lens.lens (\LaunchProfileInitializationActiveDirectory' {organizationalUnitDistinguishedName} -> organizationalUnitDistinguishedName) (\s@LaunchProfileInitializationActiveDirectory' {} a -> s {organizationalUnitDistinguishedName = a} :: LaunchProfileInitializationActiveDirectory)++-- | The unique identifier for a studio component resource.+launchProfileInitializationActiveDirectory_studioComponentId :: Lens.Lens' LaunchProfileInitializationActiveDirectory (Prelude.Maybe Prelude.Text)+launchProfileInitializationActiveDirectory_studioComponentId = Lens.lens (\LaunchProfileInitializationActiveDirectory' {studioComponentId} -> studioComponentId) (\s@LaunchProfileInitializationActiveDirectory' {} a -> s {studioComponentId = a} :: LaunchProfileInitializationActiveDirectory)++-- | The name for the studio component.+launchProfileInitializationActiveDirectory_studioComponentName :: Lens.Lens' LaunchProfileInitializationActiveDirectory (Prelude.Maybe Prelude.Text)+launchProfileInitializationActiveDirectory_studioComponentName = Lens.lens (\LaunchProfileInitializationActiveDirectory' {studioComponentName} -> studioComponentName) (\s@LaunchProfileInitializationActiveDirectory' {} a -> s {studioComponentName = a} :: LaunchProfileInitializationActiveDirectory) Prelude.. Lens.mapping Data._Sensitive++instance+ Data.FromJSON+ LaunchProfileInitializationActiveDirectory+ where+ parseJSON =+ Data.withObject+ "LaunchProfileInitializationActiveDirectory"+ ( \x ->+ LaunchProfileInitializationActiveDirectory'+ Prelude.<$> ( x+ Data..:? "computerAttributes"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "directoryId")+ Prelude.<*> (x Data..:? "directoryName")+ Prelude.<*> (x Data..:? "dnsIpAddresses" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "organizationalUnitDistinguishedName")+ Prelude.<*> (x Data..:? "studioComponentId")+ Prelude.<*> (x Data..:? "studioComponentName")+ )++instance+ Prelude.Hashable+ LaunchProfileInitializationActiveDirectory+ where+ hashWithSalt+ _salt+ LaunchProfileInitializationActiveDirectory' {..} =+ _salt+ `Prelude.hashWithSalt` computerAttributes+ `Prelude.hashWithSalt` directoryId+ `Prelude.hashWithSalt` directoryName+ `Prelude.hashWithSalt` dnsIpAddresses+ `Prelude.hashWithSalt` organizationalUnitDistinguishedName+ `Prelude.hashWithSalt` studioComponentId+ `Prelude.hashWithSalt` studioComponentName++instance+ Prelude.NFData+ LaunchProfileInitializationActiveDirectory+ where+ rnf LaunchProfileInitializationActiveDirectory' {..} =+ Prelude.rnf computerAttributes+ `Prelude.seq` Prelude.rnf directoryId+ `Prelude.seq` Prelude.rnf directoryName+ `Prelude.seq` Prelude.rnf dnsIpAddresses+ `Prelude.seq` Prelude.rnf organizationalUnitDistinguishedName+ `Prelude.seq` Prelude.rnf studioComponentId+ `Prelude.seq` Prelude.rnf studioComponentName
+ gen/Amazonka/Nimble/Types/LaunchProfileInitializationScript.hs view
@@ -0,0 +1,146 @@+{-# 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.Nimble.Types.LaunchProfileInitializationScript+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LaunchProfileInitializationScript 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 launch profile initialization script is used when start streaming+-- session runs.+--+-- /See:/ 'newLaunchProfileInitializationScript' smart constructor.+data LaunchProfileInitializationScript = LaunchProfileInitializationScript'+ { -- | An IAM role attached to a Studio Component that gives the studio+ -- component access to Amazon Web Services resources at anytime while the+ -- instance is running.+ runtimeRoleArn :: Prelude.Maybe Prelude.Text,+ -- | The initialization script.+ script :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | An IAM role attached to Studio Component when the system initialization+ -- script runs which give the studio component access to Amazon Web+ -- Services resources when the system initialization script runs.+ secureInitializationRoleArn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for a studio component resource.+ studioComponentId :: Prelude.Maybe Prelude.Text,+ -- | The name for the studio component.+ studioComponentName :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LaunchProfileInitializationScript' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'runtimeRoleArn', 'launchProfileInitializationScript_runtimeRoleArn' - An IAM role attached to a Studio Component that gives the studio+-- component access to Amazon Web Services resources at anytime while the+-- instance is running.+--+-- 'script', 'launchProfileInitializationScript_script' - The initialization script.+--+-- 'secureInitializationRoleArn', 'launchProfileInitializationScript_secureInitializationRoleArn' - An IAM role attached to Studio Component when the system initialization+-- script runs which give the studio component access to Amazon Web+-- Services resources when the system initialization script runs.+--+-- 'studioComponentId', 'launchProfileInitializationScript_studioComponentId' - The unique identifier for a studio component resource.+--+-- 'studioComponentName', 'launchProfileInitializationScript_studioComponentName' - The name for the studio component.+newLaunchProfileInitializationScript ::+ LaunchProfileInitializationScript+newLaunchProfileInitializationScript =+ LaunchProfileInitializationScript'+ { runtimeRoleArn =+ Prelude.Nothing,+ script = Prelude.Nothing,+ secureInitializationRoleArn =+ Prelude.Nothing,+ studioComponentId = Prelude.Nothing,+ studioComponentName = Prelude.Nothing+ }++-- | An IAM role attached to a Studio Component that gives the studio+-- component access to Amazon Web Services resources at anytime while the+-- instance is running.+launchProfileInitializationScript_runtimeRoleArn :: Lens.Lens' LaunchProfileInitializationScript (Prelude.Maybe Prelude.Text)+launchProfileInitializationScript_runtimeRoleArn = Lens.lens (\LaunchProfileInitializationScript' {runtimeRoleArn} -> runtimeRoleArn) (\s@LaunchProfileInitializationScript' {} a -> s {runtimeRoleArn = a} :: LaunchProfileInitializationScript)++-- | The initialization script.+launchProfileInitializationScript_script :: Lens.Lens' LaunchProfileInitializationScript (Prelude.Maybe Prelude.Text)+launchProfileInitializationScript_script = Lens.lens (\LaunchProfileInitializationScript' {script} -> script) (\s@LaunchProfileInitializationScript' {} a -> s {script = a} :: LaunchProfileInitializationScript) Prelude.. Lens.mapping Data._Sensitive++-- | An IAM role attached to Studio Component when the system initialization+-- script runs which give the studio component access to Amazon Web+-- Services resources when the system initialization script runs.+launchProfileInitializationScript_secureInitializationRoleArn :: Lens.Lens' LaunchProfileInitializationScript (Prelude.Maybe Prelude.Text)+launchProfileInitializationScript_secureInitializationRoleArn = Lens.lens (\LaunchProfileInitializationScript' {secureInitializationRoleArn} -> secureInitializationRoleArn) (\s@LaunchProfileInitializationScript' {} a -> s {secureInitializationRoleArn = a} :: LaunchProfileInitializationScript)++-- | The unique identifier for a studio component resource.+launchProfileInitializationScript_studioComponentId :: Lens.Lens' LaunchProfileInitializationScript (Prelude.Maybe Prelude.Text)+launchProfileInitializationScript_studioComponentId = Lens.lens (\LaunchProfileInitializationScript' {studioComponentId} -> studioComponentId) (\s@LaunchProfileInitializationScript' {} a -> s {studioComponentId = a} :: LaunchProfileInitializationScript)++-- | The name for the studio component.+launchProfileInitializationScript_studioComponentName :: Lens.Lens' LaunchProfileInitializationScript (Prelude.Maybe Prelude.Text)+launchProfileInitializationScript_studioComponentName = Lens.lens (\LaunchProfileInitializationScript' {studioComponentName} -> studioComponentName) (\s@LaunchProfileInitializationScript' {} a -> s {studioComponentName = a} :: LaunchProfileInitializationScript) Prelude.. Lens.mapping Data._Sensitive++instance+ Data.FromJSON+ LaunchProfileInitializationScript+ where+ parseJSON =+ Data.withObject+ "LaunchProfileInitializationScript"+ ( \x ->+ LaunchProfileInitializationScript'+ Prelude.<$> (x Data..:? "runtimeRoleArn")+ Prelude.<*> (x Data..:? "script")+ Prelude.<*> (x Data..:? "secureInitializationRoleArn")+ Prelude.<*> (x Data..:? "studioComponentId")+ Prelude.<*> (x Data..:? "studioComponentName")+ )++instance+ Prelude.Hashable+ LaunchProfileInitializationScript+ where+ hashWithSalt+ _salt+ LaunchProfileInitializationScript' {..} =+ _salt+ `Prelude.hashWithSalt` runtimeRoleArn+ `Prelude.hashWithSalt` script+ `Prelude.hashWithSalt` secureInitializationRoleArn+ `Prelude.hashWithSalt` studioComponentId+ `Prelude.hashWithSalt` studioComponentName++instance+ Prelude.NFData+ LaunchProfileInitializationScript+ where+ rnf LaunchProfileInitializationScript' {..} =+ Prelude.rnf runtimeRoleArn+ `Prelude.seq` Prelude.rnf script+ `Prelude.seq` Prelude.rnf secureInitializationRoleArn+ `Prelude.seq` Prelude.rnf studioComponentId+ `Prelude.seq` Prelude.rnf studioComponentName
+ gen/Amazonka/Nimble/Types/LaunchProfileMembership.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.LaunchProfileMembership+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LaunchProfileMembership where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.LaunchProfilePersona+import qualified Amazonka.Prelude as Prelude++-- | Studio admins can use launch profile membership to delegate launch+-- profile access to studio users in the Nimble Studio portal without+-- writing or maintaining complex IAM policies. A launch profile member is+-- a user association from your studio identity source who is granted+-- permissions to a launch profile.+--+-- A launch profile member (type USER) provides the following permissions+-- to that launch profile:+--+-- - GetLaunchProfile+--+-- - GetLaunchProfileInitialization+--+-- - GetLaunchProfileMembers+--+-- - GetLaunchProfileMember+--+-- - CreateStreamingSession+--+-- - GetLaunchProfileDetails+--+-- /See:/ 'newLaunchProfileMembership' smart constructor.+data LaunchProfileMembership = LaunchProfileMembership'+ { -- | The ID of the identity store.+ identityStoreId :: Prelude.Maybe Prelude.Text,+ -- | The persona.+ persona :: Prelude.Maybe LaunchProfilePersona,+ -- | The principal ID.+ principalId :: Prelude.Maybe Prelude.Text,+ -- | The Active Directory Security Identifier for this user, if available.+ sid :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LaunchProfileMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'launchProfileMembership_identityStoreId' - The ID of the identity store.+--+-- 'persona', 'launchProfileMembership_persona' - The persona.+--+-- 'principalId', 'launchProfileMembership_principalId' - The principal ID.+--+-- 'sid', 'launchProfileMembership_sid' - The Active Directory Security Identifier for this user, if available.+newLaunchProfileMembership ::+ LaunchProfileMembership+newLaunchProfileMembership =+ LaunchProfileMembership'+ { identityStoreId =+ Prelude.Nothing,+ persona = Prelude.Nothing,+ principalId = Prelude.Nothing,+ sid = Prelude.Nothing+ }++-- | The ID of the identity store.+launchProfileMembership_identityStoreId :: Lens.Lens' LaunchProfileMembership (Prelude.Maybe Prelude.Text)+launchProfileMembership_identityStoreId = Lens.lens (\LaunchProfileMembership' {identityStoreId} -> identityStoreId) (\s@LaunchProfileMembership' {} a -> s {identityStoreId = a} :: LaunchProfileMembership)++-- | The persona.+launchProfileMembership_persona :: Lens.Lens' LaunchProfileMembership (Prelude.Maybe LaunchProfilePersona)+launchProfileMembership_persona = Lens.lens (\LaunchProfileMembership' {persona} -> persona) (\s@LaunchProfileMembership' {} a -> s {persona = a} :: LaunchProfileMembership)++-- | The principal ID.+launchProfileMembership_principalId :: Lens.Lens' LaunchProfileMembership (Prelude.Maybe Prelude.Text)+launchProfileMembership_principalId = Lens.lens (\LaunchProfileMembership' {principalId} -> principalId) (\s@LaunchProfileMembership' {} a -> s {principalId = a} :: LaunchProfileMembership)++-- | The Active Directory Security Identifier for this user, if available.+launchProfileMembership_sid :: Lens.Lens' LaunchProfileMembership (Prelude.Maybe Prelude.Text)+launchProfileMembership_sid = Lens.lens (\LaunchProfileMembership' {sid} -> sid) (\s@LaunchProfileMembership' {} a -> s {sid = a} :: LaunchProfileMembership)++instance Data.FromJSON LaunchProfileMembership where+ parseJSON =+ Data.withObject+ "LaunchProfileMembership"+ ( \x ->+ LaunchProfileMembership'+ Prelude.<$> (x Data..:? "identityStoreId")+ Prelude.<*> (x Data..:? "persona")+ Prelude.<*> (x Data..:? "principalId")+ Prelude.<*> (x Data..:? "sid")+ )++instance Prelude.Hashable LaunchProfileMembership where+ hashWithSalt _salt LaunchProfileMembership' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` persona+ `Prelude.hashWithSalt` principalId+ `Prelude.hashWithSalt` sid++instance Prelude.NFData LaunchProfileMembership where+ rnf LaunchProfileMembership' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf persona+ `Prelude.seq` Prelude.rnf principalId+ `Prelude.seq` Prelude.rnf sid
+ gen/Amazonka/Nimble/Types/LaunchProfilePersona.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.Nimble.Types.LaunchProfilePersona+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LaunchProfilePersona+ ( LaunchProfilePersona+ ( ..,+ LaunchProfilePersona_USER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LaunchProfilePersona = LaunchProfilePersona'+ { fromLaunchProfilePersona ::+ 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 LaunchProfilePersona_USER :: LaunchProfilePersona+pattern LaunchProfilePersona_USER = LaunchProfilePersona' "USER"++{-# COMPLETE+ LaunchProfilePersona_USER,+ LaunchProfilePersona'+ #-}
+ gen/Amazonka/Nimble/Types/LaunchProfilePlatform.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.Nimble.Types.LaunchProfilePlatform+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LaunchProfilePlatform+ ( LaunchProfilePlatform+ ( ..,+ LaunchProfilePlatform_LINUX,+ LaunchProfilePlatform_WINDOWS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LaunchProfilePlatform = LaunchProfilePlatform'+ { fromLaunchProfilePlatform ::+ 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 LaunchProfilePlatform_LINUX :: LaunchProfilePlatform+pattern LaunchProfilePlatform_LINUX = LaunchProfilePlatform' "LINUX"++pattern LaunchProfilePlatform_WINDOWS :: LaunchProfilePlatform+pattern LaunchProfilePlatform_WINDOWS = LaunchProfilePlatform' "WINDOWS"++{-# COMPLETE+ LaunchProfilePlatform_LINUX,+ LaunchProfilePlatform_WINDOWS,+ LaunchProfilePlatform'+ #-}
+ gen/Amazonka/Nimble/Types/LaunchProfileState.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.LaunchProfileState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LaunchProfileState+ ( LaunchProfileState+ ( ..,+ LaunchProfileState_CREATE_FAILED,+ LaunchProfileState_CREATE_IN_PROGRESS,+ LaunchProfileState_DELETED,+ LaunchProfileState_DELETE_FAILED,+ LaunchProfileState_DELETE_IN_PROGRESS,+ LaunchProfileState_READY,+ LaunchProfileState_UPDATE_FAILED,+ LaunchProfileState_UPDATE_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LaunchProfileState = LaunchProfileState'+ { fromLaunchProfileState ::+ 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 LaunchProfileState_CREATE_FAILED :: LaunchProfileState+pattern LaunchProfileState_CREATE_FAILED = LaunchProfileState' "CREATE_FAILED"++pattern LaunchProfileState_CREATE_IN_PROGRESS :: LaunchProfileState+pattern LaunchProfileState_CREATE_IN_PROGRESS = LaunchProfileState' "CREATE_IN_PROGRESS"++pattern LaunchProfileState_DELETED :: LaunchProfileState+pattern LaunchProfileState_DELETED = LaunchProfileState' "DELETED"++pattern LaunchProfileState_DELETE_FAILED :: LaunchProfileState+pattern LaunchProfileState_DELETE_FAILED = LaunchProfileState' "DELETE_FAILED"++pattern LaunchProfileState_DELETE_IN_PROGRESS :: LaunchProfileState+pattern LaunchProfileState_DELETE_IN_PROGRESS = LaunchProfileState' "DELETE_IN_PROGRESS"++pattern LaunchProfileState_READY :: LaunchProfileState+pattern LaunchProfileState_READY = LaunchProfileState' "READY"++pattern LaunchProfileState_UPDATE_FAILED :: LaunchProfileState+pattern LaunchProfileState_UPDATE_FAILED = LaunchProfileState' "UPDATE_FAILED"++pattern LaunchProfileState_UPDATE_IN_PROGRESS :: LaunchProfileState+pattern LaunchProfileState_UPDATE_IN_PROGRESS = LaunchProfileState' "UPDATE_IN_PROGRESS"++{-# COMPLETE+ LaunchProfileState_CREATE_FAILED,+ LaunchProfileState_CREATE_IN_PROGRESS,+ LaunchProfileState_DELETED,+ LaunchProfileState_DELETE_FAILED,+ LaunchProfileState_DELETE_IN_PROGRESS,+ LaunchProfileState_READY,+ LaunchProfileState_UPDATE_FAILED,+ LaunchProfileState_UPDATE_IN_PROGRESS,+ LaunchProfileState'+ #-}
+ gen/Amazonka/Nimble/Types/LaunchProfileStatusCode.hs view
@@ -0,0 +1,136 @@+{-# 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.Nimble.Types.LaunchProfileStatusCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LaunchProfileStatusCode+ ( LaunchProfileStatusCode+ ( ..,+ LaunchProfileStatusCode_ENCRYPTION_KEY_ACCESS_DENIED,+ LaunchProfileStatusCode_ENCRYPTION_KEY_NOT_FOUND,+ LaunchProfileStatusCode_INTERNAL_ERROR,+ LaunchProfileStatusCode_INVALID_INSTANCE_TYPES_PROVIDED,+ LaunchProfileStatusCode_INVALID_SUBNETS_COMBINATION,+ LaunchProfileStatusCode_INVALID_SUBNETS_PROVIDED,+ LaunchProfileStatusCode_LAUNCH_PROFILE_CREATED,+ LaunchProfileStatusCode_LAUNCH_PROFILE_CREATE_IN_PROGRESS,+ LaunchProfileStatusCode_LAUNCH_PROFILE_DELETED,+ LaunchProfileStatusCode_LAUNCH_PROFILE_DELETE_IN_PROGRESS,+ LaunchProfileStatusCode_LAUNCH_PROFILE_UPDATED,+ LaunchProfileStatusCode_LAUNCH_PROFILE_UPDATE_IN_PROGRESS,+ LaunchProfileStatusCode_LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED,+ LaunchProfileStatusCode_STREAMING_IMAGE_NOT_FOUND,+ LaunchProfileStatusCode_STREAMING_IMAGE_NOT_READY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LaunchProfileStatusCode = LaunchProfileStatusCode'+ { fromLaunchProfileStatusCode ::+ 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 LaunchProfileStatusCode_ENCRYPTION_KEY_ACCESS_DENIED :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_ENCRYPTION_KEY_ACCESS_DENIED = LaunchProfileStatusCode' "ENCRYPTION_KEY_ACCESS_DENIED"++pattern LaunchProfileStatusCode_ENCRYPTION_KEY_NOT_FOUND :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_ENCRYPTION_KEY_NOT_FOUND = LaunchProfileStatusCode' "ENCRYPTION_KEY_NOT_FOUND"++pattern LaunchProfileStatusCode_INTERNAL_ERROR :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_INTERNAL_ERROR = LaunchProfileStatusCode' "INTERNAL_ERROR"++pattern LaunchProfileStatusCode_INVALID_INSTANCE_TYPES_PROVIDED :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_INVALID_INSTANCE_TYPES_PROVIDED = LaunchProfileStatusCode' "INVALID_INSTANCE_TYPES_PROVIDED"++pattern LaunchProfileStatusCode_INVALID_SUBNETS_COMBINATION :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_INVALID_SUBNETS_COMBINATION = LaunchProfileStatusCode' "INVALID_SUBNETS_COMBINATION"++pattern LaunchProfileStatusCode_INVALID_SUBNETS_PROVIDED :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_INVALID_SUBNETS_PROVIDED = LaunchProfileStatusCode' "INVALID_SUBNETS_PROVIDED"++pattern LaunchProfileStatusCode_LAUNCH_PROFILE_CREATED :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_LAUNCH_PROFILE_CREATED = LaunchProfileStatusCode' "LAUNCH_PROFILE_CREATED"++pattern LaunchProfileStatusCode_LAUNCH_PROFILE_CREATE_IN_PROGRESS :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_LAUNCH_PROFILE_CREATE_IN_PROGRESS = LaunchProfileStatusCode' "LAUNCH_PROFILE_CREATE_IN_PROGRESS"++pattern LaunchProfileStatusCode_LAUNCH_PROFILE_DELETED :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_LAUNCH_PROFILE_DELETED = LaunchProfileStatusCode' "LAUNCH_PROFILE_DELETED"++pattern LaunchProfileStatusCode_LAUNCH_PROFILE_DELETE_IN_PROGRESS :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_LAUNCH_PROFILE_DELETE_IN_PROGRESS = LaunchProfileStatusCode' "LAUNCH_PROFILE_DELETE_IN_PROGRESS"++pattern LaunchProfileStatusCode_LAUNCH_PROFILE_UPDATED :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_LAUNCH_PROFILE_UPDATED = LaunchProfileStatusCode' "LAUNCH_PROFILE_UPDATED"++pattern LaunchProfileStatusCode_LAUNCH_PROFILE_UPDATE_IN_PROGRESS :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_LAUNCH_PROFILE_UPDATE_IN_PROGRESS = LaunchProfileStatusCode' "LAUNCH_PROFILE_UPDATE_IN_PROGRESS"++pattern LaunchProfileStatusCode_LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED = LaunchProfileStatusCode' "LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED"++pattern LaunchProfileStatusCode_STREAMING_IMAGE_NOT_FOUND :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_STREAMING_IMAGE_NOT_FOUND = LaunchProfileStatusCode' "STREAMING_IMAGE_NOT_FOUND"++pattern LaunchProfileStatusCode_STREAMING_IMAGE_NOT_READY :: LaunchProfileStatusCode+pattern LaunchProfileStatusCode_STREAMING_IMAGE_NOT_READY = LaunchProfileStatusCode' "STREAMING_IMAGE_NOT_READY"++{-# COMPLETE+ LaunchProfileStatusCode_ENCRYPTION_KEY_ACCESS_DENIED,+ LaunchProfileStatusCode_ENCRYPTION_KEY_NOT_FOUND,+ LaunchProfileStatusCode_INTERNAL_ERROR,+ LaunchProfileStatusCode_INVALID_INSTANCE_TYPES_PROVIDED,+ LaunchProfileStatusCode_INVALID_SUBNETS_COMBINATION,+ LaunchProfileStatusCode_INVALID_SUBNETS_PROVIDED,+ LaunchProfileStatusCode_LAUNCH_PROFILE_CREATED,+ LaunchProfileStatusCode_LAUNCH_PROFILE_CREATE_IN_PROGRESS,+ LaunchProfileStatusCode_LAUNCH_PROFILE_DELETED,+ LaunchProfileStatusCode_LAUNCH_PROFILE_DELETE_IN_PROGRESS,+ LaunchProfileStatusCode_LAUNCH_PROFILE_UPDATED,+ LaunchProfileStatusCode_LAUNCH_PROFILE_UPDATE_IN_PROGRESS,+ LaunchProfileStatusCode_LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED,+ LaunchProfileStatusCode_STREAMING_IMAGE_NOT_FOUND,+ LaunchProfileStatusCode_STREAMING_IMAGE_NOT_READY,+ LaunchProfileStatusCode'+ #-}
+ gen/Amazonka/Nimble/Types/LaunchProfileValidationState.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.LaunchProfileValidationState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LaunchProfileValidationState+ ( LaunchProfileValidationState+ ( ..,+ LaunchProfileValidationState_VALIDATION_FAILED,+ LaunchProfileValidationState_VALIDATION_FAILED_INTERNAL_SERVER_ERROR,+ LaunchProfileValidationState_VALIDATION_IN_PROGRESS,+ LaunchProfileValidationState_VALIDATION_NOT_STARTED,+ LaunchProfileValidationState_VALIDATION_SUCCESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LaunchProfileValidationState = LaunchProfileValidationState'+ { fromLaunchProfileValidationState ::+ 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 LaunchProfileValidationState_VALIDATION_FAILED :: LaunchProfileValidationState+pattern LaunchProfileValidationState_VALIDATION_FAILED = LaunchProfileValidationState' "VALIDATION_FAILED"++pattern LaunchProfileValidationState_VALIDATION_FAILED_INTERNAL_SERVER_ERROR :: LaunchProfileValidationState+pattern LaunchProfileValidationState_VALIDATION_FAILED_INTERNAL_SERVER_ERROR = LaunchProfileValidationState' "VALIDATION_FAILED_INTERNAL_SERVER_ERROR"++pattern LaunchProfileValidationState_VALIDATION_IN_PROGRESS :: LaunchProfileValidationState+pattern LaunchProfileValidationState_VALIDATION_IN_PROGRESS = LaunchProfileValidationState' "VALIDATION_IN_PROGRESS"++pattern LaunchProfileValidationState_VALIDATION_NOT_STARTED :: LaunchProfileValidationState+pattern LaunchProfileValidationState_VALIDATION_NOT_STARTED = LaunchProfileValidationState' "VALIDATION_NOT_STARTED"++pattern LaunchProfileValidationState_VALIDATION_SUCCESS :: LaunchProfileValidationState+pattern LaunchProfileValidationState_VALIDATION_SUCCESS = LaunchProfileValidationState' "VALIDATION_SUCCESS"++{-# COMPLETE+ LaunchProfileValidationState_VALIDATION_FAILED,+ LaunchProfileValidationState_VALIDATION_FAILED_INTERNAL_SERVER_ERROR,+ LaunchProfileValidationState_VALIDATION_IN_PROGRESS,+ LaunchProfileValidationState_VALIDATION_NOT_STARTED,+ LaunchProfileValidationState_VALIDATION_SUCCESS,+ LaunchProfileValidationState'+ #-}
+ gen/Amazonka/Nimble/Types/LaunchProfileValidationStatusCode.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.LaunchProfileValidationStatusCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LaunchProfileValidationStatusCode+ ( LaunchProfileValidationStatusCode+ ( ..,+ LaunchProfileValidationStatusCode_VALIDATION_FAILED_INTERNAL_SERVER_ERROR,+ LaunchProfileValidationStatusCode_VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY,+ LaunchProfileValidationStatusCode_VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION,+ LaunchProfileValidationStatusCode_VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION,+ LaunchProfileValidationStatusCode_VALIDATION_FAILED_SUBNET_NOT_FOUND,+ LaunchProfileValidationStatusCode_VALIDATION_FAILED_UNAUTHORIZED,+ LaunchProfileValidationStatusCode_VALIDATION_IN_PROGRESS,+ LaunchProfileValidationStatusCode_VALIDATION_NOT_STARTED,+ LaunchProfileValidationStatusCode_VALIDATION_SUCCESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LaunchProfileValidationStatusCode = LaunchProfileValidationStatusCode'+ { fromLaunchProfileValidationStatusCode ::+ 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 LaunchProfileValidationStatusCode_VALIDATION_FAILED_INTERNAL_SERVER_ERROR :: LaunchProfileValidationStatusCode+pattern LaunchProfileValidationStatusCode_VALIDATION_FAILED_INTERNAL_SERVER_ERROR = LaunchProfileValidationStatusCode' "VALIDATION_FAILED_INTERNAL_SERVER_ERROR"++pattern LaunchProfileValidationStatusCode_VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY :: LaunchProfileValidationStatusCode+pattern LaunchProfileValidationStatusCode_VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY = LaunchProfileValidationStatusCode' "VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY"++pattern LaunchProfileValidationStatusCode_VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION :: LaunchProfileValidationStatusCode+pattern LaunchProfileValidationStatusCode_VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION = LaunchProfileValidationStatusCode' "VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION"++pattern LaunchProfileValidationStatusCode_VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION :: LaunchProfileValidationStatusCode+pattern LaunchProfileValidationStatusCode_VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION = LaunchProfileValidationStatusCode' "VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION"++pattern LaunchProfileValidationStatusCode_VALIDATION_FAILED_SUBNET_NOT_FOUND :: LaunchProfileValidationStatusCode+pattern LaunchProfileValidationStatusCode_VALIDATION_FAILED_SUBNET_NOT_FOUND = LaunchProfileValidationStatusCode' "VALIDATION_FAILED_SUBNET_NOT_FOUND"++pattern LaunchProfileValidationStatusCode_VALIDATION_FAILED_UNAUTHORIZED :: LaunchProfileValidationStatusCode+pattern LaunchProfileValidationStatusCode_VALIDATION_FAILED_UNAUTHORIZED = LaunchProfileValidationStatusCode' "VALIDATION_FAILED_UNAUTHORIZED"++pattern LaunchProfileValidationStatusCode_VALIDATION_IN_PROGRESS :: LaunchProfileValidationStatusCode+pattern LaunchProfileValidationStatusCode_VALIDATION_IN_PROGRESS = LaunchProfileValidationStatusCode' "VALIDATION_IN_PROGRESS"++pattern LaunchProfileValidationStatusCode_VALIDATION_NOT_STARTED :: LaunchProfileValidationStatusCode+pattern LaunchProfileValidationStatusCode_VALIDATION_NOT_STARTED = LaunchProfileValidationStatusCode' "VALIDATION_NOT_STARTED"++pattern LaunchProfileValidationStatusCode_VALIDATION_SUCCESS :: LaunchProfileValidationStatusCode+pattern LaunchProfileValidationStatusCode_VALIDATION_SUCCESS = LaunchProfileValidationStatusCode' "VALIDATION_SUCCESS"++{-# COMPLETE+ LaunchProfileValidationStatusCode_VALIDATION_FAILED_INTERNAL_SERVER_ERROR,+ LaunchProfileValidationStatusCode_VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY,+ LaunchProfileValidationStatusCode_VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION,+ LaunchProfileValidationStatusCode_VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION,+ LaunchProfileValidationStatusCode_VALIDATION_FAILED_SUBNET_NOT_FOUND,+ LaunchProfileValidationStatusCode_VALIDATION_FAILED_UNAUTHORIZED,+ LaunchProfileValidationStatusCode_VALIDATION_IN_PROGRESS,+ LaunchProfileValidationStatusCode_VALIDATION_NOT_STARTED,+ LaunchProfileValidationStatusCode_VALIDATION_SUCCESS,+ LaunchProfileValidationStatusCode'+ #-}
+ gen/Amazonka/Nimble/Types/LaunchProfileValidationType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.LaunchProfileValidationType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LaunchProfileValidationType+ ( LaunchProfileValidationType+ ( ..,+ LaunchProfileValidationType_VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT,+ LaunchProfileValidationType_VALIDATE_NETWORK_ACL_ASSOCIATION,+ LaunchProfileValidationType_VALIDATE_SECURITY_GROUP_ASSOCIATION,+ LaunchProfileValidationType_VALIDATE_SUBNET_ASSOCIATION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LaunchProfileValidationType = LaunchProfileValidationType'+ { fromLaunchProfileValidationType ::+ 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 LaunchProfileValidationType_VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT :: LaunchProfileValidationType+pattern LaunchProfileValidationType_VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT = LaunchProfileValidationType' "VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT"++pattern LaunchProfileValidationType_VALIDATE_NETWORK_ACL_ASSOCIATION :: LaunchProfileValidationType+pattern LaunchProfileValidationType_VALIDATE_NETWORK_ACL_ASSOCIATION = LaunchProfileValidationType' "VALIDATE_NETWORK_ACL_ASSOCIATION"++pattern LaunchProfileValidationType_VALIDATE_SECURITY_GROUP_ASSOCIATION :: LaunchProfileValidationType+pattern LaunchProfileValidationType_VALIDATE_SECURITY_GROUP_ASSOCIATION = LaunchProfileValidationType' "VALIDATE_SECURITY_GROUP_ASSOCIATION"++pattern LaunchProfileValidationType_VALIDATE_SUBNET_ASSOCIATION :: LaunchProfileValidationType+pattern LaunchProfileValidationType_VALIDATE_SUBNET_ASSOCIATION = LaunchProfileValidationType' "VALIDATE_SUBNET_ASSOCIATION"++{-# COMPLETE+ LaunchProfileValidationType_VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT,+ LaunchProfileValidationType_VALIDATE_NETWORK_ACL_ASSOCIATION,+ LaunchProfileValidationType_VALIDATE_SECURITY_GROUP_ASSOCIATION,+ LaunchProfileValidationType_VALIDATE_SUBNET_ASSOCIATION,+ LaunchProfileValidationType'+ #-}
+ gen/Amazonka/Nimble/Types/LicenseServiceConfiguration.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.LicenseServiceConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.LicenseServiceConfiguration 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 a license service that is associated with a studio+-- resource.+--+-- /See:/ 'newLicenseServiceConfiguration' smart constructor.+data LicenseServiceConfiguration = LicenseServiceConfiguration'+ { -- | The endpoint of the license service that is accessed by the studio+ -- component resource.+ endpoint :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LicenseServiceConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endpoint', 'licenseServiceConfiguration_endpoint' - The endpoint of the license service that is accessed by the studio+-- component resource.+newLicenseServiceConfiguration ::+ LicenseServiceConfiguration+newLicenseServiceConfiguration =+ LicenseServiceConfiguration'+ { endpoint =+ Prelude.Nothing+ }++-- | The endpoint of the license service that is accessed by the studio+-- component resource.+licenseServiceConfiguration_endpoint :: Lens.Lens' LicenseServiceConfiguration (Prelude.Maybe Prelude.Text)+licenseServiceConfiguration_endpoint = Lens.lens (\LicenseServiceConfiguration' {endpoint} -> endpoint) (\s@LicenseServiceConfiguration' {} a -> s {endpoint = a} :: LicenseServiceConfiguration) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON LicenseServiceConfiguration where+ parseJSON =+ Data.withObject+ "LicenseServiceConfiguration"+ ( \x ->+ LicenseServiceConfiguration'+ Prelude.<$> (x Data..:? "endpoint")+ )++instance Prelude.Hashable LicenseServiceConfiguration where+ hashWithSalt _salt LicenseServiceConfiguration' {..} =+ _salt `Prelude.hashWithSalt` endpoint++instance Prelude.NFData LicenseServiceConfiguration where+ rnf LicenseServiceConfiguration' {..} =+ Prelude.rnf endpoint++instance Data.ToJSON LicenseServiceConfiguration where+ toJSON LicenseServiceConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [("endpoint" Data..=) Prelude.<$> endpoint]+ )
+ gen/Amazonka/Nimble/Types/NewLaunchProfileMember.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.NewLaunchProfileMember+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.NewLaunchProfileMember where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.LaunchProfilePersona+import qualified Amazonka.Prelude as Prelude++-- | A new member that is added to a launch profile.+--+-- /See:/ 'newNewLaunchProfileMember' smart constructor.+data NewLaunchProfileMember = NewLaunchProfileMember'+ { -- | The persona.+ persona :: LaunchProfilePersona,+ -- | The principal ID.+ principalId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NewLaunchProfileMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'persona', 'newLaunchProfileMember_persona' - The persona.+--+-- 'principalId', 'newLaunchProfileMember_principalId' - The principal ID.+newNewLaunchProfileMember ::+ -- | 'persona'+ LaunchProfilePersona ->+ -- | 'principalId'+ Prelude.Text ->+ NewLaunchProfileMember+newNewLaunchProfileMember pPersona_ pPrincipalId_ =+ NewLaunchProfileMember'+ { persona = pPersona_,+ principalId = pPrincipalId_+ }++-- | The persona.+newLaunchProfileMember_persona :: Lens.Lens' NewLaunchProfileMember LaunchProfilePersona+newLaunchProfileMember_persona = Lens.lens (\NewLaunchProfileMember' {persona} -> persona) (\s@NewLaunchProfileMember' {} a -> s {persona = a} :: NewLaunchProfileMember)++-- | The principal ID.+newLaunchProfileMember_principalId :: Lens.Lens' NewLaunchProfileMember Prelude.Text+newLaunchProfileMember_principalId = Lens.lens (\NewLaunchProfileMember' {principalId} -> principalId) (\s@NewLaunchProfileMember' {} a -> s {principalId = a} :: NewLaunchProfileMember)++instance Prelude.Hashable NewLaunchProfileMember where+ hashWithSalt _salt NewLaunchProfileMember' {..} =+ _salt+ `Prelude.hashWithSalt` persona+ `Prelude.hashWithSalt` principalId++instance Prelude.NFData NewLaunchProfileMember where+ rnf NewLaunchProfileMember' {..} =+ Prelude.rnf persona+ `Prelude.seq` Prelude.rnf principalId++instance Data.ToJSON NewLaunchProfileMember where+ toJSON NewLaunchProfileMember' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("persona" Data..= persona),+ Prelude.Just ("principalId" Data..= principalId)+ ]+ )
+ gen/Amazonka/Nimble/Types/NewStudioMember.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.NewStudioMember+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.NewStudioMember where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.StudioPersona+import qualified Amazonka.Prelude as Prelude++-- | A new studio user\'s membership.+--+-- /See:/ 'newNewStudioMember' smart constructor.+data NewStudioMember = NewStudioMember'+ { -- | The persona.+ persona :: StudioPersona,+ -- | The principal ID.+ principalId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NewStudioMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'persona', 'newStudioMember_persona' - The persona.+--+-- 'principalId', 'newStudioMember_principalId' - The principal ID.+newNewStudioMember ::+ -- | 'persona'+ StudioPersona ->+ -- | 'principalId'+ Prelude.Text ->+ NewStudioMember+newNewStudioMember pPersona_ pPrincipalId_ =+ NewStudioMember'+ { persona = pPersona_,+ principalId = pPrincipalId_+ }++-- | The persona.+newStudioMember_persona :: Lens.Lens' NewStudioMember StudioPersona+newStudioMember_persona = Lens.lens (\NewStudioMember' {persona} -> persona) (\s@NewStudioMember' {} a -> s {persona = a} :: NewStudioMember)++-- | The principal ID.+newStudioMember_principalId :: Lens.Lens' NewStudioMember Prelude.Text+newStudioMember_principalId = Lens.lens (\NewStudioMember' {principalId} -> principalId) (\s@NewStudioMember' {} a -> s {principalId = a} :: NewStudioMember)++instance Prelude.Hashable NewStudioMember where+ hashWithSalt _salt NewStudioMember' {..} =+ _salt+ `Prelude.hashWithSalt` persona+ `Prelude.hashWithSalt` principalId++instance Prelude.NFData NewStudioMember where+ rnf NewStudioMember' {..} =+ Prelude.rnf persona+ `Prelude.seq` Prelude.rnf principalId++instance Data.ToJSON NewStudioMember where+ toJSON NewStudioMember' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("persona" Data..= persona),+ Prelude.Just ("principalId" Data..= principalId)+ ]+ )
+ gen/Amazonka/Nimble/Types/ScriptParameterKeyValue.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.ScriptParameterKeyValue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.ScriptParameterKeyValue 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 parameter for a studio component script, in the form of a key-value+-- pair.+--+-- /See:/ 'newScriptParameterKeyValue' smart constructor.+data ScriptParameterKeyValue = ScriptParameterKeyValue'+ { -- | A script parameter key.+ key :: Prelude.Maybe Prelude.Text,+ -- | A script parameter value.+ value :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScriptParameterKeyValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'scriptParameterKeyValue_key' - A script parameter key.+--+-- 'value', 'scriptParameterKeyValue_value' - A script parameter value.+newScriptParameterKeyValue ::+ ScriptParameterKeyValue+newScriptParameterKeyValue =+ ScriptParameterKeyValue'+ { key = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | A script parameter key.+scriptParameterKeyValue_key :: Lens.Lens' ScriptParameterKeyValue (Prelude.Maybe Prelude.Text)+scriptParameterKeyValue_key = Lens.lens (\ScriptParameterKeyValue' {key} -> key) (\s@ScriptParameterKeyValue' {} a -> s {key = a} :: ScriptParameterKeyValue)++-- | A script parameter value.+scriptParameterKeyValue_value :: Lens.Lens' ScriptParameterKeyValue (Prelude.Maybe Prelude.Text)+scriptParameterKeyValue_value = Lens.lens (\ScriptParameterKeyValue' {value} -> value) (\s@ScriptParameterKeyValue' {} a -> s {value = a} :: ScriptParameterKeyValue)++instance Data.FromJSON ScriptParameterKeyValue where+ parseJSON =+ Data.withObject+ "ScriptParameterKeyValue"+ ( \x ->+ ScriptParameterKeyValue'+ Prelude.<$> (x Data..:? "key")+ Prelude.<*> (x Data..:? "value")+ )++instance Prelude.Hashable ScriptParameterKeyValue where+ hashWithSalt _salt ScriptParameterKeyValue' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData ScriptParameterKeyValue where+ rnf ScriptParameterKeyValue' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON ScriptParameterKeyValue where+ toJSON ScriptParameterKeyValue' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("key" Data..=) Prelude.<$> key,+ ("value" Data..=) Prelude.<$> value+ ]+ )
+ gen/Amazonka/Nimble/Types/SessionBackupMode.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.Nimble.Types.SessionBackupMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.SessionBackupMode+ ( SessionBackupMode+ ( ..,+ SessionBackupMode_AUTOMATIC,+ SessionBackupMode_DEACTIVATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SessionBackupMode = SessionBackupMode'+ { fromSessionBackupMode ::+ 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 SessionBackupMode_AUTOMATIC :: SessionBackupMode+pattern SessionBackupMode_AUTOMATIC = SessionBackupMode' "AUTOMATIC"++pattern SessionBackupMode_DEACTIVATED :: SessionBackupMode+pattern SessionBackupMode_DEACTIVATED = SessionBackupMode' "DEACTIVATED"++{-# COMPLETE+ SessionBackupMode_AUTOMATIC,+ SessionBackupMode_DEACTIVATED,+ SessionBackupMode'+ #-}
+ gen/Amazonka/Nimble/Types/SessionPersistenceMode.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.Nimble.Types.SessionPersistenceMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.SessionPersistenceMode+ ( SessionPersistenceMode+ ( ..,+ SessionPersistenceMode_ACTIVATED,+ SessionPersistenceMode_DEACTIVATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SessionPersistenceMode = SessionPersistenceMode'+ { fromSessionPersistenceMode ::+ 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 SessionPersistenceMode_ACTIVATED :: SessionPersistenceMode+pattern SessionPersistenceMode_ACTIVATED = SessionPersistenceMode' "ACTIVATED"++pattern SessionPersistenceMode_DEACTIVATED :: SessionPersistenceMode+pattern SessionPersistenceMode_DEACTIVATED = SessionPersistenceMode' "DEACTIVATED"++{-# COMPLETE+ SessionPersistenceMode_ACTIVATED,+ SessionPersistenceMode_DEACTIVATED,+ SessionPersistenceMode'+ #-}
@@ -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.Nimble.Types.SharedFileSystemConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.SharedFileSystemConfiguration 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 a shared file storage system that is associated+-- with a studio resource.+--+-- /See:/ 'newSharedFileSystemConfiguration' smart constructor.+data SharedFileSystemConfiguration = SharedFileSystemConfiguration'+ { -- | The endpoint of the shared file system that is accessed by the studio+ -- component resource.+ endpoint :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The unique identifier for a file system.+ fileSystemId :: Prelude.Maybe Prelude.Text,+ -- | The mount location for a shared file system on a Linux virtual+ -- workstation.+ linuxMountPoint :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The name of the file share.+ shareName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The mount location for a shared file system on a Windows virtual+ -- workstation.+ windowsMountDrive :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SharedFileSystemConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endpoint', 'sharedFileSystemConfiguration_endpoint' - The endpoint of the shared file system that is accessed by the studio+-- component resource.+--+-- 'fileSystemId', 'sharedFileSystemConfiguration_fileSystemId' - The unique identifier for a file system.+--+-- 'linuxMountPoint', 'sharedFileSystemConfiguration_linuxMountPoint' - The mount location for a shared file system on a Linux virtual+-- workstation.+--+-- 'shareName', 'sharedFileSystemConfiguration_shareName' - The name of the file share.+--+-- 'windowsMountDrive', 'sharedFileSystemConfiguration_windowsMountDrive' - The mount location for a shared file system on a Windows virtual+-- workstation.+newSharedFileSystemConfiguration ::+ SharedFileSystemConfiguration+newSharedFileSystemConfiguration =+ SharedFileSystemConfiguration'+ { endpoint =+ Prelude.Nothing,+ fileSystemId = Prelude.Nothing,+ linuxMountPoint = Prelude.Nothing,+ shareName = Prelude.Nothing,+ windowsMountDrive = Prelude.Nothing+ }++-- | The endpoint of the shared file system that is accessed by the studio+-- component resource.+sharedFileSystemConfiguration_endpoint :: Lens.Lens' SharedFileSystemConfiguration (Prelude.Maybe Prelude.Text)+sharedFileSystemConfiguration_endpoint = Lens.lens (\SharedFileSystemConfiguration' {endpoint} -> endpoint) (\s@SharedFileSystemConfiguration' {} a -> s {endpoint = a} :: SharedFileSystemConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The unique identifier for a file system.+sharedFileSystemConfiguration_fileSystemId :: Lens.Lens' SharedFileSystemConfiguration (Prelude.Maybe Prelude.Text)+sharedFileSystemConfiguration_fileSystemId = Lens.lens (\SharedFileSystemConfiguration' {fileSystemId} -> fileSystemId) (\s@SharedFileSystemConfiguration' {} a -> s {fileSystemId = a} :: SharedFileSystemConfiguration)++-- | The mount location for a shared file system on a Linux virtual+-- workstation.+sharedFileSystemConfiguration_linuxMountPoint :: Lens.Lens' SharedFileSystemConfiguration (Prelude.Maybe Prelude.Text)+sharedFileSystemConfiguration_linuxMountPoint = Lens.lens (\SharedFileSystemConfiguration' {linuxMountPoint} -> linuxMountPoint) (\s@SharedFileSystemConfiguration' {} a -> s {linuxMountPoint = a} :: SharedFileSystemConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the file share.+sharedFileSystemConfiguration_shareName :: Lens.Lens' SharedFileSystemConfiguration (Prelude.Maybe Prelude.Text)+sharedFileSystemConfiguration_shareName = Lens.lens (\SharedFileSystemConfiguration' {shareName} -> shareName) (\s@SharedFileSystemConfiguration' {} a -> s {shareName = a} :: SharedFileSystemConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The mount location for a shared file system on a Windows virtual+-- workstation.+sharedFileSystemConfiguration_windowsMountDrive :: Lens.Lens' SharedFileSystemConfiguration (Prelude.Maybe Prelude.Text)+sharedFileSystemConfiguration_windowsMountDrive = Lens.lens (\SharedFileSystemConfiguration' {windowsMountDrive} -> windowsMountDrive) (\s@SharedFileSystemConfiguration' {} a -> s {windowsMountDrive = a} :: SharedFileSystemConfiguration)++instance Data.FromJSON SharedFileSystemConfiguration where+ parseJSON =+ Data.withObject+ "SharedFileSystemConfiguration"+ ( \x ->+ SharedFileSystemConfiguration'+ Prelude.<$> (x Data..:? "endpoint")+ Prelude.<*> (x Data..:? "fileSystemId")+ Prelude.<*> (x Data..:? "linuxMountPoint")+ Prelude.<*> (x Data..:? "shareName")+ Prelude.<*> (x Data..:? "windowsMountDrive")+ )++instance+ Prelude.Hashable+ SharedFileSystemConfiguration+ where+ hashWithSalt _salt SharedFileSystemConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` endpoint+ `Prelude.hashWithSalt` fileSystemId+ `Prelude.hashWithSalt` linuxMountPoint+ `Prelude.hashWithSalt` shareName+ `Prelude.hashWithSalt` windowsMountDrive++instance Prelude.NFData SharedFileSystemConfiguration where+ rnf SharedFileSystemConfiguration' {..} =+ Prelude.rnf endpoint+ `Prelude.seq` Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf linuxMountPoint+ `Prelude.seq` Prelude.rnf shareName+ `Prelude.seq` Prelude.rnf windowsMountDrive++instance Data.ToJSON SharedFileSystemConfiguration where+ toJSON SharedFileSystemConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("endpoint" Data..=) Prelude.<$> endpoint,+ ("fileSystemId" Data..=) Prelude.<$> fileSystemId,+ ("linuxMountPoint" Data..=)+ Prelude.<$> linuxMountPoint,+ ("shareName" Data..=) Prelude.<$> shareName,+ ("windowsMountDrive" Data..=)+ Prelude.<$> windowsMountDrive+ ]+ )
+ gen/Amazonka/Nimble/Types/StreamConfiguration.hs view
@@ -0,0 +1,325 @@+{-# 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.Nimble.Types.StreamConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.AutomaticTerminationMode+import Amazonka.Nimble.Types.SessionPersistenceMode+import Amazonka.Nimble.Types.StreamConfigurationSessionBackup+import Amazonka.Nimble.Types.StreamConfigurationSessionStorage+import Amazonka.Nimble.Types.StreamingClipboardMode+import Amazonka.Nimble.Types.StreamingInstanceType+import Amazonka.Nimble.Types.VolumeConfiguration+import qualified Amazonka.Prelude as Prelude++-- | A configuration for a streaming session.+--+-- /See:/ 'newStreamConfiguration' smart constructor.+data StreamConfiguration = StreamConfiguration'+ { -- | Indicates if a streaming session created from this launch profile should+ -- be terminated automatically or retained without termination after being+ -- in a @STOPPED@ state.+ --+ -- - When @ACTIVATED@, the streaming session is scheduled for termination+ -- after being in the @STOPPED@ state for the time specified in+ -- @maxStoppedSessionLengthInMinutes@.+ --+ -- - When @DEACTIVATED@, the streaming session can remain in the+ -- @STOPPED@ state indefinitely.+ --+ -- This parameter is only allowed when @sessionPersistenceMode@ is+ -- @ACTIVATED@. When allowed, the default value for this parameter is+ -- @DEACTIVATED@.+ automaticTerminationMode :: Prelude.Maybe AutomaticTerminationMode,+ -- | The length of time, in minutes, that a streaming session can be active+ -- before it is stopped or terminated. After this point, Nimble Studio+ -- automatically terminates or stops the session. The default length of+ -- time is 690 minutes, and the maximum length of time is 30 days.+ maxSessionLengthInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | Integer that determines if you can start and stop your sessions and how+ -- long a session can stay in the @STOPPED@ state. The default value is 0.+ -- The maximum value is 5760.+ --+ -- This field is allowed only when @sessionPersistenceMode@ is @ACTIVATED@+ -- and @automaticTerminationMode@ is @ACTIVATED@.+ --+ -- If the value is set to 0, your sessions can’t be @STOPPED@. If you then+ -- call @StopStreamingSession@, the session fails. If the time that a+ -- session stays in the @READY@ state exceeds the+ -- @maxSessionLengthInMinutes@ value, the session will automatically be+ -- terminated (instead of @STOPPED@).+ --+ -- If the value is set to a positive number, the session can be stopped.+ -- You can call @StopStreamingSession@ to stop sessions in the @READY@+ -- state. If the time that a session stays in the @READY@ state exceeds the+ -- @maxSessionLengthInMinutes@ value, the session will automatically be+ -- stopped (instead of terminated).+ maxStoppedSessionLengthInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | Information about the streaming session backup.+ sessionBackup :: Prelude.Maybe StreamConfigurationSessionBackup,+ -- | Determine if a streaming session created from this launch profile can+ -- configure persistent storage. This means that @volumeConfiguration@ and+ -- @automaticTerminationMode@ are configured.+ sessionPersistenceMode :: Prelude.Maybe SessionPersistenceMode,+ -- | The upload storage for a streaming session.+ sessionStorage :: Prelude.Maybe StreamConfigurationSessionStorage,+ -- | Custom volume configuration for the root volumes that are attached to+ -- streaming sessions.+ --+ -- This parameter is only allowed when @sessionPersistenceMode@ is+ -- @ACTIVATED@.+ volumeConfiguration :: Prelude.Maybe VolumeConfiguration,+ -- | Allows or deactivates the use of the system clipboard to copy and paste+ -- between the streaming session and streaming client.+ clipboardMode :: StreamingClipboardMode,+ -- | The EC2 instance types that users can select from when launching a+ -- streaming session with this launch profile.+ ec2InstanceTypes :: Prelude.NonEmpty StreamingInstanceType,+ -- | The streaming images that users can select from when launching a+ -- streaming session with this launch profile.+ streamingImageIds :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StreamConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'automaticTerminationMode', 'streamConfiguration_automaticTerminationMode' - Indicates if a streaming session created from this launch profile should+-- be terminated automatically or retained without termination after being+-- in a @STOPPED@ state.+--+-- - When @ACTIVATED@, the streaming session is scheduled for termination+-- after being in the @STOPPED@ state for the time specified in+-- @maxStoppedSessionLengthInMinutes@.+--+-- - When @DEACTIVATED@, the streaming session can remain in the+-- @STOPPED@ state indefinitely.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@. When allowed, the default value for this parameter is+-- @DEACTIVATED@.+--+-- 'maxSessionLengthInMinutes', 'streamConfiguration_maxSessionLengthInMinutes' - The length of time, in minutes, that a streaming session can be active+-- before it is stopped or terminated. After this point, Nimble Studio+-- automatically terminates or stops the session. The default length of+-- time is 690 minutes, and the maximum length of time is 30 days.+--+-- 'maxStoppedSessionLengthInMinutes', 'streamConfiguration_maxStoppedSessionLengthInMinutes' - Integer that determines if you can start and stop your sessions and how+-- long a session can stay in the @STOPPED@ state. The default value is 0.+-- The maximum value is 5760.+--+-- This field is allowed only when @sessionPersistenceMode@ is @ACTIVATED@+-- and @automaticTerminationMode@ is @ACTIVATED@.+--+-- If the value is set to 0, your sessions can’t be @STOPPED@. If you then+-- call @StopStreamingSession@, the session fails. If the time that a+-- session stays in the @READY@ state exceeds the+-- @maxSessionLengthInMinutes@ value, the session will automatically be+-- terminated (instead of @STOPPED@).+--+-- If the value is set to a positive number, the session can be stopped.+-- You can call @StopStreamingSession@ to stop sessions in the @READY@+-- state. If the time that a session stays in the @READY@ state exceeds the+-- @maxSessionLengthInMinutes@ value, the session will automatically be+-- stopped (instead of terminated).+--+-- 'sessionBackup', 'streamConfiguration_sessionBackup' - Information about the streaming session backup.+--+-- 'sessionPersistenceMode', 'streamConfiguration_sessionPersistenceMode' - Determine if a streaming session created from this launch profile can+-- configure persistent storage. This means that @volumeConfiguration@ and+-- @automaticTerminationMode@ are configured.+--+-- 'sessionStorage', 'streamConfiguration_sessionStorage' - The upload storage for a streaming session.+--+-- 'volumeConfiguration', 'streamConfiguration_volumeConfiguration' - Custom volume configuration for the root volumes that are attached to+-- streaming sessions.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@.+--+-- 'clipboardMode', 'streamConfiguration_clipboardMode' - Allows or deactivates the use of the system clipboard to copy and paste+-- between the streaming session and streaming client.+--+-- 'ec2InstanceTypes', 'streamConfiguration_ec2InstanceTypes' - The EC2 instance types that users can select from when launching a+-- streaming session with this launch profile.+--+-- 'streamingImageIds', 'streamConfiguration_streamingImageIds' - The streaming images that users can select from when launching a+-- streaming session with this launch profile.+newStreamConfiguration ::+ -- | 'clipboardMode'+ StreamingClipboardMode ->+ -- | 'ec2InstanceTypes'+ Prelude.NonEmpty StreamingInstanceType ->+ -- | 'streamingImageIds'+ Prelude.NonEmpty Prelude.Text ->+ StreamConfiguration+newStreamConfiguration+ pClipboardMode_+ pEc2InstanceTypes_+ pStreamingImageIds_ =+ StreamConfiguration'+ { automaticTerminationMode =+ Prelude.Nothing,+ maxSessionLengthInMinutes = Prelude.Nothing,+ maxStoppedSessionLengthInMinutes = Prelude.Nothing,+ sessionBackup = Prelude.Nothing,+ sessionPersistenceMode = Prelude.Nothing,+ sessionStorage = Prelude.Nothing,+ volumeConfiguration = Prelude.Nothing,+ clipboardMode = pClipboardMode_,+ ec2InstanceTypes =+ Lens.coerced Lens.# pEc2InstanceTypes_,+ streamingImageIds =+ Lens.coerced Lens.# pStreamingImageIds_+ }++-- | Indicates if a streaming session created from this launch profile should+-- be terminated automatically or retained without termination after being+-- in a @STOPPED@ state.+--+-- - When @ACTIVATED@, the streaming session is scheduled for termination+-- after being in the @STOPPED@ state for the time specified in+-- @maxStoppedSessionLengthInMinutes@.+--+-- - When @DEACTIVATED@, the streaming session can remain in the+-- @STOPPED@ state indefinitely.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@. When allowed, the default value for this parameter is+-- @DEACTIVATED@.+streamConfiguration_automaticTerminationMode :: Lens.Lens' StreamConfiguration (Prelude.Maybe AutomaticTerminationMode)+streamConfiguration_automaticTerminationMode = Lens.lens (\StreamConfiguration' {automaticTerminationMode} -> automaticTerminationMode) (\s@StreamConfiguration' {} a -> s {automaticTerminationMode = a} :: StreamConfiguration)++-- | The length of time, in minutes, that a streaming session can be active+-- before it is stopped or terminated. After this point, Nimble Studio+-- automatically terminates or stops the session. The default length of+-- time is 690 minutes, and the maximum length of time is 30 days.+streamConfiguration_maxSessionLengthInMinutes :: Lens.Lens' StreamConfiguration (Prelude.Maybe Prelude.Natural)+streamConfiguration_maxSessionLengthInMinutes = Lens.lens (\StreamConfiguration' {maxSessionLengthInMinutes} -> maxSessionLengthInMinutes) (\s@StreamConfiguration' {} a -> s {maxSessionLengthInMinutes = a} :: StreamConfiguration)++-- | Integer that determines if you can start and stop your sessions and how+-- long a session can stay in the @STOPPED@ state. The default value is 0.+-- The maximum value is 5760.+--+-- This field is allowed only when @sessionPersistenceMode@ is @ACTIVATED@+-- and @automaticTerminationMode@ is @ACTIVATED@.+--+-- If the value is set to 0, your sessions can’t be @STOPPED@. If you then+-- call @StopStreamingSession@, the session fails. If the time that a+-- session stays in the @READY@ state exceeds the+-- @maxSessionLengthInMinutes@ value, the session will automatically be+-- terminated (instead of @STOPPED@).+--+-- If the value is set to a positive number, the session can be stopped.+-- You can call @StopStreamingSession@ to stop sessions in the @READY@+-- state. If the time that a session stays in the @READY@ state exceeds the+-- @maxSessionLengthInMinutes@ value, the session will automatically be+-- stopped (instead of terminated).+streamConfiguration_maxStoppedSessionLengthInMinutes :: Lens.Lens' StreamConfiguration (Prelude.Maybe Prelude.Natural)+streamConfiguration_maxStoppedSessionLengthInMinutes = Lens.lens (\StreamConfiguration' {maxStoppedSessionLengthInMinutes} -> maxStoppedSessionLengthInMinutes) (\s@StreamConfiguration' {} a -> s {maxStoppedSessionLengthInMinutes = a} :: StreamConfiguration)++-- | Information about the streaming session backup.+streamConfiguration_sessionBackup :: Lens.Lens' StreamConfiguration (Prelude.Maybe StreamConfigurationSessionBackup)+streamConfiguration_sessionBackup = Lens.lens (\StreamConfiguration' {sessionBackup} -> sessionBackup) (\s@StreamConfiguration' {} a -> s {sessionBackup = a} :: StreamConfiguration)++-- | Determine if a streaming session created from this launch profile can+-- configure persistent storage. This means that @volumeConfiguration@ and+-- @automaticTerminationMode@ are configured.+streamConfiguration_sessionPersistenceMode :: Lens.Lens' StreamConfiguration (Prelude.Maybe SessionPersistenceMode)+streamConfiguration_sessionPersistenceMode = Lens.lens (\StreamConfiguration' {sessionPersistenceMode} -> sessionPersistenceMode) (\s@StreamConfiguration' {} a -> s {sessionPersistenceMode = a} :: StreamConfiguration)++-- | The upload storage for a streaming session.+streamConfiguration_sessionStorage :: Lens.Lens' StreamConfiguration (Prelude.Maybe StreamConfigurationSessionStorage)+streamConfiguration_sessionStorage = Lens.lens (\StreamConfiguration' {sessionStorage} -> sessionStorage) (\s@StreamConfiguration' {} a -> s {sessionStorage = a} :: StreamConfiguration)++-- | Custom volume configuration for the root volumes that are attached to+-- streaming sessions.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@.+streamConfiguration_volumeConfiguration :: Lens.Lens' StreamConfiguration (Prelude.Maybe VolumeConfiguration)+streamConfiguration_volumeConfiguration = Lens.lens (\StreamConfiguration' {volumeConfiguration} -> volumeConfiguration) (\s@StreamConfiguration' {} a -> s {volumeConfiguration = a} :: StreamConfiguration)++-- | Allows or deactivates the use of the system clipboard to copy and paste+-- between the streaming session and streaming client.+streamConfiguration_clipboardMode :: Lens.Lens' StreamConfiguration StreamingClipboardMode+streamConfiguration_clipboardMode = Lens.lens (\StreamConfiguration' {clipboardMode} -> clipboardMode) (\s@StreamConfiguration' {} a -> s {clipboardMode = a} :: StreamConfiguration)++-- | The EC2 instance types that users can select from when launching a+-- streaming session with this launch profile.+streamConfiguration_ec2InstanceTypes :: Lens.Lens' StreamConfiguration (Prelude.NonEmpty StreamingInstanceType)+streamConfiguration_ec2InstanceTypes = Lens.lens (\StreamConfiguration' {ec2InstanceTypes} -> ec2InstanceTypes) (\s@StreamConfiguration' {} a -> s {ec2InstanceTypes = a} :: StreamConfiguration) Prelude.. Lens.coerced++-- | The streaming images that users can select from when launching a+-- streaming session with this launch profile.+streamConfiguration_streamingImageIds :: Lens.Lens' StreamConfiguration (Prelude.NonEmpty Prelude.Text)+streamConfiguration_streamingImageIds = Lens.lens (\StreamConfiguration' {streamingImageIds} -> streamingImageIds) (\s@StreamConfiguration' {} a -> s {streamingImageIds = a} :: StreamConfiguration) Prelude.. Lens.coerced++instance Data.FromJSON StreamConfiguration where+ parseJSON =+ Data.withObject+ "StreamConfiguration"+ ( \x ->+ StreamConfiguration'+ Prelude.<$> (x Data..:? "automaticTerminationMode")+ Prelude.<*> (x Data..:? "maxSessionLengthInMinutes")+ Prelude.<*> (x Data..:? "maxStoppedSessionLengthInMinutes")+ Prelude.<*> (x Data..:? "sessionBackup")+ Prelude.<*> (x Data..:? "sessionPersistenceMode")+ Prelude.<*> (x Data..:? "sessionStorage")+ Prelude.<*> (x Data..:? "volumeConfiguration")+ Prelude.<*> (x Data..: "clipboardMode")+ Prelude.<*> (x Data..: "ec2InstanceTypes")+ Prelude.<*> (x Data..: "streamingImageIds")+ )++instance Prelude.Hashable StreamConfiguration where+ hashWithSalt _salt StreamConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` automaticTerminationMode+ `Prelude.hashWithSalt` maxSessionLengthInMinutes+ `Prelude.hashWithSalt` maxStoppedSessionLengthInMinutes+ `Prelude.hashWithSalt` sessionBackup+ `Prelude.hashWithSalt` sessionPersistenceMode+ `Prelude.hashWithSalt` sessionStorage+ `Prelude.hashWithSalt` volumeConfiguration+ `Prelude.hashWithSalt` clipboardMode+ `Prelude.hashWithSalt` ec2InstanceTypes+ `Prelude.hashWithSalt` streamingImageIds++instance Prelude.NFData StreamConfiguration where+ rnf StreamConfiguration' {..} =+ Prelude.rnf automaticTerminationMode+ `Prelude.seq` Prelude.rnf maxSessionLengthInMinutes+ `Prelude.seq` Prelude.rnf maxStoppedSessionLengthInMinutes+ `Prelude.seq` Prelude.rnf sessionBackup+ `Prelude.seq` Prelude.rnf sessionPersistenceMode+ `Prelude.seq` Prelude.rnf sessionStorage+ `Prelude.seq` Prelude.rnf volumeConfiguration+ `Prelude.seq` Prelude.rnf clipboardMode+ `Prelude.seq` Prelude.rnf ec2InstanceTypes+ `Prelude.seq` Prelude.rnf streamingImageIds
+ gen/Amazonka/Nimble/Types/StreamConfigurationCreate.hs view
@@ -0,0 +1,340 @@+{-# 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.Nimble.Types.StreamConfigurationCreate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamConfigurationCreate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.AutomaticTerminationMode+import Amazonka.Nimble.Types.SessionPersistenceMode+import Amazonka.Nimble.Types.StreamConfigurationSessionBackup+import Amazonka.Nimble.Types.StreamConfigurationSessionStorage+import Amazonka.Nimble.Types.StreamingClipboardMode+import Amazonka.Nimble.Types.StreamingInstanceType+import Amazonka.Nimble.Types.VolumeConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Configuration for streaming workstations created using this launch+-- profile.+--+-- /See:/ 'newStreamConfigurationCreate' smart constructor.+data StreamConfigurationCreate = StreamConfigurationCreate'+ { -- | Indicates if a streaming session created from this launch profile should+ -- be terminated automatically or retained without termination after being+ -- in a @STOPPED@ state.+ --+ -- - When @ACTIVATED@, the streaming session is scheduled for termination+ -- after being in the @STOPPED@ state for the time specified in+ -- @maxStoppedSessionLengthInMinutes@.+ --+ -- - When @DEACTIVATED@, the streaming session can remain in the+ -- @STOPPED@ state indefinitely.+ --+ -- This parameter is only allowed when @sessionPersistenceMode@ is+ -- @ACTIVATED@. When allowed, the default value for this parameter is+ -- @DEACTIVATED@.+ automaticTerminationMode :: Prelude.Maybe AutomaticTerminationMode,+ -- | The length of time, in minutes, that a streaming session can be active+ -- before it is stopped or terminated. After this point, Nimble Studio+ -- automatically terminates or stops the session. The default length of+ -- time is 690 minutes, and the maximum length of time is 30 days.+ maxSessionLengthInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | Integer that determines if you can start and stop your sessions and how+ -- long a session can stay in the @STOPPED@ state. The default value is 0.+ -- The maximum value is 5760.+ --+ -- This field is allowed only when @sessionPersistenceMode@ is @ACTIVATED@+ -- and @automaticTerminationMode@ is @ACTIVATED@.+ --+ -- If the value is set to 0, your sessions can’t be @STOPPED@. If you then+ -- call @StopStreamingSession@, the session fails. If the time that a+ -- session stays in the @READY@ state exceeds the+ -- @maxSessionLengthInMinutes@ value, the session will automatically be+ -- terminated (instead of @STOPPED@).+ --+ -- If the value is set to a positive number, the session can be stopped.+ -- You can call @StopStreamingSession@ to stop sessions in the @READY@+ -- state. If the time that a session stays in the @READY@ state exceeds the+ -- @maxSessionLengthInMinutes@ value, the session will automatically be+ -- stopped (instead of terminated).+ maxStoppedSessionLengthInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | Configures how streaming sessions are backed up when launched from this+ -- launch profile.+ sessionBackup :: Prelude.Maybe StreamConfigurationSessionBackup,+ -- | Determine if a streaming session created from this launch profile can+ -- configure persistent storage. This means that @volumeConfiguration@ and+ -- @automaticTerminationMode@ are configured.+ sessionPersistenceMode :: Prelude.Maybe SessionPersistenceMode,+ -- | The upload storage for a streaming workstation that is created using+ -- this launch profile.+ sessionStorage :: Prelude.Maybe StreamConfigurationSessionStorage,+ -- | Custom volume configuration for the root volumes that are attached to+ -- streaming sessions.+ --+ -- This parameter is only allowed when @sessionPersistenceMode@ is+ -- @ACTIVATED@.+ volumeConfiguration :: Prelude.Maybe VolumeConfiguration,+ -- | Allows or deactivates the use of the system clipboard to copy and paste+ -- between the streaming session and streaming client.+ clipboardMode :: StreamingClipboardMode,+ -- | The EC2 instance types that users can select from when launching a+ -- streaming session with this launch profile.+ ec2InstanceTypes :: Prelude.NonEmpty StreamingInstanceType,+ -- | The streaming images that users can select from when launching a+ -- streaming session with this launch profile.+ streamingImageIds :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StreamConfigurationCreate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'automaticTerminationMode', 'streamConfigurationCreate_automaticTerminationMode' - Indicates if a streaming session created from this launch profile should+-- be terminated automatically or retained without termination after being+-- in a @STOPPED@ state.+--+-- - When @ACTIVATED@, the streaming session is scheduled for termination+-- after being in the @STOPPED@ state for the time specified in+-- @maxStoppedSessionLengthInMinutes@.+--+-- - When @DEACTIVATED@, the streaming session can remain in the+-- @STOPPED@ state indefinitely.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@. When allowed, the default value for this parameter is+-- @DEACTIVATED@.+--+-- 'maxSessionLengthInMinutes', 'streamConfigurationCreate_maxSessionLengthInMinutes' - The length of time, in minutes, that a streaming session can be active+-- before it is stopped or terminated. After this point, Nimble Studio+-- automatically terminates or stops the session. The default length of+-- time is 690 minutes, and the maximum length of time is 30 days.+--+-- 'maxStoppedSessionLengthInMinutes', 'streamConfigurationCreate_maxStoppedSessionLengthInMinutes' - Integer that determines if you can start and stop your sessions and how+-- long a session can stay in the @STOPPED@ state. The default value is 0.+-- The maximum value is 5760.+--+-- This field is allowed only when @sessionPersistenceMode@ is @ACTIVATED@+-- and @automaticTerminationMode@ is @ACTIVATED@.+--+-- If the value is set to 0, your sessions can’t be @STOPPED@. If you then+-- call @StopStreamingSession@, the session fails. If the time that a+-- session stays in the @READY@ state exceeds the+-- @maxSessionLengthInMinutes@ value, the session will automatically be+-- terminated (instead of @STOPPED@).+--+-- If the value is set to a positive number, the session can be stopped.+-- You can call @StopStreamingSession@ to stop sessions in the @READY@+-- state. If the time that a session stays in the @READY@ state exceeds the+-- @maxSessionLengthInMinutes@ value, the session will automatically be+-- stopped (instead of terminated).+--+-- 'sessionBackup', 'streamConfigurationCreate_sessionBackup' - Configures how streaming sessions are backed up when launched from this+-- launch profile.+--+-- 'sessionPersistenceMode', 'streamConfigurationCreate_sessionPersistenceMode' - Determine if a streaming session created from this launch profile can+-- configure persistent storage. This means that @volumeConfiguration@ and+-- @automaticTerminationMode@ are configured.+--+-- 'sessionStorage', 'streamConfigurationCreate_sessionStorage' - The upload storage for a streaming workstation that is created using+-- this launch profile.+--+-- 'volumeConfiguration', 'streamConfigurationCreate_volumeConfiguration' - Custom volume configuration for the root volumes that are attached to+-- streaming sessions.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@.+--+-- 'clipboardMode', 'streamConfigurationCreate_clipboardMode' - Allows or deactivates the use of the system clipboard to copy and paste+-- between the streaming session and streaming client.+--+-- 'ec2InstanceTypes', 'streamConfigurationCreate_ec2InstanceTypes' - The EC2 instance types that users can select from when launching a+-- streaming session with this launch profile.+--+-- 'streamingImageIds', 'streamConfigurationCreate_streamingImageIds' - The streaming images that users can select from when launching a+-- streaming session with this launch profile.+newStreamConfigurationCreate ::+ -- | 'clipboardMode'+ StreamingClipboardMode ->+ -- | 'ec2InstanceTypes'+ Prelude.NonEmpty StreamingInstanceType ->+ -- | 'streamingImageIds'+ Prelude.NonEmpty Prelude.Text ->+ StreamConfigurationCreate+newStreamConfigurationCreate+ pClipboardMode_+ pEc2InstanceTypes_+ pStreamingImageIds_ =+ StreamConfigurationCreate'+ { automaticTerminationMode =+ Prelude.Nothing,+ maxSessionLengthInMinutes = Prelude.Nothing,+ maxStoppedSessionLengthInMinutes =+ Prelude.Nothing,+ sessionBackup = Prelude.Nothing,+ sessionPersistenceMode = Prelude.Nothing,+ sessionStorage = Prelude.Nothing,+ volumeConfiguration = Prelude.Nothing,+ clipboardMode = pClipboardMode_,+ ec2InstanceTypes =+ Lens.coerced Lens.# pEc2InstanceTypes_,+ streamingImageIds =+ Lens.coerced Lens.# pStreamingImageIds_+ }++-- | Indicates if a streaming session created from this launch profile should+-- be terminated automatically or retained without termination after being+-- in a @STOPPED@ state.+--+-- - When @ACTIVATED@, the streaming session is scheduled for termination+-- after being in the @STOPPED@ state for the time specified in+-- @maxStoppedSessionLengthInMinutes@.+--+-- - When @DEACTIVATED@, the streaming session can remain in the+-- @STOPPED@ state indefinitely.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@. When allowed, the default value for this parameter is+-- @DEACTIVATED@.+streamConfigurationCreate_automaticTerminationMode :: Lens.Lens' StreamConfigurationCreate (Prelude.Maybe AutomaticTerminationMode)+streamConfigurationCreate_automaticTerminationMode = Lens.lens (\StreamConfigurationCreate' {automaticTerminationMode} -> automaticTerminationMode) (\s@StreamConfigurationCreate' {} a -> s {automaticTerminationMode = a} :: StreamConfigurationCreate)++-- | The length of time, in minutes, that a streaming session can be active+-- before it is stopped or terminated. After this point, Nimble Studio+-- automatically terminates or stops the session. The default length of+-- time is 690 minutes, and the maximum length of time is 30 days.+streamConfigurationCreate_maxSessionLengthInMinutes :: Lens.Lens' StreamConfigurationCreate (Prelude.Maybe Prelude.Natural)+streamConfigurationCreate_maxSessionLengthInMinutes = Lens.lens (\StreamConfigurationCreate' {maxSessionLengthInMinutes} -> maxSessionLengthInMinutes) (\s@StreamConfigurationCreate' {} a -> s {maxSessionLengthInMinutes = a} :: StreamConfigurationCreate)++-- | Integer that determines if you can start and stop your sessions and how+-- long a session can stay in the @STOPPED@ state. The default value is 0.+-- The maximum value is 5760.+--+-- This field is allowed only when @sessionPersistenceMode@ is @ACTIVATED@+-- and @automaticTerminationMode@ is @ACTIVATED@.+--+-- If the value is set to 0, your sessions can’t be @STOPPED@. If you then+-- call @StopStreamingSession@, the session fails. If the time that a+-- session stays in the @READY@ state exceeds the+-- @maxSessionLengthInMinutes@ value, the session will automatically be+-- terminated (instead of @STOPPED@).+--+-- If the value is set to a positive number, the session can be stopped.+-- You can call @StopStreamingSession@ to stop sessions in the @READY@+-- state. If the time that a session stays in the @READY@ state exceeds the+-- @maxSessionLengthInMinutes@ value, the session will automatically be+-- stopped (instead of terminated).+streamConfigurationCreate_maxStoppedSessionLengthInMinutes :: Lens.Lens' StreamConfigurationCreate (Prelude.Maybe Prelude.Natural)+streamConfigurationCreate_maxStoppedSessionLengthInMinutes = Lens.lens (\StreamConfigurationCreate' {maxStoppedSessionLengthInMinutes} -> maxStoppedSessionLengthInMinutes) (\s@StreamConfigurationCreate' {} a -> s {maxStoppedSessionLengthInMinutes = a} :: StreamConfigurationCreate)++-- | Configures how streaming sessions are backed up when launched from this+-- launch profile.+streamConfigurationCreate_sessionBackup :: Lens.Lens' StreamConfigurationCreate (Prelude.Maybe StreamConfigurationSessionBackup)+streamConfigurationCreate_sessionBackup = Lens.lens (\StreamConfigurationCreate' {sessionBackup} -> sessionBackup) (\s@StreamConfigurationCreate' {} a -> s {sessionBackup = a} :: StreamConfigurationCreate)++-- | Determine if a streaming session created from this launch profile can+-- configure persistent storage. This means that @volumeConfiguration@ and+-- @automaticTerminationMode@ are configured.+streamConfigurationCreate_sessionPersistenceMode :: Lens.Lens' StreamConfigurationCreate (Prelude.Maybe SessionPersistenceMode)+streamConfigurationCreate_sessionPersistenceMode = Lens.lens (\StreamConfigurationCreate' {sessionPersistenceMode} -> sessionPersistenceMode) (\s@StreamConfigurationCreate' {} a -> s {sessionPersistenceMode = a} :: StreamConfigurationCreate)++-- | The upload storage for a streaming workstation that is created using+-- this launch profile.+streamConfigurationCreate_sessionStorage :: Lens.Lens' StreamConfigurationCreate (Prelude.Maybe StreamConfigurationSessionStorage)+streamConfigurationCreate_sessionStorage = Lens.lens (\StreamConfigurationCreate' {sessionStorage} -> sessionStorage) (\s@StreamConfigurationCreate' {} a -> s {sessionStorage = a} :: StreamConfigurationCreate)++-- | Custom volume configuration for the root volumes that are attached to+-- streaming sessions.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@.+streamConfigurationCreate_volumeConfiguration :: Lens.Lens' StreamConfigurationCreate (Prelude.Maybe VolumeConfiguration)+streamConfigurationCreate_volumeConfiguration = Lens.lens (\StreamConfigurationCreate' {volumeConfiguration} -> volumeConfiguration) (\s@StreamConfigurationCreate' {} a -> s {volumeConfiguration = a} :: StreamConfigurationCreate)++-- | Allows or deactivates the use of the system clipboard to copy and paste+-- between the streaming session and streaming client.+streamConfigurationCreate_clipboardMode :: Lens.Lens' StreamConfigurationCreate StreamingClipboardMode+streamConfigurationCreate_clipboardMode = Lens.lens (\StreamConfigurationCreate' {clipboardMode} -> clipboardMode) (\s@StreamConfigurationCreate' {} a -> s {clipboardMode = a} :: StreamConfigurationCreate)++-- | The EC2 instance types that users can select from when launching a+-- streaming session with this launch profile.+streamConfigurationCreate_ec2InstanceTypes :: Lens.Lens' StreamConfigurationCreate (Prelude.NonEmpty StreamingInstanceType)+streamConfigurationCreate_ec2InstanceTypes = Lens.lens (\StreamConfigurationCreate' {ec2InstanceTypes} -> ec2InstanceTypes) (\s@StreamConfigurationCreate' {} a -> s {ec2InstanceTypes = a} :: StreamConfigurationCreate) Prelude.. Lens.coerced++-- | The streaming images that users can select from when launching a+-- streaming session with this launch profile.+streamConfigurationCreate_streamingImageIds :: Lens.Lens' StreamConfigurationCreate (Prelude.NonEmpty Prelude.Text)+streamConfigurationCreate_streamingImageIds = Lens.lens (\StreamConfigurationCreate' {streamingImageIds} -> streamingImageIds) (\s@StreamConfigurationCreate' {} a -> s {streamingImageIds = a} :: StreamConfigurationCreate) Prelude.. Lens.coerced++instance Prelude.Hashable StreamConfigurationCreate where+ hashWithSalt _salt StreamConfigurationCreate' {..} =+ _salt+ `Prelude.hashWithSalt` automaticTerminationMode+ `Prelude.hashWithSalt` maxSessionLengthInMinutes+ `Prelude.hashWithSalt` maxStoppedSessionLengthInMinutes+ `Prelude.hashWithSalt` sessionBackup+ `Prelude.hashWithSalt` sessionPersistenceMode+ `Prelude.hashWithSalt` sessionStorage+ `Prelude.hashWithSalt` volumeConfiguration+ `Prelude.hashWithSalt` clipboardMode+ `Prelude.hashWithSalt` ec2InstanceTypes+ `Prelude.hashWithSalt` streamingImageIds++instance Prelude.NFData StreamConfigurationCreate where+ rnf StreamConfigurationCreate' {..} =+ Prelude.rnf automaticTerminationMode+ `Prelude.seq` Prelude.rnf maxSessionLengthInMinutes+ `Prelude.seq` Prelude.rnf maxStoppedSessionLengthInMinutes+ `Prelude.seq` Prelude.rnf sessionBackup+ `Prelude.seq` Prelude.rnf sessionPersistenceMode+ `Prelude.seq` Prelude.rnf sessionStorage+ `Prelude.seq` Prelude.rnf volumeConfiguration+ `Prelude.seq` Prelude.rnf clipboardMode+ `Prelude.seq` Prelude.rnf ec2InstanceTypes+ `Prelude.seq` Prelude.rnf streamingImageIds++instance Data.ToJSON StreamConfigurationCreate where+ toJSON StreamConfigurationCreate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("automaticTerminationMode" Data..=)+ Prelude.<$> automaticTerminationMode,+ ("maxSessionLengthInMinutes" Data..=)+ Prelude.<$> maxSessionLengthInMinutes,+ ("maxStoppedSessionLengthInMinutes" Data..=)+ Prelude.<$> maxStoppedSessionLengthInMinutes,+ ("sessionBackup" Data..=) Prelude.<$> sessionBackup,+ ("sessionPersistenceMode" Data..=)+ Prelude.<$> sessionPersistenceMode,+ ("sessionStorage" Data..=)+ Prelude.<$> sessionStorage,+ ("volumeConfiguration" Data..=)+ Prelude.<$> volumeConfiguration,+ Prelude.Just ("clipboardMode" Data..= clipboardMode),+ Prelude.Just+ ("ec2InstanceTypes" Data..= ec2InstanceTypes),+ Prelude.Just+ ("streamingImageIds" Data..= streamingImageIds)+ ]+ )
+ gen/Amazonka/Nimble/Types/StreamConfigurationSessionBackup.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.StreamConfigurationSessionBackup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamConfigurationSessionBackup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.SessionBackupMode+import qualified Amazonka.Prelude as Prelude++-- | Configures how streaming sessions are backed up when launched from this+-- launch profile.+--+-- /See:/ 'newStreamConfigurationSessionBackup' smart constructor.+data StreamConfigurationSessionBackup = StreamConfigurationSessionBackup'+ { -- | The maximum number of backups that each streaming session created from+ -- this launch profile can have.+ maxBackupsToRetain :: Prelude.Maybe Prelude.Natural,+ -- | Specifies how artists sessions are backed up.+ --+ -- Configures backups for streaming sessions launched with this launch+ -- profile. The default value is @DEACTIVATED@, which means that backups+ -- are deactivated. To allow backups, set this value to @AUTOMATIC@.+ mode :: Prelude.Maybe SessionBackupMode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StreamConfigurationSessionBackup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxBackupsToRetain', 'streamConfigurationSessionBackup_maxBackupsToRetain' - The maximum number of backups that each streaming session created from+-- this launch profile can have.+--+-- 'mode', 'streamConfigurationSessionBackup_mode' - Specifies how artists sessions are backed up.+--+-- Configures backups for streaming sessions launched with this launch+-- profile. The default value is @DEACTIVATED@, which means that backups+-- are deactivated. To allow backups, set this value to @AUTOMATIC@.+newStreamConfigurationSessionBackup ::+ StreamConfigurationSessionBackup+newStreamConfigurationSessionBackup =+ StreamConfigurationSessionBackup'+ { maxBackupsToRetain =+ Prelude.Nothing,+ mode = Prelude.Nothing+ }++-- | The maximum number of backups that each streaming session created from+-- this launch profile can have.+streamConfigurationSessionBackup_maxBackupsToRetain :: Lens.Lens' StreamConfigurationSessionBackup (Prelude.Maybe Prelude.Natural)+streamConfigurationSessionBackup_maxBackupsToRetain = Lens.lens (\StreamConfigurationSessionBackup' {maxBackupsToRetain} -> maxBackupsToRetain) (\s@StreamConfigurationSessionBackup' {} a -> s {maxBackupsToRetain = a} :: StreamConfigurationSessionBackup)++-- | Specifies how artists sessions are backed up.+--+-- Configures backups for streaming sessions launched with this launch+-- profile. The default value is @DEACTIVATED@, which means that backups+-- are deactivated. To allow backups, set this value to @AUTOMATIC@.+streamConfigurationSessionBackup_mode :: Lens.Lens' StreamConfigurationSessionBackup (Prelude.Maybe SessionBackupMode)+streamConfigurationSessionBackup_mode = Lens.lens (\StreamConfigurationSessionBackup' {mode} -> mode) (\s@StreamConfigurationSessionBackup' {} a -> s {mode = a} :: StreamConfigurationSessionBackup)++instance+ Data.FromJSON+ StreamConfigurationSessionBackup+ where+ parseJSON =+ Data.withObject+ "StreamConfigurationSessionBackup"+ ( \x ->+ StreamConfigurationSessionBackup'+ Prelude.<$> (x Data..:? "maxBackupsToRetain")+ Prelude.<*> (x Data..:? "mode")+ )++instance+ Prelude.Hashable+ StreamConfigurationSessionBackup+ where+ hashWithSalt+ _salt+ StreamConfigurationSessionBackup' {..} =+ _salt+ `Prelude.hashWithSalt` maxBackupsToRetain+ `Prelude.hashWithSalt` mode++instance+ Prelude.NFData+ StreamConfigurationSessionBackup+ where+ rnf StreamConfigurationSessionBackup' {..} =+ Prelude.rnf maxBackupsToRetain+ `Prelude.seq` Prelude.rnf mode++instance Data.ToJSON StreamConfigurationSessionBackup where+ toJSON StreamConfigurationSessionBackup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxBackupsToRetain" Data..=)+ Prelude.<$> maxBackupsToRetain,+ ("mode" Data..=) Prelude.<$> mode+ ]+ )
+ gen/Amazonka/Nimble/Types/StreamConfigurationSessionStorage.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.Nimble.Types.StreamConfigurationSessionStorage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamConfigurationSessionStorage where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.StreamingSessionStorageMode+import Amazonka.Nimble.Types.StreamingSessionStorageRoot+import qualified Amazonka.Prelude as Prelude++-- | The configuration for a streaming session’s upload storage.+--+-- /See:/ 'newStreamConfigurationSessionStorage' smart constructor.+data StreamConfigurationSessionStorage = StreamConfigurationSessionStorage'+ { -- | The configuration for the upload storage root of the streaming session.+ root :: Prelude.Maybe StreamingSessionStorageRoot,+ -- | Allows artists to upload files to their workstations. The only valid+ -- option is @UPLOAD@.+ mode :: Prelude.NonEmpty StreamingSessionStorageMode+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StreamConfigurationSessionStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'root', 'streamConfigurationSessionStorage_root' - The configuration for the upload storage root of the streaming session.+--+-- 'mode', 'streamConfigurationSessionStorage_mode' - Allows artists to upload files to their workstations. The only valid+-- option is @UPLOAD@.+newStreamConfigurationSessionStorage ::+ -- | 'mode'+ Prelude.NonEmpty StreamingSessionStorageMode ->+ StreamConfigurationSessionStorage+newStreamConfigurationSessionStorage pMode_ =+ StreamConfigurationSessionStorage'+ { root =+ Prelude.Nothing,+ mode = Lens.coerced Lens.# pMode_+ }++-- | The configuration for the upload storage root of the streaming session.+streamConfigurationSessionStorage_root :: Lens.Lens' StreamConfigurationSessionStorage (Prelude.Maybe StreamingSessionStorageRoot)+streamConfigurationSessionStorage_root = Lens.lens (\StreamConfigurationSessionStorage' {root} -> root) (\s@StreamConfigurationSessionStorage' {} a -> s {root = a} :: StreamConfigurationSessionStorage)++-- | Allows artists to upload files to their workstations. The only valid+-- option is @UPLOAD@.+streamConfigurationSessionStorage_mode :: Lens.Lens' StreamConfigurationSessionStorage (Prelude.NonEmpty StreamingSessionStorageMode)+streamConfigurationSessionStorage_mode = Lens.lens (\StreamConfigurationSessionStorage' {mode} -> mode) (\s@StreamConfigurationSessionStorage' {} a -> s {mode = a} :: StreamConfigurationSessionStorage) Prelude.. Lens.coerced++instance+ Data.FromJSON+ StreamConfigurationSessionStorage+ where+ parseJSON =+ Data.withObject+ "StreamConfigurationSessionStorage"+ ( \x ->+ StreamConfigurationSessionStorage'+ Prelude.<$> (x Data..:? "root")+ Prelude.<*> (x Data..: "mode")+ )++instance+ Prelude.Hashable+ StreamConfigurationSessionStorage+ where+ hashWithSalt+ _salt+ StreamConfigurationSessionStorage' {..} =+ _salt+ `Prelude.hashWithSalt` root+ `Prelude.hashWithSalt` mode++instance+ Prelude.NFData+ StreamConfigurationSessionStorage+ where+ rnf StreamConfigurationSessionStorage' {..} =+ Prelude.rnf root `Prelude.seq` Prelude.rnf mode++instance+ Data.ToJSON+ StreamConfigurationSessionStorage+ where+ toJSON StreamConfigurationSessionStorage' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("root" Data..=) Prelude.<$> root,+ Prelude.Just ("mode" Data..= mode)+ ]+ )
+ gen/Amazonka/Nimble/Types/StreamingClipboardMode.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.Nimble.Types.StreamingClipboardMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingClipboardMode+ ( StreamingClipboardMode+ ( ..,+ StreamingClipboardMode_DISABLED,+ StreamingClipboardMode_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StreamingClipboardMode = StreamingClipboardMode'+ { fromStreamingClipboardMode ::+ 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 StreamingClipboardMode_DISABLED :: StreamingClipboardMode+pattern StreamingClipboardMode_DISABLED = StreamingClipboardMode' "DISABLED"++pattern StreamingClipboardMode_ENABLED :: StreamingClipboardMode+pattern StreamingClipboardMode_ENABLED = StreamingClipboardMode' "ENABLED"++{-# COMPLETE+ StreamingClipboardMode_DISABLED,+ StreamingClipboardMode_ENABLED,+ StreamingClipboardMode'+ #-}
+ gen/Amazonka/Nimble/Types/StreamingImage.hs view
@@ -0,0 +1,245 @@+{-# 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.Nimble.Types.StreamingImage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingImage where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.StreamingImageEncryptionConfiguration+import Amazonka.Nimble.Types.StreamingImageState+import Amazonka.Nimble.Types.StreamingImageStatusCode+import qualified Amazonka.Prelude as Prelude++-- | Represents a streaming image resource.+--+-- Streaming images are used by studio users to select which operating+-- system and software they want to use in a Nimble Studio streaming+-- session.+--+-- Amazon provides a number of streaming images that include popular+-- 3rd-party software.+--+-- You can create your own streaming images using an Amazon EC2 machine+-- image that you create for this purpose. You can also include software+-- that your users require.+--+-- /See:/ 'newStreamingImage' smart constructor.+data StreamingImage = StreamingImage'+ { -- | The Amazon Resource Name (ARN) that is assigned to a studio resource and+ -- uniquely identifies it. ARNs are unique across all Regions.+ arn :: Prelude.Maybe Prelude.Text,+ -- | A human-readable description of the streaming image.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The ID of an EC2 machine image with which to create the streaming image.+ ec2ImageId :: Prelude.Maybe Prelude.Text,+ -- | The encryption configuration.+ encryptionConfiguration :: Prelude.Maybe StreamingImageEncryptionConfiguration,+ -- | The list of EULAs that must be accepted before a Streaming Session can+ -- be started using this streaming image.+ eulaIds :: Prelude.Maybe [Prelude.Text],+ -- | A friendly name for a streaming image resource.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The owner of the streaming image, either the @studioId@ that contains+ -- the streaming image, or @amazon@ for images that are provided by Amazon+ -- Nimble Studio.+ owner :: Prelude.Maybe Prelude.Text,+ -- | The platform of the streaming image, either Windows or Linux.+ platform :: Prelude.Maybe Prelude.Text,+ -- | The current state.+ state :: Prelude.Maybe StreamingImageState,+ -- | The status code.+ statusCode :: Prelude.Maybe StreamingImageStatusCode,+ -- | The status message for the streaming image.+ statusMessage :: Prelude.Maybe Prelude.Text,+ -- | The ID of the streaming image.+ streamingImageId :: Prelude.Maybe Prelude.Text,+ -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StreamingImage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'streamingImage_arn' - The Amazon Resource Name (ARN) that is assigned to a studio resource and+-- uniquely identifies it. ARNs are unique across all Regions.+--+-- 'description', 'streamingImage_description' - A human-readable description of the streaming image.+--+-- 'ec2ImageId', 'streamingImage_ec2ImageId' - The ID of an EC2 machine image with which to create the streaming image.+--+-- 'encryptionConfiguration', 'streamingImage_encryptionConfiguration' - The encryption configuration.+--+-- 'eulaIds', 'streamingImage_eulaIds' - The list of EULAs that must be accepted before a Streaming Session can+-- be started using this streaming image.+--+-- 'name', 'streamingImage_name' - A friendly name for a streaming image resource.+--+-- 'owner', 'streamingImage_owner' - The owner of the streaming image, either the @studioId@ that contains+-- the streaming image, or @amazon@ for images that are provided by Amazon+-- Nimble Studio.+--+-- 'platform', 'streamingImage_platform' - The platform of the streaming image, either Windows or Linux.+--+-- 'state', 'streamingImage_state' - The current state.+--+-- 'statusCode', 'streamingImage_statusCode' - The status code.+--+-- 'statusMessage', 'streamingImage_statusMessage' - The status message for the streaming image.+--+-- 'streamingImageId', 'streamingImage_streamingImageId' - The ID of the streaming image.+--+-- 'tags', 'streamingImage_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+newStreamingImage ::+ StreamingImage+newStreamingImage =+ StreamingImage'+ { arn = Prelude.Nothing,+ description = Prelude.Nothing,+ ec2ImageId = Prelude.Nothing,+ encryptionConfiguration = Prelude.Nothing,+ eulaIds = Prelude.Nothing,+ name = Prelude.Nothing,+ owner = Prelude.Nothing,+ platform = Prelude.Nothing,+ state = Prelude.Nothing,+ statusCode = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ streamingImageId = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) that is assigned to a studio resource and+-- uniquely identifies it. ARNs are unique across all Regions.+streamingImage_arn :: Lens.Lens' StreamingImage (Prelude.Maybe Prelude.Text)+streamingImage_arn = Lens.lens (\StreamingImage' {arn} -> arn) (\s@StreamingImage' {} a -> s {arn = a} :: StreamingImage)++-- | A human-readable description of the streaming image.+streamingImage_description :: Lens.Lens' StreamingImage (Prelude.Maybe Prelude.Text)+streamingImage_description = Lens.lens (\StreamingImage' {description} -> description) (\s@StreamingImage' {} a -> s {description = a} :: StreamingImage) Prelude.. Lens.mapping Data._Sensitive++-- | The ID of an EC2 machine image with which to create the streaming image.+streamingImage_ec2ImageId :: Lens.Lens' StreamingImage (Prelude.Maybe Prelude.Text)+streamingImage_ec2ImageId = Lens.lens (\StreamingImage' {ec2ImageId} -> ec2ImageId) (\s@StreamingImage' {} a -> s {ec2ImageId = a} :: StreamingImage)++-- | The encryption configuration.+streamingImage_encryptionConfiguration :: Lens.Lens' StreamingImage (Prelude.Maybe StreamingImageEncryptionConfiguration)+streamingImage_encryptionConfiguration = Lens.lens (\StreamingImage' {encryptionConfiguration} -> encryptionConfiguration) (\s@StreamingImage' {} a -> s {encryptionConfiguration = a} :: StreamingImage)++-- | The list of EULAs that must be accepted before a Streaming Session can+-- be started using this streaming image.+streamingImage_eulaIds :: Lens.Lens' StreamingImage (Prelude.Maybe [Prelude.Text])+streamingImage_eulaIds = Lens.lens (\StreamingImage' {eulaIds} -> eulaIds) (\s@StreamingImage' {} a -> s {eulaIds = a} :: StreamingImage) Prelude.. Lens.mapping Lens.coerced++-- | A friendly name for a streaming image resource.+streamingImage_name :: Lens.Lens' StreamingImage (Prelude.Maybe Prelude.Text)+streamingImage_name = Lens.lens (\StreamingImage' {name} -> name) (\s@StreamingImage' {} a -> s {name = a} :: StreamingImage) Prelude.. Lens.mapping Data._Sensitive++-- | The owner of the streaming image, either the @studioId@ that contains+-- the streaming image, or @amazon@ for images that are provided by Amazon+-- Nimble Studio.+streamingImage_owner :: Lens.Lens' StreamingImage (Prelude.Maybe Prelude.Text)+streamingImage_owner = Lens.lens (\StreamingImage' {owner} -> owner) (\s@StreamingImage' {} a -> s {owner = a} :: StreamingImage)++-- | The platform of the streaming image, either Windows or Linux.+streamingImage_platform :: Lens.Lens' StreamingImage (Prelude.Maybe Prelude.Text)+streamingImage_platform = Lens.lens (\StreamingImage' {platform} -> platform) (\s@StreamingImage' {} a -> s {platform = a} :: StreamingImage)++-- | The current state.+streamingImage_state :: Lens.Lens' StreamingImage (Prelude.Maybe StreamingImageState)+streamingImage_state = Lens.lens (\StreamingImage' {state} -> state) (\s@StreamingImage' {} a -> s {state = a} :: StreamingImage)++-- | The status code.+streamingImage_statusCode :: Lens.Lens' StreamingImage (Prelude.Maybe StreamingImageStatusCode)+streamingImage_statusCode = Lens.lens (\StreamingImage' {statusCode} -> statusCode) (\s@StreamingImage' {} a -> s {statusCode = a} :: StreamingImage)++-- | The status message for the streaming image.+streamingImage_statusMessage :: Lens.Lens' StreamingImage (Prelude.Maybe Prelude.Text)+streamingImage_statusMessage = Lens.lens (\StreamingImage' {statusMessage} -> statusMessage) (\s@StreamingImage' {} a -> s {statusMessage = a} :: StreamingImage)++-- | The ID of the streaming image.+streamingImage_streamingImageId :: Lens.Lens' StreamingImage (Prelude.Maybe Prelude.Text)+streamingImage_streamingImageId = Lens.lens (\StreamingImage' {streamingImageId} -> streamingImageId) (\s@StreamingImage' {} a -> s {streamingImageId = a} :: StreamingImage)++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+streamingImage_tags :: Lens.Lens' StreamingImage (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+streamingImage_tags = Lens.lens (\StreamingImage' {tags} -> tags) (\s@StreamingImage' {} a -> s {tags = a} :: StreamingImage) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON StreamingImage where+ parseJSON =+ Data.withObject+ "StreamingImage"+ ( \x ->+ StreamingImage'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "ec2ImageId")+ Prelude.<*> (x Data..:? "encryptionConfiguration")+ Prelude.<*> (x Data..:? "eulaIds" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "owner")+ Prelude.<*> (x Data..:? "platform")+ Prelude.<*> (x Data..:? "state")+ Prelude.<*> (x Data..:? "statusCode")+ Prelude.<*> (x Data..:? "statusMessage")+ Prelude.<*> (x Data..:? "streamingImageId")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable StreamingImage where+ hashWithSalt _salt StreamingImage' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` ec2ImageId+ `Prelude.hashWithSalt` encryptionConfiguration+ `Prelude.hashWithSalt` eulaIds+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` owner+ `Prelude.hashWithSalt` platform+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` statusCode+ `Prelude.hashWithSalt` statusMessage+ `Prelude.hashWithSalt` streamingImageId+ `Prelude.hashWithSalt` tags++instance Prelude.NFData StreamingImage where+ rnf StreamingImage' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf ec2ImageId+ `Prelude.seq` Prelude.rnf encryptionConfiguration+ `Prelude.seq` Prelude.rnf eulaIds+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf owner+ `Prelude.seq` Prelude.rnf platform+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf statusCode+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf streamingImageId+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/Nimble/Types/StreamingImageEncryptionConfiguration.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.Nimble.Types.StreamingImageEncryptionConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingImageEncryptionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.StreamingImageEncryptionConfigurationKeyType+import qualified Amazonka.Prelude as Prelude++-- | Specifies how a streaming image is encrypted.+--+-- /See:/ 'newStreamingImageEncryptionConfiguration' smart constructor.+data StreamingImageEncryptionConfiguration = StreamingImageEncryptionConfiguration'+ { -- | The ARN for a KMS key that is used to encrypt studio data.+ keyArn :: Prelude.Maybe Prelude.Text,+ -- | The type of KMS key that is used to encrypt studio data.+ keyType :: StreamingImageEncryptionConfigurationKeyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StreamingImageEncryptionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'keyArn', 'streamingImageEncryptionConfiguration_keyArn' - The ARN for a KMS key that is used to encrypt studio data.+--+-- 'keyType', 'streamingImageEncryptionConfiguration_keyType' - The type of KMS key that is used to encrypt studio data.+newStreamingImageEncryptionConfiguration ::+ -- | 'keyType'+ StreamingImageEncryptionConfigurationKeyType ->+ StreamingImageEncryptionConfiguration+newStreamingImageEncryptionConfiguration pKeyType_ =+ StreamingImageEncryptionConfiguration'+ { keyArn =+ Prelude.Nothing,+ keyType = pKeyType_+ }++-- | The ARN for a KMS key that is used to encrypt studio data.+streamingImageEncryptionConfiguration_keyArn :: Lens.Lens' StreamingImageEncryptionConfiguration (Prelude.Maybe Prelude.Text)+streamingImageEncryptionConfiguration_keyArn = Lens.lens (\StreamingImageEncryptionConfiguration' {keyArn} -> keyArn) (\s@StreamingImageEncryptionConfiguration' {} a -> s {keyArn = a} :: StreamingImageEncryptionConfiguration)++-- | The type of KMS key that is used to encrypt studio data.+streamingImageEncryptionConfiguration_keyType :: Lens.Lens' StreamingImageEncryptionConfiguration StreamingImageEncryptionConfigurationKeyType+streamingImageEncryptionConfiguration_keyType = Lens.lens (\StreamingImageEncryptionConfiguration' {keyType} -> keyType) (\s@StreamingImageEncryptionConfiguration' {} a -> s {keyType = a} :: StreamingImageEncryptionConfiguration)++instance+ Data.FromJSON+ StreamingImageEncryptionConfiguration+ where+ parseJSON =+ Data.withObject+ "StreamingImageEncryptionConfiguration"+ ( \x ->+ StreamingImageEncryptionConfiguration'+ Prelude.<$> (x Data..:? "keyArn")+ Prelude.<*> (x Data..: "keyType")+ )++instance+ Prelude.Hashable+ StreamingImageEncryptionConfiguration+ where+ hashWithSalt+ _salt+ StreamingImageEncryptionConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` keyArn+ `Prelude.hashWithSalt` keyType++instance+ Prelude.NFData+ StreamingImageEncryptionConfiguration+ where+ rnf StreamingImageEncryptionConfiguration' {..} =+ Prelude.rnf keyArn+ `Prelude.seq` Prelude.rnf keyType
+ gen/Amazonka/Nimble/Types/StreamingImageEncryptionConfigurationKeyType.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.Nimble.Types.StreamingImageEncryptionConfigurationKeyType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingImageEncryptionConfigurationKeyType+ ( StreamingImageEncryptionConfigurationKeyType+ ( ..,+ StreamingImageEncryptionConfigurationKeyType_CUSTOMER_MANAGED_KEY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StreamingImageEncryptionConfigurationKeyType = StreamingImageEncryptionConfigurationKeyType'+ { fromStreamingImageEncryptionConfigurationKeyType ::+ 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 StreamingImageEncryptionConfigurationKeyType_CUSTOMER_MANAGED_KEY :: StreamingImageEncryptionConfigurationKeyType+pattern StreamingImageEncryptionConfigurationKeyType_CUSTOMER_MANAGED_KEY = StreamingImageEncryptionConfigurationKeyType' "CUSTOMER_MANAGED_KEY"++{-# COMPLETE+ StreamingImageEncryptionConfigurationKeyType_CUSTOMER_MANAGED_KEY,+ StreamingImageEncryptionConfigurationKeyType'+ #-}
+ gen/Amazonka/Nimble/Types/StreamingImageState.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.StreamingImageState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingImageState+ ( StreamingImageState+ ( ..,+ StreamingImageState_CREATE_FAILED,+ StreamingImageState_CREATE_IN_PROGRESS,+ StreamingImageState_DELETED,+ StreamingImageState_DELETE_FAILED,+ StreamingImageState_DELETE_IN_PROGRESS,+ StreamingImageState_READY,+ StreamingImageState_UPDATE_FAILED,+ StreamingImageState_UPDATE_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StreamingImageState = StreamingImageState'+ { fromStreamingImageState ::+ 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 StreamingImageState_CREATE_FAILED :: StreamingImageState+pattern StreamingImageState_CREATE_FAILED = StreamingImageState' "CREATE_FAILED"++pattern StreamingImageState_CREATE_IN_PROGRESS :: StreamingImageState+pattern StreamingImageState_CREATE_IN_PROGRESS = StreamingImageState' "CREATE_IN_PROGRESS"++pattern StreamingImageState_DELETED :: StreamingImageState+pattern StreamingImageState_DELETED = StreamingImageState' "DELETED"++pattern StreamingImageState_DELETE_FAILED :: StreamingImageState+pattern StreamingImageState_DELETE_FAILED = StreamingImageState' "DELETE_FAILED"++pattern StreamingImageState_DELETE_IN_PROGRESS :: StreamingImageState+pattern StreamingImageState_DELETE_IN_PROGRESS = StreamingImageState' "DELETE_IN_PROGRESS"++pattern StreamingImageState_READY :: StreamingImageState+pattern StreamingImageState_READY = StreamingImageState' "READY"++pattern StreamingImageState_UPDATE_FAILED :: StreamingImageState+pattern StreamingImageState_UPDATE_FAILED = StreamingImageState' "UPDATE_FAILED"++pattern StreamingImageState_UPDATE_IN_PROGRESS :: StreamingImageState+pattern StreamingImageState_UPDATE_IN_PROGRESS = StreamingImageState' "UPDATE_IN_PROGRESS"++{-# COMPLETE+ StreamingImageState_CREATE_FAILED,+ StreamingImageState_CREATE_IN_PROGRESS,+ StreamingImageState_DELETED,+ StreamingImageState_DELETE_FAILED,+ StreamingImageState_DELETE_IN_PROGRESS,+ StreamingImageState_READY,+ StreamingImageState_UPDATE_FAILED,+ StreamingImageState_UPDATE_IN_PROGRESS,+ StreamingImageState'+ #-}
+ gen/Amazonka/Nimble/Types/StreamingImageStatusCode.hs view
@@ -0,0 +1,97 @@+{-# 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.Nimble.Types.StreamingImageStatusCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingImageStatusCode+ ( StreamingImageStatusCode+ ( ..,+ StreamingImageStatusCode_ACCESS_DENIED,+ StreamingImageStatusCode_INTERNAL_ERROR,+ StreamingImageStatusCode_STREAMING_IMAGE_CREATE_IN_PROGRESS,+ StreamingImageStatusCode_STREAMING_IMAGE_DELETED,+ StreamingImageStatusCode_STREAMING_IMAGE_DELETE_IN_PROGRESS,+ StreamingImageStatusCode_STREAMING_IMAGE_READY,+ StreamingImageStatusCode_STREAMING_IMAGE_UPDATE_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status code.+newtype StreamingImageStatusCode = StreamingImageStatusCode'+ { fromStreamingImageStatusCode ::+ 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 StreamingImageStatusCode_ACCESS_DENIED :: StreamingImageStatusCode+pattern StreamingImageStatusCode_ACCESS_DENIED = StreamingImageStatusCode' "ACCESS_DENIED"++pattern StreamingImageStatusCode_INTERNAL_ERROR :: StreamingImageStatusCode+pattern StreamingImageStatusCode_INTERNAL_ERROR = StreamingImageStatusCode' "INTERNAL_ERROR"++pattern StreamingImageStatusCode_STREAMING_IMAGE_CREATE_IN_PROGRESS :: StreamingImageStatusCode+pattern StreamingImageStatusCode_STREAMING_IMAGE_CREATE_IN_PROGRESS = StreamingImageStatusCode' "STREAMING_IMAGE_CREATE_IN_PROGRESS"++pattern StreamingImageStatusCode_STREAMING_IMAGE_DELETED :: StreamingImageStatusCode+pattern StreamingImageStatusCode_STREAMING_IMAGE_DELETED = StreamingImageStatusCode' "STREAMING_IMAGE_DELETED"++pattern StreamingImageStatusCode_STREAMING_IMAGE_DELETE_IN_PROGRESS :: StreamingImageStatusCode+pattern StreamingImageStatusCode_STREAMING_IMAGE_DELETE_IN_PROGRESS = StreamingImageStatusCode' "STREAMING_IMAGE_DELETE_IN_PROGRESS"++pattern StreamingImageStatusCode_STREAMING_IMAGE_READY :: StreamingImageStatusCode+pattern StreamingImageStatusCode_STREAMING_IMAGE_READY = StreamingImageStatusCode' "STREAMING_IMAGE_READY"++pattern StreamingImageStatusCode_STREAMING_IMAGE_UPDATE_IN_PROGRESS :: StreamingImageStatusCode+pattern StreamingImageStatusCode_STREAMING_IMAGE_UPDATE_IN_PROGRESS = StreamingImageStatusCode' "STREAMING_IMAGE_UPDATE_IN_PROGRESS"++{-# COMPLETE+ StreamingImageStatusCode_ACCESS_DENIED,+ StreamingImageStatusCode_INTERNAL_ERROR,+ StreamingImageStatusCode_STREAMING_IMAGE_CREATE_IN_PROGRESS,+ StreamingImageStatusCode_STREAMING_IMAGE_DELETED,+ StreamingImageStatusCode_STREAMING_IMAGE_DELETE_IN_PROGRESS,+ StreamingImageStatusCode_STREAMING_IMAGE_READY,+ StreamingImageStatusCode_STREAMING_IMAGE_UPDATE_IN_PROGRESS,+ StreamingImageStatusCode'+ #-}
+ gen/Amazonka/Nimble/Types/StreamingInstanceType.hs view
@@ -0,0 +1,126 @@+{-# 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.Nimble.Types.StreamingInstanceType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingInstanceType+ ( StreamingInstanceType+ ( ..,+ StreamingInstanceType_G3_4xlarge,+ StreamingInstanceType_G3s_xlarge,+ StreamingInstanceType_G4dn_12xlarge,+ StreamingInstanceType_G4dn_16xlarge,+ StreamingInstanceType_G4dn_2xlarge,+ StreamingInstanceType_G4dn_4xlarge,+ StreamingInstanceType_G4dn_8xlarge,+ StreamingInstanceType_G4dn_xlarge,+ StreamingInstanceType_G5_16xlarge,+ StreamingInstanceType_G5_2xlarge,+ StreamingInstanceType_G5_4xlarge,+ StreamingInstanceType_G5_8xlarge,+ StreamingInstanceType_G5_xlarge+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StreamingInstanceType = StreamingInstanceType'+ { fromStreamingInstanceType ::+ 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 StreamingInstanceType_G3_4xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G3_4xlarge = StreamingInstanceType' "g3.4xlarge"++pattern StreamingInstanceType_G3s_xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G3s_xlarge = StreamingInstanceType' "g3s.xlarge"++pattern StreamingInstanceType_G4dn_12xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G4dn_12xlarge = StreamingInstanceType' "g4dn.12xlarge"++pattern StreamingInstanceType_G4dn_16xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G4dn_16xlarge = StreamingInstanceType' "g4dn.16xlarge"++pattern StreamingInstanceType_G4dn_2xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G4dn_2xlarge = StreamingInstanceType' "g4dn.2xlarge"++pattern StreamingInstanceType_G4dn_4xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G4dn_4xlarge = StreamingInstanceType' "g4dn.4xlarge"++pattern StreamingInstanceType_G4dn_8xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G4dn_8xlarge = StreamingInstanceType' "g4dn.8xlarge"++pattern StreamingInstanceType_G4dn_xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G4dn_xlarge = StreamingInstanceType' "g4dn.xlarge"++pattern StreamingInstanceType_G5_16xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G5_16xlarge = StreamingInstanceType' "g5.16xlarge"++pattern StreamingInstanceType_G5_2xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G5_2xlarge = StreamingInstanceType' "g5.2xlarge"++pattern StreamingInstanceType_G5_4xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G5_4xlarge = StreamingInstanceType' "g5.4xlarge"++pattern StreamingInstanceType_G5_8xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G5_8xlarge = StreamingInstanceType' "g5.8xlarge"++pattern StreamingInstanceType_G5_xlarge :: StreamingInstanceType+pattern StreamingInstanceType_G5_xlarge = StreamingInstanceType' "g5.xlarge"++{-# COMPLETE+ StreamingInstanceType_G3_4xlarge,+ StreamingInstanceType_G3s_xlarge,+ StreamingInstanceType_G4dn_12xlarge,+ StreamingInstanceType_G4dn_16xlarge,+ StreamingInstanceType_G4dn_2xlarge,+ StreamingInstanceType_G4dn_4xlarge,+ StreamingInstanceType_G4dn_8xlarge,+ StreamingInstanceType_G4dn_xlarge,+ StreamingInstanceType_G5_16xlarge,+ StreamingInstanceType_G5_2xlarge,+ StreamingInstanceType_G5_4xlarge,+ StreamingInstanceType_G5_8xlarge,+ StreamingInstanceType_G5_xlarge,+ StreamingInstanceType'+ #-}
+ gen/Amazonka/Nimble/Types/StreamingSession.hs view
@@ -0,0 +1,482 @@+{-# 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.Nimble.Types.StreamingSession+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingSession where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.AutomaticTerminationMode+import Amazonka.Nimble.Types.SessionBackupMode+import Amazonka.Nimble.Types.SessionPersistenceMode+import Amazonka.Nimble.Types.StreamingSessionState+import Amazonka.Nimble.Types.StreamingSessionStatusCode+import Amazonka.Nimble.Types.VolumeConfiguration+import Amazonka.Nimble.Types.VolumeRetentionMode+import qualified Amazonka.Prelude as Prelude++-- | A streaming session is a virtual workstation created using a particular+-- launch profile.+--+-- /See:/ 'newStreamingSession' smart constructor.+data StreamingSession = StreamingSession'+ { -- | The Amazon Resource Name (ARN) that is assigned to a studio resource and+ -- uniquely identifies it. ARNs are unique across all Regions.+ arn :: Prelude.Maybe Prelude.Text,+ -- | Indicates if a streaming session created from this launch profile should+ -- be terminated automatically or retained without termination after being+ -- in a @STOPPED@ state.+ --+ -- - When @ACTIVATED@, the streaming session is scheduled for termination+ -- after being in the @STOPPED@ state for the time specified in+ -- @maxStoppedSessionLengthInMinutes@.+ --+ -- - When @DEACTIVATED@, the streaming session can remain in the+ -- @STOPPED@ state indefinitely.+ --+ -- This parameter is only allowed when @sessionPersistenceMode@ is+ -- @ACTIVATED@. When allowed, the default value for this parameter is+ -- @DEACTIVATED@.+ automaticTerminationMode :: Prelude.Maybe AutomaticTerminationMode,+ -- | Shows the current backup setting of the session.+ backupMode :: Prelude.Maybe SessionBackupMode,+ -- | The ISO timestamp in seconds for when the resource was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The user ID of the user that created the streaming session.+ createdBy :: Prelude.Maybe Prelude.Text,+ -- | The EC2 Instance type used for the streaming session.+ ec2InstanceType :: Prelude.Maybe Prelude.Text,+ -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of backups of a streaming session that you can have.+ -- When the maximum number of backups is reached, the oldest backup is+ -- deleted.+ maxBackupsToRetain :: Prelude.Maybe Prelude.Natural,+ -- | The user ID of the user that owns the streaming session. The user that+ -- owns the session will be logging into the session and interacting with+ -- the virtual workstation.+ ownedBy :: Prelude.Maybe Prelude.Text,+ -- | The session ID.+ sessionId :: Prelude.Maybe Prelude.Text,+ -- | Determine if a streaming session created from this launch profile can+ -- configure persistent storage. This means that @volumeConfiguration@ and+ -- @automaticTerminationMode@ are configured.+ sessionPersistenceMode :: Prelude.Maybe SessionPersistenceMode,+ -- | The time the session entered @START_IN_PROGRESS@ state.+ startedAt :: Prelude.Maybe Data.ISO8601,+ -- | The user ID of the user that started the streaming session.+ startedBy :: Prelude.Maybe Prelude.Text,+ -- | The backup ID used to restore a streaming session.+ startedFromBackupId :: Prelude.Maybe Prelude.Text,+ -- | The current state.+ state :: Prelude.Maybe StreamingSessionState,+ -- | The status code.+ statusCode :: Prelude.Maybe StreamingSessionStatusCode,+ -- | The status message for the streaming session.+ statusMessage :: Prelude.Maybe Prelude.Text,+ -- | The time the streaming session will automatically be stopped if the user+ -- doesn’t stop the session themselves.+ stopAt :: Prelude.Maybe Data.ISO8601,+ -- | The time the session entered @STOP_IN_PROGRESS@ state.+ stoppedAt :: Prelude.Maybe Data.ISO8601,+ -- | The user ID of the user that stopped the streaming session.+ stoppedBy :: Prelude.Maybe Prelude.Text,+ -- | The ID of the streaming image.+ streamingImageId :: Prelude.Maybe Prelude.Text,+ -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The time the streaming session will automatically terminate if not+ -- terminated by the user.+ terminateAt :: Prelude.Maybe Data.ISO8601,+ -- | The ISO timestamp in seconds for when the resource was updated.+ updatedAt :: Prelude.Maybe Data.ISO8601,+ -- | The user ID of the user that most recently updated the resource.+ updatedBy :: Prelude.Maybe Prelude.Text,+ -- | Custom volume configuration for the root volumes that are attached to+ -- streaming sessions.+ --+ -- This parameter is only allowed when @sessionPersistenceMode@ is+ -- @ACTIVATED@.+ volumeConfiguration :: Prelude.Maybe VolumeConfiguration,+ -- | Determine if an EBS volume created from this streaming session will be+ -- backed up.+ volumeRetentionMode :: Prelude.Maybe VolumeRetentionMode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StreamingSession' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'streamingSession_arn' - The Amazon Resource Name (ARN) that is assigned to a studio resource and+-- uniquely identifies it. ARNs are unique across all Regions.+--+-- 'automaticTerminationMode', 'streamingSession_automaticTerminationMode' - Indicates if a streaming session created from this launch profile should+-- be terminated automatically or retained without termination after being+-- in a @STOPPED@ state.+--+-- - When @ACTIVATED@, the streaming session is scheduled for termination+-- after being in the @STOPPED@ state for the time specified in+-- @maxStoppedSessionLengthInMinutes@.+--+-- - When @DEACTIVATED@, the streaming session can remain in the+-- @STOPPED@ state indefinitely.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@. When allowed, the default value for this parameter is+-- @DEACTIVATED@.+--+-- 'backupMode', 'streamingSession_backupMode' - Shows the current backup setting of the session.+--+-- 'createdAt', 'streamingSession_createdAt' - The ISO timestamp in seconds for when the resource was created.+--+-- 'createdBy', 'streamingSession_createdBy' - The user ID of the user that created the streaming session.+--+-- 'ec2InstanceType', 'streamingSession_ec2InstanceType' - The EC2 Instance type used for the streaming session.+--+-- 'launchProfileId', 'streamingSession_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'maxBackupsToRetain', 'streamingSession_maxBackupsToRetain' - The maximum number of backups of a streaming session that you can have.+-- When the maximum number of backups is reached, the oldest backup is+-- deleted.+--+-- 'ownedBy', 'streamingSession_ownedBy' - The user ID of the user that owns the streaming session. The user that+-- owns the session will be logging into the session and interacting with+-- the virtual workstation.+--+-- 'sessionId', 'streamingSession_sessionId' - The session ID.+--+-- 'sessionPersistenceMode', 'streamingSession_sessionPersistenceMode' - Determine if a streaming session created from this launch profile can+-- configure persistent storage. This means that @volumeConfiguration@ and+-- @automaticTerminationMode@ are configured.+--+-- 'startedAt', 'streamingSession_startedAt' - The time the session entered @START_IN_PROGRESS@ state.+--+-- 'startedBy', 'streamingSession_startedBy' - The user ID of the user that started the streaming session.+--+-- 'startedFromBackupId', 'streamingSession_startedFromBackupId' - The backup ID used to restore a streaming session.+--+-- 'state', 'streamingSession_state' - The current state.+--+-- 'statusCode', 'streamingSession_statusCode' - The status code.+--+-- 'statusMessage', 'streamingSession_statusMessage' - The status message for the streaming session.+--+-- 'stopAt', 'streamingSession_stopAt' - The time the streaming session will automatically be stopped if the user+-- doesn’t stop the session themselves.+--+-- 'stoppedAt', 'streamingSession_stoppedAt' - The time the session entered @STOP_IN_PROGRESS@ state.+--+-- 'stoppedBy', 'streamingSession_stoppedBy' - The user ID of the user that stopped the streaming session.+--+-- 'streamingImageId', 'streamingSession_streamingImageId' - The ID of the streaming image.+--+-- 'tags', 'streamingSession_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+--+-- 'terminateAt', 'streamingSession_terminateAt' - The time the streaming session will automatically terminate if not+-- terminated by the user.+--+-- 'updatedAt', 'streamingSession_updatedAt' - The ISO timestamp in seconds for when the resource was updated.+--+-- 'updatedBy', 'streamingSession_updatedBy' - The user ID of the user that most recently updated the resource.+--+-- 'volumeConfiguration', 'streamingSession_volumeConfiguration' - Custom volume configuration for the root volumes that are attached to+-- streaming sessions.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@.+--+-- 'volumeRetentionMode', 'streamingSession_volumeRetentionMode' - Determine if an EBS volume created from this streaming session will be+-- backed up.+newStreamingSession ::+ StreamingSession+newStreamingSession =+ StreamingSession'+ { arn = Prelude.Nothing,+ automaticTerminationMode = Prelude.Nothing,+ backupMode = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ createdBy = Prelude.Nothing,+ ec2InstanceType = Prelude.Nothing,+ launchProfileId = Prelude.Nothing,+ maxBackupsToRetain = Prelude.Nothing,+ ownedBy = Prelude.Nothing,+ sessionId = Prelude.Nothing,+ sessionPersistenceMode = Prelude.Nothing,+ startedAt = Prelude.Nothing,+ startedBy = Prelude.Nothing,+ startedFromBackupId = Prelude.Nothing,+ state = Prelude.Nothing,+ statusCode = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ stopAt = Prelude.Nothing,+ stoppedAt = Prelude.Nothing,+ stoppedBy = Prelude.Nothing,+ streamingImageId = Prelude.Nothing,+ tags = Prelude.Nothing,+ terminateAt = Prelude.Nothing,+ updatedAt = Prelude.Nothing,+ updatedBy = Prelude.Nothing,+ volumeConfiguration = Prelude.Nothing,+ volumeRetentionMode = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) that is assigned to a studio resource and+-- uniquely identifies it. ARNs are unique across all Regions.+streamingSession_arn :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Text)+streamingSession_arn = Lens.lens (\StreamingSession' {arn} -> arn) (\s@StreamingSession' {} a -> s {arn = a} :: StreamingSession)++-- | Indicates if a streaming session created from this launch profile should+-- be terminated automatically or retained without termination after being+-- in a @STOPPED@ state.+--+-- - When @ACTIVATED@, the streaming session is scheduled for termination+-- after being in the @STOPPED@ state for the time specified in+-- @maxStoppedSessionLengthInMinutes@.+--+-- - When @DEACTIVATED@, the streaming session can remain in the+-- @STOPPED@ state indefinitely.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@. When allowed, the default value for this parameter is+-- @DEACTIVATED@.+streamingSession_automaticTerminationMode :: Lens.Lens' StreamingSession (Prelude.Maybe AutomaticTerminationMode)+streamingSession_automaticTerminationMode = Lens.lens (\StreamingSession' {automaticTerminationMode} -> automaticTerminationMode) (\s@StreamingSession' {} a -> s {automaticTerminationMode = a} :: StreamingSession)++-- | Shows the current backup setting of the session.+streamingSession_backupMode :: Lens.Lens' StreamingSession (Prelude.Maybe SessionBackupMode)+streamingSession_backupMode = Lens.lens (\StreamingSession' {backupMode} -> backupMode) (\s@StreamingSession' {} a -> s {backupMode = a} :: StreamingSession)++-- | The ISO timestamp in seconds for when the resource was created.+streamingSession_createdAt :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.UTCTime)+streamingSession_createdAt = Lens.lens (\StreamingSession' {createdAt} -> createdAt) (\s@StreamingSession' {} a -> s {createdAt = a} :: StreamingSession) Prelude.. Lens.mapping Data._Time++-- | The user ID of the user that created the streaming session.+streamingSession_createdBy :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Text)+streamingSession_createdBy = Lens.lens (\StreamingSession' {createdBy} -> createdBy) (\s@StreamingSession' {} a -> s {createdBy = a} :: StreamingSession)++-- | The EC2 Instance type used for the streaming session.+streamingSession_ec2InstanceType :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Text)+streamingSession_ec2InstanceType = Lens.lens (\StreamingSession' {ec2InstanceType} -> ec2InstanceType) (\s@StreamingSession' {} a -> s {ec2InstanceType = a} :: StreamingSession)++-- | The ID of the launch profile used to control access from the streaming+-- session.+streamingSession_launchProfileId :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Text)+streamingSession_launchProfileId = Lens.lens (\StreamingSession' {launchProfileId} -> launchProfileId) (\s@StreamingSession' {} a -> s {launchProfileId = a} :: StreamingSession)++-- | The maximum number of backups of a streaming session that you can have.+-- When the maximum number of backups is reached, the oldest backup is+-- deleted.+streamingSession_maxBackupsToRetain :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Natural)+streamingSession_maxBackupsToRetain = Lens.lens (\StreamingSession' {maxBackupsToRetain} -> maxBackupsToRetain) (\s@StreamingSession' {} a -> s {maxBackupsToRetain = a} :: StreamingSession)++-- | The user ID of the user that owns the streaming session. The user that+-- owns the session will be logging into the session and interacting with+-- the virtual workstation.+streamingSession_ownedBy :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Text)+streamingSession_ownedBy = Lens.lens (\StreamingSession' {ownedBy} -> ownedBy) (\s@StreamingSession' {} a -> s {ownedBy = a} :: StreamingSession)++-- | The session ID.+streamingSession_sessionId :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Text)+streamingSession_sessionId = Lens.lens (\StreamingSession' {sessionId} -> sessionId) (\s@StreamingSession' {} a -> s {sessionId = a} :: StreamingSession)++-- | Determine if a streaming session created from this launch profile can+-- configure persistent storage. This means that @volumeConfiguration@ and+-- @automaticTerminationMode@ are configured.+streamingSession_sessionPersistenceMode :: Lens.Lens' StreamingSession (Prelude.Maybe SessionPersistenceMode)+streamingSession_sessionPersistenceMode = Lens.lens (\StreamingSession' {sessionPersistenceMode} -> sessionPersistenceMode) (\s@StreamingSession' {} a -> s {sessionPersistenceMode = a} :: StreamingSession)++-- | The time the session entered @START_IN_PROGRESS@ state.+streamingSession_startedAt :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.UTCTime)+streamingSession_startedAt = Lens.lens (\StreamingSession' {startedAt} -> startedAt) (\s@StreamingSession' {} a -> s {startedAt = a} :: StreamingSession) Prelude.. Lens.mapping Data._Time++-- | The user ID of the user that started the streaming session.+streamingSession_startedBy :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Text)+streamingSession_startedBy = Lens.lens (\StreamingSession' {startedBy} -> startedBy) (\s@StreamingSession' {} a -> s {startedBy = a} :: StreamingSession)++-- | The backup ID used to restore a streaming session.+streamingSession_startedFromBackupId :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Text)+streamingSession_startedFromBackupId = Lens.lens (\StreamingSession' {startedFromBackupId} -> startedFromBackupId) (\s@StreamingSession' {} a -> s {startedFromBackupId = a} :: StreamingSession)++-- | The current state.+streamingSession_state :: Lens.Lens' StreamingSession (Prelude.Maybe StreamingSessionState)+streamingSession_state = Lens.lens (\StreamingSession' {state} -> state) (\s@StreamingSession' {} a -> s {state = a} :: StreamingSession)++-- | The status code.+streamingSession_statusCode :: Lens.Lens' StreamingSession (Prelude.Maybe StreamingSessionStatusCode)+streamingSession_statusCode = Lens.lens (\StreamingSession' {statusCode} -> statusCode) (\s@StreamingSession' {} a -> s {statusCode = a} :: StreamingSession)++-- | The status message for the streaming session.+streamingSession_statusMessage :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Text)+streamingSession_statusMessage = Lens.lens (\StreamingSession' {statusMessage} -> statusMessage) (\s@StreamingSession' {} a -> s {statusMessage = a} :: StreamingSession)++-- | The time the streaming session will automatically be stopped if the user+-- doesn’t stop the session themselves.+streamingSession_stopAt :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.UTCTime)+streamingSession_stopAt = Lens.lens (\StreamingSession' {stopAt} -> stopAt) (\s@StreamingSession' {} a -> s {stopAt = a} :: StreamingSession) Prelude.. Lens.mapping Data._Time++-- | The time the session entered @STOP_IN_PROGRESS@ state.+streamingSession_stoppedAt :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.UTCTime)+streamingSession_stoppedAt = Lens.lens (\StreamingSession' {stoppedAt} -> stoppedAt) (\s@StreamingSession' {} a -> s {stoppedAt = a} :: StreamingSession) Prelude.. Lens.mapping Data._Time++-- | The user ID of the user that stopped the streaming session.+streamingSession_stoppedBy :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Text)+streamingSession_stoppedBy = Lens.lens (\StreamingSession' {stoppedBy} -> stoppedBy) (\s@StreamingSession' {} a -> s {stoppedBy = a} :: StreamingSession)++-- | The ID of the streaming image.+streamingSession_streamingImageId :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Text)+streamingSession_streamingImageId = Lens.lens (\StreamingSession' {streamingImageId} -> streamingImageId) (\s@StreamingSession' {} a -> s {streamingImageId = a} :: StreamingSession)++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+streamingSession_tags :: Lens.Lens' StreamingSession (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+streamingSession_tags = Lens.lens (\StreamingSession' {tags} -> tags) (\s@StreamingSession' {} a -> s {tags = a} :: StreamingSession) Prelude.. Lens.mapping Lens.coerced++-- | The time the streaming session will automatically terminate if not+-- terminated by the user.+streamingSession_terminateAt :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.UTCTime)+streamingSession_terminateAt = Lens.lens (\StreamingSession' {terminateAt} -> terminateAt) (\s@StreamingSession' {} a -> s {terminateAt = a} :: StreamingSession) Prelude.. Lens.mapping Data._Time++-- | The ISO timestamp in seconds for when the resource was updated.+streamingSession_updatedAt :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.UTCTime)+streamingSession_updatedAt = Lens.lens (\StreamingSession' {updatedAt} -> updatedAt) (\s@StreamingSession' {} a -> s {updatedAt = a} :: StreamingSession) Prelude.. Lens.mapping Data._Time++-- | The user ID of the user that most recently updated the resource.+streamingSession_updatedBy :: Lens.Lens' StreamingSession (Prelude.Maybe Prelude.Text)+streamingSession_updatedBy = Lens.lens (\StreamingSession' {updatedBy} -> updatedBy) (\s@StreamingSession' {} a -> s {updatedBy = a} :: StreamingSession)++-- | Custom volume configuration for the root volumes that are attached to+-- streaming sessions.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@.+streamingSession_volumeConfiguration :: Lens.Lens' StreamingSession (Prelude.Maybe VolumeConfiguration)+streamingSession_volumeConfiguration = Lens.lens (\StreamingSession' {volumeConfiguration} -> volumeConfiguration) (\s@StreamingSession' {} a -> s {volumeConfiguration = a} :: StreamingSession)++-- | Determine if an EBS volume created from this streaming session will be+-- backed up.+streamingSession_volumeRetentionMode :: Lens.Lens' StreamingSession (Prelude.Maybe VolumeRetentionMode)+streamingSession_volumeRetentionMode = Lens.lens (\StreamingSession' {volumeRetentionMode} -> volumeRetentionMode) (\s@StreamingSession' {} a -> s {volumeRetentionMode = a} :: StreamingSession)++instance Data.FromJSON StreamingSession where+ parseJSON =+ Data.withObject+ "StreamingSession"+ ( \x ->+ StreamingSession'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "automaticTerminationMode")+ Prelude.<*> (x Data..:? "backupMode")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "createdBy")+ Prelude.<*> (x Data..:? "ec2InstanceType")+ Prelude.<*> (x Data..:? "launchProfileId")+ Prelude.<*> (x Data..:? "maxBackupsToRetain")+ Prelude.<*> (x Data..:? "ownedBy")+ Prelude.<*> (x Data..:? "sessionId")+ Prelude.<*> (x Data..:? "sessionPersistenceMode")+ Prelude.<*> (x Data..:? "startedAt")+ Prelude.<*> (x Data..:? "startedBy")+ Prelude.<*> (x Data..:? "startedFromBackupId")+ Prelude.<*> (x Data..:? "state")+ Prelude.<*> (x Data..:? "statusCode")+ Prelude.<*> (x Data..:? "statusMessage")+ Prelude.<*> (x Data..:? "stopAt")+ Prelude.<*> (x Data..:? "stoppedAt")+ Prelude.<*> (x Data..:? "stoppedBy")+ Prelude.<*> (x Data..:? "streamingImageId")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "terminateAt")+ Prelude.<*> (x Data..:? "updatedAt")+ Prelude.<*> (x Data..:? "updatedBy")+ Prelude.<*> (x Data..:? "volumeConfiguration")+ Prelude.<*> (x Data..:? "volumeRetentionMode")+ )++instance Prelude.Hashable StreamingSession where+ hashWithSalt _salt StreamingSession' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` automaticTerminationMode+ `Prelude.hashWithSalt` backupMode+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` ec2InstanceType+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` maxBackupsToRetain+ `Prelude.hashWithSalt` ownedBy+ `Prelude.hashWithSalt` sessionId+ `Prelude.hashWithSalt` sessionPersistenceMode+ `Prelude.hashWithSalt` startedAt+ `Prelude.hashWithSalt` startedBy+ `Prelude.hashWithSalt` startedFromBackupId+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` statusCode+ `Prelude.hashWithSalt` statusMessage+ `Prelude.hashWithSalt` stopAt+ `Prelude.hashWithSalt` stoppedAt+ `Prelude.hashWithSalt` stoppedBy+ `Prelude.hashWithSalt` streamingImageId+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` terminateAt+ `Prelude.hashWithSalt` updatedAt+ `Prelude.hashWithSalt` updatedBy+ `Prelude.hashWithSalt` volumeConfiguration+ `Prelude.hashWithSalt` volumeRetentionMode++instance Prelude.NFData StreamingSession where+ rnf StreamingSession' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf automaticTerminationMode+ `Prelude.seq` Prelude.rnf backupMode+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf ec2InstanceType+ `Prelude.seq` Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf maxBackupsToRetain+ `Prelude.seq` Prelude.rnf ownedBy+ `Prelude.seq` Prelude.rnf sessionId+ `Prelude.seq` Prelude.rnf sessionPersistenceMode+ `Prelude.seq` Prelude.rnf startedAt+ `Prelude.seq` Prelude.rnf startedBy+ `Prelude.seq` Prelude.rnf startedFromBackupId+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf statusCode+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf stopAt+ `Prelude.seq` Prelude.rnf stoppedAt+ `Prelude.seq` Prelude.rnf stoppedBy+ `Prelude.seq` Prelude.rnf streamingImageId+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf terminateAt+ `Prelude.seq` Prelude.rnf updatedAt+ `Prelude.seq` Prelude.rnf+ updatedBy+ `Prelude.seq` Prelude.rnf+ volumeConfiguration+ `Prelude.seq` Prelude.rnf+ volumeRetentionMode
+ gen/Amazonka/Nimble/Types/StreamingSessionBackup.hs view
@@ -0,0 +1,190 @@+{-# 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.Nimble.Types.StreamingSessionBackup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingSessionBackup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.StreamingSessionState+import Amazonka.Nimble.Types.StreamingSessionStatusCode+import qualified Amazonka.Prelude as Prelude++-- | Information about the streaming session backup.+--+-- /See:/ 'newStreamingSessionBackup' smart constructor.+data StreamingSessionBackup = StreamingSessionBackup'+ { -- | The Amazon Resource Name (ARN) that is assigned to a studio resource and+ -- uniquely identifies it. ARNs are unique across all Regions.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The ID of the backup.+ backupId :: Prelude.Maybe Prelude.Text,+ -- | The ISO timestamp in for when the resource was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The ID of the launch profile which allowed the backups for the streaming+ -- session.+ launchProfileId :: Prelude.Maybe Prelude.Text,+ -- | The user ID of the user that owns the streaming session.+ ownedBy :: Prelude.Maybe Prelude.Text,+ -- | The streaming session ID for the @StreamingSessionBackup@.+ sessionId :: Prelude.Maybe Prelude.Text,+ state :: Prelude.Maybe StreamingSessionState,+ -- | The status code.+ statusCode :: Prelude.Maybe StreamingSessionStatusCode,+ -- | The status message for the streaming session backup.+ statusMessage :: Prelude.Maybe Prelude.Text,+ -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StreamingSessionBackup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'streamingSessionBackup_arn' - The Amazon Resource Name (ARN) that is assigned to a studio resource and+-- uniquely identifies it. ARNs are unique across all Regions.+--+-- 'backupId', 'streamingSessionBackup_backupId' - The ID of the backup.+--+-- 'createdAt', 'streamingSessionBackup_createdAt' - The ISO timestamp in for when the resource was created.+--+-- 'launchProfileId', 'streamingSessionBackup_launchProfileId' - The ID of the launch profile which allowed the backups for the streaming+-- session.+--+-- 'ownedBy', 'streamingSessionBackup_ownedBy' - The user ID of the user that owns the streaming session.+--+-- 'sessionId', 'streamingSessionBackup_sessionId' - The streaming session ID for the @StreamingSessionBackup@.+--+-- 'state', 'streamingSessionBackup_state' - Undocumented member.+--+-- 'statusCode', 'streamingSessionBackup_statusCode' - The status code.+--+-- 'statusMessage', 'streamingSessionBackup_statusMessage' - The status message for the streaming session backup.+--+-- 'tags', 'streamingSessionBackup_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+newStreamingSessionBackup ::+ StreamingSessionBackup+newStreamingSessionBackup =+ StreamingSessionBackup'+ { arn = Prelude.Nothing,+ backupId = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ launchProfileId = Prelude.Nothing,+ ownedBy = Prelude.Nothing,+ sessionId = Prelude.Nothing,+ state = Prelude.Nothing,+ statusCode = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) that is assigned to a studio resource and+-- uniquely identifies it. ARNs are unique across all Regions.+streamingSessionBackup_arn :: Lens.Lens' StreamingSessionBackup (Prelude.Maybe Prelude.Text)+streamingSessionBackup_arn = Lens.lens (\StreamingSessionBackup' {arn} -> arn) (\s@StreamingSessionBackup' {} a -> s {arn = a} :: StreamingSessionBackup)++-- | The ID of the backup.+streamingSessionBackup_backupId :: Lens.Lens' StreamingSessionBackup (Prelude.Maybe Prelude.Text)+streamingSessionBackup_backupId = Lens.lens (\StreamingSessionBackup' {backupId} -> backupId) (\s@StreamingSessionBackup' {} a -> s {backupId = a} :: StreamingSessionBackup)++-- | The ISO timestamp in for when the resource was created.+streamingSessionBackup_createdAt :: Lens.Lens' StreamingSessionBackup (Prelude.Maybe Prelude.UTCTime)+streamingSessionBackup_createdAt = Lens.lens (\StreamingSessionBackup' {createdAt} -> createdAt) (\s@StreamingSessionBackup' {} a -> s {createdAt = a} :: StreamingSessionBackup) Prelude.. Lens.mapping Data._Time++-- | The ID of the launch profile which allowed the backups for the streaming+-- session.+streamingSessionBackup_launchProfileId :: Lens.Lens' StreamingSessionBackup (Prelude.Maybe Prelude.Text)+streamingSessionBackup_launchProfileId = Lens.lens (\StreamingSessionBackup' {launchProfileId} -> launchProfileId) (\s@StreamingSessionBackup' {} a -> s {launchProfileId = a} :: StreamingSessionBackup)++-- | The user ID of the user that owns the streaming session.+streamingSessionBackup_ownedBy :: Lens.Lens' StreamingSessionBackup (Prelude.Maybe Prelude.Text)+streamingSessionBackup_ownedBy = Lens.lens (\StreamingSessionBackup' {ownedBy} -> ownedBy) (\s@StreamingSessionBackup' {} a -> s {ownedBy = a} :: StreamingSessionBackup)++-- | The streaming session ID for the @StreamingSessionBackup@.+streamingSessionBackup_sessionId :: Lens.Lens' StreamingSessionBackup (Prelude.Maybe Prelude.Text)+streamingSessionBackup_sessionId = Lens.lens (\StreamingSessionBackup' {sessionId} -> sessionId) (\s@StreamingSessionBackup' {} a -> s {sessionId = a} :: StreamingSessionBackup)++-- | Undocumented member.+streamingSessionBackup_state :: Lens.Lens' StreamingSessionBackup (Prelude.Maybe StreamingSessionState)+streamingSessionBackup_state = Lens.lens (\StreamingSessionBackup' {state} -> state) (\s@StreamingSessionBackup' {} a -> s {state = a} :: StreamingSessionBackup)++-- | The status code.+streamingSessionBackup_statusCode :: Lens.Lens' StreamingSessionBackup (Prelude.Maybe StreamingSessionStatusCode)+streamingSessionBackup_statusCode = Lens.lens (\StreamingSessionBackup' {statusCode} -> statusCode) (\s@StreamingSessionBackup' {} a -> s {statusCode = a} :: StreamingSessionBackup)++-- | The status message for the streaming session backup.+streamingSessionBackup_statusMessage :: Lens.Lens' StreamingSessionBackup (Prelude.Maybe Prelude.Text)+streamingSessionBackup_statusMessage = Lens.lens (\StreamingSessionBackup' {statusMessage} -> statusMessage) (\s@StreamingSessionBackup' {} a -> s {statusMessage = a} :: StreamingSessionBackup)++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+streamingSessionBackup_tags :: Lens.Lens' StreamingSessionBackup (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+streamingSessionBackup_tags = Lens.lens (\StreamingSessionBackup' {tags} -> tags) (\s@StreamingSessionBackup' {} a -> s {tags = a} :: StreamingSessionBackup) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON StreamingSessionBackup where+ parseJSON =+ Data.withObject+ "StreamingSessionBackup"+ ( \x ->+ StreamingSessionBackup'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "backupId")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "launchProfileId")+ Prelude.<*> (x Data..:? "ownedBy")+ Prelude.<*> (x Data..:? "sessionId")+ Prelude.<*> (x Data..:? "state")+ Prelude.<*> (x Data..:? "statusCode")+ Prelude.<*> (x Data..:? "statusMessage")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable StreamingSessionBackup where+ hashWithSalt _salt StreamingSessionBackup' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` backupId+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` ownedBy+ `Prelude.hashWithSalt` sessionId+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` statusCode+ `Prelude.hashWithSalt` statusMessage+ `Prelude.hashWithSalt` tags++instance Prelude.NFData StreamingSessionBackup where+ rnf StreamingSessionBackup' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf backupId+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf ownedBy+ `Prelude.seq` Prelude.rnf sessionId+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf statusCode+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/Nimble/Types/StreamingSessionState.hs view
@@ -0,0 +1,117 @@+{-# 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.Nimble.Types.StreamingSessionState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingSessionState+ ( StreamingSessionState+ ( ..,+ StreamingSessionState_CREATE_FAILED,+ StreamingSessionState_CREATE_IN_PROGRESS,+ StreamingSessionState_DELETED,+ StreamingSessionState_DELETE_FAILED,+ StreamingSessionState_DELETE_IN_PROGRESS,+ StreamingSessionState_READY,+ StreamingSessionState_START_FAILED,+ StreamingSessionState_START_IN_PROGRESS,+ StreamingSessionState_STOPPED,+ StreamingSessionState_STOP_FAILED,+ StreamingSessionState_STOP_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The streaming session state.+newtype StreamingSessionState = StreamingSessionState'+ { fromStreamingSessionState ::+ 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 StreamingSessionState_CREATE_FAILED :: StreamingSessionState+pattern StreamingSessionState_CREATE_FAILED = StreamingSessionState' "CREATE_FAILED"++pattern StreamingSessionState_CREATE_IN_PROGRESS :: StreamingSessionState+pattern StreamingSessionState_CREATE_IN_PROGRESS = StreamingSessionState' "CREATE_IN_PROGRESS"++pattern StreamingSessionState_DELETED :: StreamingSessionState+pattern StreamingSessionState_DELETED = StreamingSessionState' "DELETED"++pattern StreamingSessionState_DELETE_FAILED :: StreamingSessionState+pattern StreamingSessionState_DELETE_FAILED = StreamingSessionState' "DELETE_FAILED"++pattern StreamingSessionState_DELETE_IN_PROGRESS :: StreamingSessionState+pattern StreamingSessionState_DELETE_IN_PROGRESS = StreamingSessionState' "DELETE_IN_PROGRESS"++pattern StreamingSessionState_READY :: StreamingSessionState+pattern StreamingSessionState_READY = StreamingSessionState' "READY"++pattern StreamingSessionState_START_FAILED :: StreamingSessionState+pattern StreamingSessionState_START_FAILED = StreamingSessionState' "START_FAILED"++pattern StreamingSessionState_START_IN_PROGRESS :: StreamingSessionState+pattern StreamingSessionState_START_IN_PROGRESS = StreamingSessionState' "START_IN_PROGRESS"++pattern StreamingSessionState_STOPPED :: StreamingSessionState+pattern StreamingSessionState_STOPPED = StreamingSessionState' "STOPPED"++pattern StreamingSessionState_STOP_FAILED :: StreamingSessionState+pattern StreamingSessionState_STOP_FAILED = StreamingSessionState' "STOP_FAILED"++pattern StreamingSessionState_STOP_IN_PROGRESS :: StreamingSessionState+pattern StreamingSessionState_STOP_IN_PROGRESS = StreamingSessionState' "STOP_IN_PROGRESS"++{-# COMPLETE+ StreamingSessionState_CREATE_FAILED,+ StreamingSessionState_CREATE_IN_PROGRESS,+ StreamingSessionState_DELETED,+ StreamingSessionState_DELETE_FAILED,+ StreamingSessionState_DELETE_IN_PROGRESS,+ StreamingSessionState_READY,+ StreamingSessionState_START_FAILED,+ StreamingSessionState_START_IN_PROGRESS,+ StreamingSessionState_STOPPED,+ StreamingSessionState_STOP_FAILED,+ StreamingSessionState_STOP_IN_PROGRESS,+ StreamingSessionState'+ #-}
+ gen/Amazonka/Nimble/Types/StreamingSessionStatusCode.hs view
@@ -0,0 +1,141 @@+{-# 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.Nimble.Types.StreamingSessionStatusCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingSessionStatusCode+ ( StreamingSessionStatusCode+ ( ..,+ StreamingSessionStatusCode_ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR,+ StreamingSessionStatusCode_AMI_VALIDATION_ERROR,+ StreamingSessionStatusCode_DECRYPT_STREAMING_IMAGE_ERROR,+ StreamingSessionStatusCode_INITIALIZATION_SCRIPT_ERROR,+ StreamingSessionStatusCode_INSUFFICIENT_CAPACITY,+ StreamingSessionStatusCode_INTERNAL_ERROR,+ StreamingSessionStatusCode_NETWORK_CONNECTION_ERROR,+ StreamingSessionStatusCode_NETWORK_INTERFACE_ERROR,+ StreamingSessionStatusCode_STREAMING_SESSION_CREATE_IN_PROGRESS,+ StreamingSessionStatusCode_STREAMING_SESSION_DELETED,+ StreamingSessionStatusCode_STREAMING_SESSION_DELETE_IN_PROGRESS,+ StreamingSessionStatusCode_STREAMING_SESSION_READY,+ StreamingSessionStatusCode_STREAMING_SESSION_STARTED,+ StreamingSessionStatusCode_STREAMING_SESSION_START_IN_PROGRESS,+ StreamingSessionStatusCode_STREAMING_SESSION_STOPPED,+ StreamingSessionStatusCode_STREAMING_SESSION_STOP_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StreamingSessionStatusCode = StreamingSessionStatusCode'+ { fromStreamingSessionStatusCode ::+ 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 StreamingSessionStatusCode_ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR = StreamingSessionStatusCode' "ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR"++pattern StreamingSessionStatusCode_AMI_VALIDATION_ERROR :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_AMI_VALIDATION_ERROR = StreamingSessionStatusCode' "AMI_VALIDATION_ERROR"++pattern StreamingSessionStatusCode_DECRYPT_STREAMING_IMAGE_ERROR :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_DECRYPT_STREAMING_IMAGE_ERROR = StreamingSessionStatusCode' "DECRYPT_STREAMING_IMAGE_ERROR"++pattern StreamingSessionStatusCode_INITIALIZATION_SCRIPT_ERROR :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_INITIALIZATION_SCRIPT_ERROR = StreamingSessionStatusCode' "INITIALIZATION_SCRIPT_ERROR"++pattern StreamingSessionStatusCode_INSUFFICIENT_CAPACITY :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_INSUFFICIENT_CAPACITY = StreamingSessionStatusCode' "INSUFFICIENT_CAPACITY"++pattern StreamingSessionStatusCode_INTERNAL_ERROR :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_INTERNAL_ERROR = StreamingSessionStatusCode' "INTERNAL_ERROR"++pattern StreamingSessionStatusCode_NETWORK_CONNECTION_ERROR :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_NETWORK_CONNECTION_ERROR = StreamingSessionStatusCode' "NETWORK_CONNECTION_ERROR"++pattern StreamingSessionStatusCode_NETWORK_INTERFACE_ERROR :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_NETWORK_INTERFACE_ERROR = StreamingSessionStatusCode' "NETWORK_INTERFACE_ERROR"++pattern StreamingSessionStatusCode_STREAMING_SESSION_CREATE_IN_PROGRESS :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_STREAMING_SESSION_CREATE_IN_PROGRESS = StreamingSessionStatusCode' "STREAMING_SESSION_CREATE_IN_PROGRESS"++pattern StreamingSessionStatusCode_STREAMING_SESSION_DELETED :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_STREAMING_SESSION_DELETED = StreamingSessionStatusCode' "STREAMING_SESSION_DELETED"++pattern StreamingSessionStatusCode_STREAMING_SESSION_DELETE_IN_PROGRESS :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_STREAMING_SESSION_DELETE_IN_PROGRESS = StreamingSessionStatusCode' "STREAMING_SESSION_DELETE_IN_PROGRESS"++pattern StreamingSessionStatusCode_STREAMING_SESSION_READY :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_STREAMING_SESSION_READY = StreamingSessionStatusCode' "STREAMING_SESSION_READY"++pattern StreamingSessionStatusCode_STREAMING_SESSION_STARTED :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_STREAMING_SESSION_STARTED = StreamingSessionStatusCode' "STREAMING_SESSION_STARTED"++pattern StreamingSessionStatusCode_STREAMING_SESSION_START_IN_PROGRESS :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_STREAMING_SESSION_START_IN_PROGRESS = StreamingSessionStatusCode' "STREAMING_SESSION_START_IN_PROGRESS"++pattern StreamingSessionStatusCode_STREAMING_SESSION_STOPPED :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_STREAMING_SESSION_STOPPED = StreamingSessionStatusCode' "STREAMING_SESSION_STOPPED"++pattern StreamingSessionStatusCode_STREAMING_SESSION_STOP_IN_PROGRESS :: StreamingSessionStatusCode+pattern StreamingSessionStatusCode_STREAMING_SESSION_STOP_IN_PROGRESS = StreamingSessionStatusCode' "STREAMING_SESSION_STOP_IN_PROGRESS"++{-# COMPLETE+ StreamingSessionStatusCode_ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR,+ StreamingSessionStatusCode_AMI_VALIDATION_ERROR,+ StreamingSessionStatusCode_DECRYPT_STREAMING_IMAGE_ERROR,+ StreamingSessionStatusCode_INITIALIZATION_SCRIPT_ERROR,+ StreamingSessionStatusCode_INSUFFICIENT_CAPACITY,+ StreamingSessionStatusCode_INTERNAL_ERROR,+ StreamingSessionStatusCode_NETWORK_CONNECTION_ERROR,+ StreamingSessionStatusCode_NETWORK_INTERFACE_ERROR,+ StreamingSessionStatusCode_STREAMING_SESSION_CREATE_IN_PROGRESS,+ StreamingSessionStatusCode_STREAMING_SESSION_DELETED,+ StreamingSessionStatusCode_STREAMING_SESSION_DELETE_IN_PROGRESS,+ StreamingSessionStatusCode_STREAMING_SESSION_READY,+ StreamingSessionStatusCode_STREAMING_SESSION_STARTED,+ StreamingSessionStatusCode_STREAMING_SESSION_START_IN_PROGRESS,+ StreamingSessionStatusCode_STREAMING_SESSION_STOPPED,+ StreamingSessionStatusCode_STREAMING_SESSION_STOP_IN_PROGRESS,+ StreamingSessionStatusCode'+ #-}
+ gen/Amazonka/Nimble/Types/StreamingSessionStorageMode.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.Nimble.Types.StreamingSessionStorageMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingSessionStorageMode+ ( StreamingSessionStorageMode+ ( ..,+ StreamingSessionStorageMode_UPLOAD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StreamingSessionStorageMode = StreamingSessionStorageMode'+ { fromStreamingSessionStorageMode ::+ 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 StreamingSessionStorageMode_UPLOAD :: StreamingSessionStorageMode+pattern StreamingSessionStorageMode_UPLOAD = StreamingSessionStorageMode' "UPLOAD"++{-# COMPLETE+ StreamingSessionStorageMode_UPLOAD,+ StreamingSessionStorageMode'+ #-}
+ gen/Amazonka/Nimble/Types/StreamingSessionStorageRoot.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.StreamingSessionStorageRoot+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingSessionStorageRoot 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 upload storage root location (folder) on streaming workstations+-- where files are uploaded.+--+-- /See:/ 'newStreamingSessionStorageRoot' smart constructor.+data StreamingSessionStorageRoot = StreamingSessionStorageRoot'+ { -- | The folder path in Linux workstations where files are uploaded.+ linux :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The folder path in Windows workstations where files are uploaded.+ windows :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StreamingSessionStorageRoot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'linux', 'streamingSessionStorageRoot_linux' - The folder path in Linux workstations where files are uploaded.+--+-- 'windows', 'streamingSessionStorageRoot_windows' - The folder path in Windows workstations where files are uploaded.+newStreamingSessionStorageRoot ::+ StreamingSessionStorageRoot+newStreamingSessionStorageRoot =+ StreamingSessionStorageRoot'+ { linux =+ Prelude.Nothing,+ windows = Prelude.Nothing+ }++-- | The folder path in Linux workstations where files are uploaded.+streamingSessionStorageRoot_linux :: Lens.Lens' StreamingSessionStorageRoot (Prelude.Maybe Prelude.Text)+streamingSessionStorageRoot_linux = Lens.lens (\StreamingSessionStorageRoot' {linux} -> linux) (\s@StreamingSessionStorageRoot' {} a -> s {linux = a} :: StreamingSessionStorageRoot) Prelude.. Lens.mapping Data._Sensitive++-- | The folder path in Windows workstations where files are uploaded.+streamingSessionStorageRoot_windows :: Lens.Lens' StreamingSessionStorageRoot (Prelude.Maybe Prelude.Text)+streamingSessionStorageRoot_windows = Lens.lens (\StreamingSessionStorageRoot' {windows} -> windows) (\s@StreamingSessionStorageRoot' {} a -> s {windows = a} :: StreamingSessionStorageRoot) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON StreamingSessionStorageRoot where+ parseJSON =+ Data.withObject+ "StreamingSessionStorageRoot"+ ( \x ->+ StreamingSessionStorageRoot'+ Prelude.<$> (x Data..:? "linux")+ Prelude.<*> (x Data..:? "windows")+ )++instance Prelude.Hashable StreamingSessionStorageRoot where+ hashWithSalt _salt StreamingSessionStorageRoot' {..} =+ _salt+ `Prelude.hashWithSalt` linux+ `Prelude.hashWithSalt` windows++instance Prelude.NFData StreamingSessionStorageRoot where+ rnf StreamingSessionStorageRoot' {..} =+ Prelude.rnf linux `Prelude.seq` Prelude.rnf windows++instance Data.ToJSON StreamingSessionStorageRoot where+ toJSON StreamingSessionStorageRoot' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("linux" Data..=) Prelude.<$> linux,+ ("windows" Data..=) Prelude.<$> windows+ ]+ )
+ gen/Amazonka/Nimble/Types/StreamingSessionStream.hs view
@@ -0,0 +1,168 @@+{-# 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.Nimble.Types.StreamingSessionStream+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingSessionStream where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.StreamingSessionStreamState+import Amazonka.Nimble.Types.StreamingSessionStreamStatusCode+import qualified Amazonka.Prelude as Prelude++-- | A stream is an active connection to a streaming session, enabling a+-- studio user to control the streaming session using a compatible client.+-- Streaming session streams are compatible with the NICE DCV web client,+-- included in the Nimble Studio portal, or the NICE DCV desktop client.+--+-- /See:/ 'newStreamingSessionStream' smart constructor.+data StreamingSessionStream = StreamingSessionStream'+ { -- | The ISO timestamp in seconds for when the resource was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The user ID of the user that created the streaming session stream.+ createdBy :: Prelude.Maybe Prelude.Text,+ -- | The ISO timestamp in seconds for when the resource expires.+ expiresAt :: Prelude.Maybe Data.ISO8601,+ -- | The user ID of the user that owns the streaming session. The user that+ -- owns the session will be logging into the session and interacting with+ -- the virtual workstation.+ ownedBy :: Prelude.Maybe Prelude.Text,+ -- | The current state.+ state :: Prelude.Maybe StreamingSessionStreamState,+ -- | The streaming session stream status code.+ statusCode :: Prelude.Maybe StreamingSessionStreamStatusCode,+ -- | The stream ID.+ streamId :: Prelude.Maybe Prelude.Text,+ -- | The URL to connect to this stream using the DCV client.+ url :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StreamingSessionStream' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'streamingSessionStream_createdAt' - The ISO timestamp in seconds for when the resource was created.+--+-- 'createdBy', 'streamingSessionStream_createdBy' - The user ID of the user that created the streaming session stream.+--+-- 'expiresAt', 'streamingSessionStream_expiresAt' - The ISO timestamp in seconds for when the resource expires.+--+-- 'ownedBy', 'streamingSessionStream_ownedBy' - The user ID of the user that owns the streaming session. The user that+-- owns the session will be logging into the session and interacting with+-- the virtual workstation.+--+-- 'state', 'streamingSessionStream_state' - The current state.+--+-- 'statusCode', 'streamingSessionStream_statusCode' - The streaming session stream status code.+--+-- 'streamId', 'streamingSessionStream_streamId' - The stream ID.+--+-- 'url', 'streamingSessionStream_url' - The URL to connect to this stream using the DCV client.+newStreamingSessionStream ::+ StreamingSessionStream+newStreamingSessionStream =+ StreamingSessionStream'+ { createdAt =+ Prelude.Nothing,+ createdBy = Prelude.Nothing,+ expiresAt = Prelude.Nothing,+ ownedBy = Prelude.Nothing,+ state = Prelude.Nothing,+ statusCode = Prelude.Nothing,+ streamId = Prelude.Nothing,+ url = Prelude.Nothing+ }++-- | The ISO timestamp in seconds for when the resource was created.+streamingSessionStream_createdAt :: Lens.Lens' StreamingSessionStream (Prelude.Maybe Prelude.UTCTime)+streamingSessionStream_createdAt = Lens.lens (\StreamingSessionStream' {createdAt} -> createdAt) (\s@StreamingSessionStream' {} a -> s {createdAt = a} :: StreamingSessionStream) Prelude.. Lens.mapping Data._Time++-- | The user ID of the user that created the streaming session stream.+streamingSessionStream_createdBy :: Lens.Lens' StreamingSessionStream (Prelude.Maybe Prelude.Text)+streamingSessionStream_createdBy = Lens.lens (\StreamingSessionStream' {createdBy} -> createdBy) (\s@StreamingSessionStream' {} a -> s {createdBy = a} :: StreamingSessionStream)++-- | The ISO timestamp in seconds for when the resource expires.+streamingSessionStream_expiresAt :: Lens.Lens' StreamingSessionStream (Prelude.Maybe Prelude.UTCTime)+streamingSessionStream_expiresAt = Lens.lens (\StreamingSessionStream' {expiresAt} -> expiresAt) (\s@StreamingSessionStream' {} a -> s {expiresAt = a} :: StreamingSessionStream) Prelude.. Lens.mapping Data._Time++-- | The user ID of the user that owns the streaming session. The user that+-- owns the session will be logging into the session and interacting with+-- the virtual workstation.+streamingSessionStream_ownedBy :: Lens.Lens' StreamingSessionStream (Prelude.Maybe Prelude.Text)+streamingSessionStream_ownedBy = Lens.lens (\StreamingSessionStream' {ownedBy} -> ownedBy) (\s@StreamingSessionStream' {} a -> s {ownedBy = a} :: StreamingSessionStream)++-- | The current state.+streamingSessionStream_state :: Lens.Lens' StreamingSessionStream (Prelude.Maybe StreamingSessionStreamState)+streamingSessionStream_state = Lens.lens (\StreamingSessionStream' {state} -> state) (\s@StreamingSessionStream' {} a -> s {state = a} :: StreamingSessionStream)++-- | The streaming session stream status code.+streamingSessionStream_statusCode :: Lens.Lens' StreamingSessionStream (Prelude.Maybe StreamingSessionStreamStatusCode)+streamingSessionStream_statusCode = Lens.lens (\StreamingSessionStream' {statusCode} -> statusCode) (\s@StreamingSessionStream' {} a -> s {statusCode = a} :: StreamingSessionStream)++-- | The stream ID.+streamingSessionStream_streamId :: Lens.Lens' StreamingSessionStream (Prelude.Maybe Prelude.Text)+streamingSessionStream_streamId = Lens.lens (\StreamingSessionStream' {streamId} -> streamId) (\s@StreamingSessionStream' {} a -> s {streamId = a} :: StreamingSessionStream)++-- | The URL to connect to this stream using the DCV client.+streamingSessionStream_url :: Lens.Lens' StreamingSessionStream (Prelude.Maybe Prelude.Text)+streamingSessionStream_url = Lens.lens (\StreamingSessionStream' {url} -> url) (\s@StreamingSessionStream' {} a -> s {url = a} :: StreamingSessionStream) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON StreamingSessionStream where+ parseJSON =+ Data.withObject+ "StreamingSessionStream"+ ( \x ->+ StreamingSessionStream'+ Prelude.<$> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "createdBy")+ Prelude.<*> (x Data..:? "expiresAt")+ Prelude.<*> (x Data..:? "ownedBy")+ Prelude.<*> (x Data..:? "state")+ Prelude.<*> (x Data..:? "statusCode")+ Prelude.<*> (x Data..:? "streamId")+ Prelude.<*> (x Data..:? "url")+ )++instance Prelude.Hashable StreamingSessionStream where+ hashWithSalt _salt StreamingSessionStream' {..} =+ _salt+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` expiresAt+ `Prelude.hashWithSalt` ownedBy+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` statusCode+ `Prelude.hashWithSalt` streamId+ `Prelude.hashWithSalt` url++instance Prelude.NFData StreamingSessionStream where+ rnf StreamingSessionStream' {..} =+ Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf expiresAt+ `Prelude.seq` Prelude.rnf ownedBy+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf statusCode+ `Prelude.seq` Prelude.rnf streamId+ `Prelude.seq` Prelude.rnf url
+ gen/Amazonka/Nimble/Types/StreamingSessionStreamState.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.StreamingSessionStreamState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingSessionStreamState+ ( StreamingSessionStreamState+ ( ..,+ StreamingSessionStreamState_CREATE_FAILED,+ StreamingSessionStreamState_CREATE_IN_PROGRESS,+ StreamingSessionStreamState_DELETED,+ StreamingSessionStreamState_DELETE_FAILED,+ StreamingSessionStreamState_DELETE_IN_PROGRESS,+ StreamingSessionStreamState_READY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StreamingSessionStreamState = StreamingSessionStreamState'+ { fromStreamingSessionStreamState ::+ 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 StreamingSessionStreamState_CREATE_FAILED :: StreamingSessionStreamState+pattern StreamingSessionStreamState_CREATE_FAILED = StreamingSessionStreamState' "CREATE_FAILED"++pattern StreamingSessionStreamState_CREATE_IN_PROGRESS :: StreamingSessionStreamState+pattern StreamingSessionStreamState_CREATE_IN_PROGRESS = StreamingSessionStreamState' "CREATE_IN_PROGRESS"++pattern StreamingSessionStreamState_DELETED :: StreamingSessionStreamState+pattern StreamingSessionStreamState_DELETED = StreamingSessionStreamState' "DELETED"++pattern StreamingSessionStreamState_DELETE_FAILED :: StreamingSessionStreamState+pattern StreamingSessionStreamState_DELETE_FAILED = StreamingSessionStreamState' "DELETE_FAILED"++pattern StreamingSessionStreamState_DELETE_IN_PROGRESS :: StreamingSessionStreamState+pattern StreamingSessionStreamState_DELETE_IN_PROGRESS = StreamingSessionStreamState' "DELETE_IN_PROGRESS"++pattern StreamingSessionStreamState_READY :: StreamingSessionStreamState+pattern StreamingSessionStreamState_READY = StreamingSessionStreamState' "READY"++{-# COMPLETE+ StreamingSessionStreamState_CREATE_FAILED,+ StreamingSessionStreamState_CREATE_IN_PROGRESS,+ StreamingSessionStreamState_DELETED,+ StreamingSessionStreamState_DELETE_FAILED,+ StreamingSessionStreamState_DELETE_IN_PROGRESS,+ StreamingSessionStreamState_READY,+ StreamingSessionStreamState'+ #-}
+ gen/Amazonka/Nimble/Types/StreamingSessionStreamStatusCode.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.StreamingSessionStreamStatusCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StreamingSessionStreamStatusCode+ ( StreamingSessionStreamStatusCode+ ( ..,+ StreamingSessionStreamStatusCode_INTERNAL_ERROR,+ StreamingSessionStreamStatusCode_NETWORK_CONNECTION_ERROR,+ StreamingSessionStreamStatusCode_STREAM_CREATE_IN_PROGRESS,+ StreamingSessionStreamStatusCode_STREAM_DELETED,+ StreamingSessionStreamStatusCode_STREAM_DELETE_IN_PROGRESS,+ StreamingSessionStreamStatusCode_STREAM_READY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StreamingSessionStreamStatusCode = StreamingSessionStreamStatusCode'+ { fromStreamingSessionStreamStatusCode ::+ 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 StreamingSessionStreamStatusCode_INTERNAL_ERROR :: StreamingSessionStreamStatusCode+pattern StreamingSessionStreamStatusCode_INTERNAL_ERROR = StreamingSessionStreamStatusCode' "INTERNAL_ERROR"++pattern StreamingSessionStreamStatusCode_NETWORK_CONNECTION_ERROR :: StreamingSessionStreamStatusCode+pattern StreamingSessionStreamStatusCode_NETWORK_CONNECTION_ERROR = StreamingSessionStreamStatusCode' "NETWORK_CONNECTION_ERROR"++pattern StreamingSessionStreamStatusCode_STREAM_CREATE_IN_PROGRESS :: StreamingSessionStreamStatusCode+pattern StreamingSessionStreamStatusCode_STREAM_CREATE_IN_PROGRESS = StreamingSessionStreamStatusCode' "STREAM_CREATE_IN_PROGRESS"++pattern StreamingSessionStreamStatusCode_STREAM_DELETED :: StreamingSessionStreamStatusCode+pattern StreamingSessionStreamStatusCode_STREAM_DELETED = StreamingSessionStreamStatusCode' "STREAM_DELETED"++pattern StreamingSessionStreamStatusCode_STREAM_DELETE_IN_PROGRESS :: StreamingSessionStreamStatusCode+pattern StreamingSessionStreamStatusCode_STREAM_DELETE_IN_PROGRESS = StreamingSessionStreamStatusCode' "STREAM_DELETE_IN_PROGRESS"++pattern StreamingSessionStreamStatusCode_STREAM_READY :: StreamingSessionStreamStatusCode+pattern StreamingSessionStreamStatusCode_STREAM_READY = StreamingSessionStreamStatusCode' "STREAM_READY"++{-# COMPLETE+ StreamingSessionStreamStatusCode_INTERNAL_ERROR,+ StreamingSessionStreamStatusCode_NETWORK_CONNECTION_ERROR,+ StreamingSessionStreamStatusCode_STREAM_CREATE_IN_PROGRESS,+ StreamingSessionStreamStatusCode_STREAM_DELETED,+ StreamingSessionStreamStatusCode_STREAM_DELETE_IN_PROGRESS,+ StreamingSessionStreamStatusCode_STREAM_READY,+ StreamingSessionStreamStatusCode'+ #-}
+ gen/Amazonka/Nimble/Types/Studio.hs view
@@ -0,0 +1,298 @@+{-# 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.Nimble.Types.Studio+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.Studio where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.StudioEncryptionConfiguration+import Amazonka.Nimble.Types.StudioState+import Amazonka.Nimble.Types.StudioStatusCode+import qualified Amazonka.Prelude as Prelude++-- | Represents a studio resource.+--+-- A studio is the core resource used with Nimble Studio. You must create a+-- studio first, before any other resource type can be created. All other+-- resources you create and manage in Nimble Studio are contained within a+-- studio.+--+-- When creating a studio, you must provides two IAM roles for use with the+-- Nimble Studio portal. These roles are assumed by your users when they+-- log in to the Nimble Studio portal via IAM Identity Center and your+-- identity source.+--+-- The user role must have the @AmazonNimbleStudio-StudioUser@ managed+-- policy attached for the portal to function properly.+--+-- The admin role must have the @AmazonNimbleStudio-StudioAdmin@ managed+-- policy attached for the portal to function properly.+--+-- Your studio roles must trust the @identity.nimble.amazonaws.com@ service+-- principal to function properly.+--+-- /See:/ 'newStudio' smart constructor.+data Studio = Studio'+ { -- | The IAM role that studio admins assume when logging in to the Nimble+ -- Studio portal.+ adminRoleArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) that is assigned to a studio resource and+ -- uniquely identifies it. ARNs are unique across all Regions.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The ISO timestamp in seconds for when the resource was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | A friendly name for the studio.+ displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The Amazon Web Services Region where the studio resource is located.+ homeRegion :: Prelude.Maybe Prelude.Text,+ -- | The IAM Identity Center application client ID used to integrate with IAM+ -- Identity Center. This ID allows IAM Identity Center users to log in to+ -- Nimble Studio portal.+ ssoClientId :: Prelude.Maybe Prelude.Text,+ -- | The current state of the studio resource.+ state :: Prelude.Maybe StudioState,+ -- | Status codes that provide additional detail on the studio state.+ statusCode :: Prelude.Maybe StudioStatusCode,+ -- | Additional detail on the studio state.+ statusMessage :: Prelude.Maybe Prelude.Text,+ -- | Configuration of the encryption method that is used for the studio.+ studioEncryptionConfiguration :: Prelude.Maybe StudioEncryptionConfiguration,+ -- | The unique identifier for a studio resource. In Nimble Studio, all other+ -- resources are contained in a studio resource.+ studioId :: Prelude.Maybe Prelude.Text,+ -- | The name of the studio, as included in the URL when accessing it in the+ -- Nimble Studio portal.+ studioName :: Prelude.Maybe Prelude.Text,+ -- | The address of the web page for the studio.+ studioUrl :: Prelude.Maybe Prelude.Text,+ -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ISO timestamp in seconds for when the resource was updated.+ updatedAt :: Prelude.Maybe Data.ISO8601,+ -- | The IAM role that studio users assume when logging in to the Nimble+ -- Studio portal.+ userRoleArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Studio' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adminRoleArn', 'studio_adminRoleArn' - The IAM role that studio admins assume when logging in to the Nimble+-- Studio portal.+--+-- 'arn', 'studio_arn' - The Amazon Resource Name (ARN) that is assigned to a studio resource and+-- uniquely identifies it. ARNs are unique across all Regions.+--+-- 'createdAt', 'studio_createdAt' - The ISO timestamp in seconds for when the resource was created.+--+-- 'displayName', 'studio_displayName' - A friendly name for the studio.+--+-- 'homeRegion', 'studio_homeRegion' - The Amazon Web Services Region where the studio resource is located.+--+-- 'ssoClientId', 'studio_ssoClientId' - The IAM Identity Center application client ID used to integrate with IAM+-- Identity Center. This ID allows IAM Identity Center users to log in to+-- Nimble Studio portal.+--+-- 'state', 'studio_state' - The current state of the studio resource.+--+-- 'statusCode', 'studio_statusCode' - Status codes that provide additional detail on the studio state.+--+-- 'statusMessage', 'studio_statusMessage' - Additional detail on the studio state.+--+-- 'studioEncryptionConfiguration', 'studio_studioEncryptionConfiguration' - Configuration of the encryption method that is used for the studio.+--+-- 'studioId', 'studio_studioId' - The unique identifier for a studio resource. In Nimble Studio, all other+-- resources are contained in a studio resource.+--+-- 'studioName', 'studio_studioName' - The name of the studio, as included in the URL when accessing it in the+-- Nimble Studio portal.+--+-- 'studioUrl', 'studio_studioUrl' - The address of the web page for the studio.+--+-- 'tags', 'studio_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+--+-- 'updatedAt', 'studio_updatedAt' - The ISO timestamp in seconds for when the resource was updated.+--+-- 'userRoleArn', 'studio_userRoleArn' - The IAM role that studio users assume when logging in to the Nimble+-- Studio portal.+newStudio ::+ Studio+newStudio =+ Studio'+ { adminRoleArn = Prelude.Nothing,+ arn = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ displayName = Prelude.Nothing,+ homeRegion = Prelude.Nothing,+ ssoClientId = Prelude.Nothing,+ state = Prelude.Nothing,+ statusCode = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ studioEncryptionConfiguration = Prelude.Nothing,+ studioId = Prelude.Nothing,+ studioName = Prelude.Nothing,+ studioUrl = Prelude.Nothing,+ tags = Prelude.Nothing,+ updatedAt = Prelude.Nothing,+ userRoleArn = Prelude.Nothing+ }++-- | The IAM role that studio admins assume when logging in to the Nimble+-- Studio portal.+studio_adminRoleArn :: Lens.Lens' Studio (Prelude.Maybe Prelude.Text)+studio_adminRoleArn = Lens.lens (\Studio' {adminRoleArn} -> adminRoleArn) (\s@Studio' {} a -> s {adminRoleArn = a} :: Studio)++-- | The Amazon Resource Name (ARN) that is assigned to a studio resource and+-- uniquely identifies it. ARNs are unique across all Regions.+studio_arn :: Lens.Lens' Studio (Prelude.Maybe Prelude.Text)+studio_arn = Lens.lens (\Studio' {arn} -> arn) (\s@Studio' {} a -> s {arn = a} :: Studio)++-- | The ISO timestamp in seconds for when the resource was created.+studio_createdAt :: Lens.Lens' Studio (Prelude.Maybe Prelude.UTCTime)+studio_createdAt = Lens.lens (\Studio' {createdAt} -> createdAt) (\s@Studio' {} a -> s {createdAt = a} :: Studio) Prelude.. Lens.mapping Data._Time++-- | A friendly name for the studio.+studio_displayName :: Lens.Lens' Studio (Prelude.Maybe Prelude.Text)+studio_displayName = Lens.lens (\Studio' {displayName} -> displayName) (\s@Studio' {} a -> s {displayName = a} :: Studio) Prelude.. Lens.mapping Data._Sensitive++-- | The Amazon Web Services Region where the studio resource is located.+studio_homeRegion :: Lens.Lens' Studio (Prelude.Maybe Prelude.Text)+studio_homeRegion = Lens.lens (\Studio' {homeRegion} -> homeRegion) (\s@Studio' {} a -> s {homeRegion = a} :: Studio)++-- | The IAM Identity Center application client ID used to integrate with IAM+-- Identity Center. This ID allows IAM Identity Center users to log in to+-- Nimble Studio portal.+studio_ssoClientId :: Lens.Lens' Studio (Prelude.Maybe Prelude.Text)+studio_ssoClientId = Lens.lens (\Studio' {ssoClientId} -> ssoClientId) (\s@Studio' {} a -> s {ssoClientId = a} :: Studio)++-- | The current state of the studio resource.+studio_state :: Lens.Lens' Studio (Prelude.Maybe StudioState)+studio_state = Lens.lens (\Studio' {state} -> state) (\s@Studio' {} a -> s {state = a} :: Studio)++-- | Status codes that provide additional detail on the studio state.+studio_statusCode :: Lens.Lens' Studio (Prelude.Maybe StudioStatusCode)+studio_statusCode = Lens.lens (\Studio' {statusCode} -> statusCode) (\s@Studio' {} a -> s {statusCode = a} :: Studio)++-- | Additional detail on the studio state.+studio_statusMessage :: Lens.Lens' Studio (Prelude.Maybe Prelude.Text)+studio_statusMessage = Lens.lens (\Studio' {statusMessage} -> statusMessage) (\s@Studio' {} a -> s {statusMessage = a} :: Studio)++-- | Configuration of the encryption method that is used for the studio.+studio_studioEncryptionConfiguration :: Lens.Lens' Studio (Prelude.Maybe StudioEncryptionConfiguration)+studio_studioEncryptionConfiguration = Lens.lens (\Studio' {studioEncryptionConfiguration} -> studioEncryptionConfiguration) (\s@Studio' {} a -> s {studioEncryptionConfiguration = a} :: Studio)++-- | The unique identifier for a studio resource. In Nimble Studio, all other+-- resources are contained in a studio resource.+studio_studioId :: Lens.Lens' Studio (Prelude.Maybe Prelude.Text)+studio_studioId = Lens.lens (\Studio' {studioId} -> studioId) (\s@Studio' {} a -> s {studioId = a} :: Studio)++-- | The name of the studio, as included in the URL when accessing it in the+-- Nimble Studio portal.+studio_studioName :: Lens.Lens' Studio (Prelude.Maybe Prelude.Text)+studio_studioName = Lens.lens (\Studio' {studioName} -> studioName) (\s@Studio' {} a -> s {studioName = a} :: Studio)++-- | The address of the web page for the studio.+studio_studioUrl :: Lens.Lens' Studio (Prelude.Maybe Prelude.Text)+studio_studioUrl = Lens.lens (\Studio' {studioUrl} -> studioUrl) (\s@Studio' {} a -> s {studioUrl = a} :: Studio)++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+studio_tags :: Lens.Lens' Studio (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+studio_tags = Lens.lens (\Studio' {tags} -> tags) (\s@Studio' {} a -> s {tags = a} :: Studio) Prelude.. Lens.mapping Lens.coerced++-- | The ISO timestamp in seconds for when the resource was updated.+studio_updatedAt :: Lens.Lens' Studio (Prelude.Maybe Prelude.UTCTime)+studio_updatedAt = Lens.lens (\Studio' {updatedAt} -> updatedAt) (\s@Studio' {} a -> s {updatedAt = a} :: Studio) Prelude.. Lens.mapping Data._Time++-- | The IAM role that studio users assume when logging in to the Nimble+-- Studio portal.+studio_userRoleArn :: Lens.Lens' Studio (Prelude.Maybe Prelude.Text)+studio_userRoleArn = Lens.lens (\Studio' {userRoleArn} -> userRoleArn) (\s@Studio' {} a -> s {userRoleArn = a} :: Studio)++instance Data.FromJSON Studio where+ parseJSON =+ Data.withObject+ "Studio"+ ( \x ->+ Studio'+ Prelude.<$> (x Data..:? "adminRoleArn")+ Prelude.<*> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "displayName")+ Prelude.<*> (x Data..:? "homeRegion")+ Prelude.<*> (x Data..:? "ssoClientId")+ Prelude.<*> (x Data..:? "state")+ Prelude.<*> (x Data..:? "statusCode")+ Prelude.<*> (x Data..:? "statusMessage")+ Prelude.<*> (x Data..:? "studioEncryptionConfiguration")+ Prelude.<*> (x Data..:? "studioId")+ Prelude.<*> (x Data..:? "studioName")+ Prelude.<*> (x Data..:? "studioUrl")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "updatedAt")+ Prelude.<*> (x Data..:? "userRoleArn")+ )++instance Prelude.Hashable Studio where+ hashWithSalt _salt Studio' {..} =+ _salt+ `Prelude.hashWithSalt` adminRoleArn+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` displayName+ `Prelude.hashWithSalt` homeRegion+ `Prelude.hashWithSalt` ssoClientId+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` statusCode+ `Prelude.hashWithSalt` statusMessage+ `Prelude.hashWithSalt` studioEncryptionConfiguration+ `Prelude.hashWithSalt` studioId+ `Prelude.hashWithSalt` studioName+ `Prelude.hashWithSalt` studioUrl+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` updatedAt+ `Prelude.hashWithSalt` userRoleArn++instance Prelude.NFData Studio where+ rnf Studio' {..} =+ Prelude.rnf adminRoleArn+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf displayName+ `Prelude.seq` Prelude.rnf homeRegion+ `Prelude.seq` Prelude.rnf ssoClientId+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf statusCode+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf studioEncryptionConfiguration+ `Prelude.seq` Prelude.rnf studioId+ `Prelude.seq` Prelude.rnf studioName+ `Prelude.seq` Prelude.rnf studioUrl+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf updatedAt+ `Prelude.seq` Prelude.rnf userRoleArn
+ gen/Amazonka/Nimble/Types/StudioComponent.hs view
@@ -0,0 +1,346 @@+{-# 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.Nimble.Types.StudioComponent+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioComponent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.ScriptParameterKeyValue+import Amazonka.Nimble.Types.StudioComponentConfiguration+import Amazonka.Nimble.Types.StudioComponentInitializationScript+import Amazonka.Nimble.Types.StudioComponentState+import Amazonka.Nimble.Types.StudioComponentStatusCode+import Amazonka.Nimble.Types.StudioComponentSubtype+import Amazonka.Nimble.Types.StudioComponentType+import qualified Amazonka.Prelude as Prelude++-- | A studio component represents a network resource to be used by a+-- studio\'s users and workflows. A typical studio contains studio+-- components for each of the following: render farm, Active Directory,+-- licensing, and file system.+--+-- Access to a studio component is managed by specifying security groups+-- for the resource, as well as its endpoint.+--+-- A studio component also has a set of initialization scripts that are+-- returned by @GetLaunchProfileInitialization@. These initialization+-- scripts run on streaming sessions when they start. They provide users+-- with flexibility in controlling how the studio resources are configured+-- on a streaming session.+--+-- /See:/ 'newStudioComponent' smart constructor.+data StudioComponent = StudioComponent'+ { -- | The Amazon Resource Name (ARN) that is assigned to a studio resource and+ -- uniquely identifies it. ARNs are unique across all Regions.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The configuration of the studio component, based on component type.+ configuration :: Prelude.Maybe StudioComponentConfiguration,+ -- | The ISO timestamp in seconds for when the resource was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The user ID of the user that created the studio component.+ createdBy :: Prelude.Maybe Prelude.Text,+ -- | A human-readable description for the studio component resource.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The EC2 security groups that control access to the studio component.+ ec2SecurityGroupIds :: Prelude.Maybe [Prelude.Text],+ -- | Initialization scripts for studio components.+ initializationScripts :: Prelude.Maybe [StudioComponentInitializationScript],+ -- | A friendly name for the studio component resource.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | An IAM role attached to a Studio Component that gives the studio+ -- component access to Amazon Web Services resources at anytime while the+ -- instance is running.+ runtimeRoleArn :: Prelude.Maybe Prelude.Text,+ -- | Parameters for the studio component scripts.+ scriptParameters :: Prelude.Maybe (Data.Sensitive [ScriptParameterKeyValue]),+ -- | An IAM role attached to Studio Component when the system initialization+ -- script runs which give the studio component access to Amazon Web+ -- Services resources when the system initialization script runs.+ secureInitializationRoleArn :: Prelude.Maybe Prelude.Text,+ -- | The current state.+ state :: Prelude.Maybe StudioComponentState,+ -- | The status code.+ statusCode :: Prelude.Maybe StudioComponentStatusCode,+ -- | The status message for the studio component.+ statusMessage :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for a studio component resource.+ studioComponentId :: Prelude.Maybe Prelude.Text,+ -- | The specific subtype of a studio component.+ subtype :: Prelude.Maybe StudioComponentSubtype,+ -- | A collection of labels, in the form of key-value pairs, that apply to+ -- this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The type of the studio component.+ type' :: Prelude.Maybe StudioComponentType,+ -- | The ISO timestamp in seconds for when the resource was updated.+ updatedAt :: Prelude.Maybe Data.ISO8601,+ -- | The user ID of the user that most recently updated the resource.+ updatedBy :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StudioComponent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'studioComponent_arn' - The Amazon Resource Name (ARN) that is assigned to a studio resource and+-- uniquely identifies it. ARNs are unique across all Regions.+--+-- 'configuration', 'studioComponent_configuration' - The configuration of the studio component, based on component type.+--+-- 'createdAt', 'studioComponent_createdAt' - The ISO timestamp in seconds for when the resource was created.+--+-- 'createdBy', 'studioComponent_createdBy' - The user ID of the user that created the studio component.+--+-- 'description', 'studioComponent_description' - A human-readable description for the studio component resource.+--+-- 'ec2SecurityGroupIds', 'studioComponent_ec2SecurityGroupIds' - The EC2 security groups that control access to the studio component.+--+-- 'initializationScripts', 'studioComponent_initializationScripts' - Initialization scripts for studio components.+--+-- 'name', 'studioComponent_name' - A friendly name for the studio component resource.+--+-- 'runtimeRoleArn', 'studioComponent_runtimeRoleArn' - An IAM role attached to a Studio Component that gives the studio+-- component access to Amazon Web Services resources at anytime while the+-- instance is running.+--+-- 'scriptParameters', 'studioComponent_scriptParameters' - Parameters for the studio component scripts.+--+-- 'secureInitializationRoleArn', 'studioComponent_secureInitializationRoleArn' - An IAM role attached to Studio Component when the system initialization+-- script runs which give the studio component access to Amazon Web+-- Services resources when the system initialization script runs.+--+-- 'state', 'studioComponent_state' - The current state.+--+-- 'statusCode', 'studioComponent_statusCode' - The status code.+--+-- 'statusMessage', 'studioComponent_statusMessage' - The status message for the studio component.+--+-- 'studioComponentId', 'studioComponent_studioComponentId' - The unique identifier for a studio component resource.+--+-- 'subtype', 'studioComponent_subtype' - The specific subtype of a studio component.+--+-- 'tags', 'studioComponent_tags' - A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+--+-- 'type'', 'studioComponent_type' - The type of the studio component.+--+-- 'updatedAt', 'studioComponent_updatedAt' - The ISO timestamp in seconds for when the resource was updated.+--+-- 'updatedBy', 'studioComponent_updatedBy' - The user ID of the user that most recently updated the resource.+newStudioComponent ::+ StudioComponent+newStudioComponent =+ StudioComponent'+ { arn = Prelude.Nothing,+ configuration = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ createdBy = Prelude.Nothing,+ description = Prelude.Nothing,+ ec2SecurityGroupIds = Prelude.Nothing,+ initializationScripts = Prelude.Nothing,+ name = Prelude.Nothing,+ runtimeRoleArn = Prelude.Nothing,+ scriptParameters = Prelude.Nothing,+ secureInitializationRoleArn = Prelude.Nothing,+ state = Prelude.Nothing,+ statusCode = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ studioComponentId = Prelude.Nothing,+ subtype = Prelude.Nothing,+ tags = Prelude.Nothing,+ type' = Prelude.Nothing,+ updatedAt = Prelude.Nothing,+ updatedBy = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) that is assigned to a studio resource and+-- uniquely identifies it. ARNs are unique across all Regions.+studioComponent_arn :: Lens.Lens' StudioComponent (Prelude.Maybe Prelude.Text)+studioComponent_arn = Lens.lens (\StudioComponent' {arn} -> arn) (\s@StudioComponent' {} a -> s {arn = a} :: StudioComponent)++-- | The configuration of the studio component, based on component type.+studioComponent_configuration :: Lens.Lens' StudioComponent (Prelude.Maybe StudioComponentConfiguration)+studioComponent_configuration = Lens.lens (\StudioComponent' {configuration} -> configuration) (\s@StudioComponent' {} a -> s {configuration = a} :: StudioComponent)++-- | The ISO timestamp in seconds for when the resource was created.+studioComponent_createdAt :: Lens.Lens' StudioComponent (Prelude.Maybe Prelude.UTCTime)+studioComponent_createdAt = Lens.lens (\StudioComponent' {createdAt} -> createdAt) (\s@StudioComponent' {} a -> s {createdAt = a} :: StudioComponent) Prelude.. Lens.mapping Data._Time++-- | The user ID of the user that created the studio component.+studioComponent_createdBy :: Lens.Lens' StudioComponent (Prelude.Maybe Prelude.Text)+studioComponent_createdBy = Lens.lens (\StudioComponent' {createdBy} -> createdBy) (\s@StudioComponent' {} a -> s {createdBy = a} :: StudioComponent)++-- | A human-readable description for the studio component resource.+studioComponent_description :: Lens.Lens' StudioComponent (Prelude.Maybe Prelude.Text)+studioComponent_description = Lens.lens (\StudioComponent' {description} -> description) (\s@StudioComponent' {} a -> s {description = a} :: StudioComponent) Prelude.. Lens.mapping Data._Sensitive++-- | The EC2 security groups that control access to the studio component.+studioComponent_ec2SecurityGroupIds :: Lens.Lens' StudioComponent (Prelude.Maybe [Prelude.Text])+studioComponent_ec2SecurityGroupIds = Lens.lens (\StudioComponent' {ec2SecurityGroupIds} -> ec2SecurityGroupIds) (\s@StudioComponent' {} a -> s {ec2SecurityGroupIds = a} :: StudioComponent) Prelude.. Lens.mapping Lens.coerced++-- | Initialization scripts for studio components.+studioComponent_initializationScripts :: Lens.Lens' StudioComponent (Prelude.Maybe [StudioComponentInitializationScript])+studioComponent_initializationScripts = Lens.lens (\StudioComponent' {initializationScripts} -> initializationScripts) (\s@StudioComponent' {} a -> s {initializationScripts = a} :: StudioComponent) Prelude.. Lens.mapping Lens.coerced++-- | A friendly name for the studio component resource.+studioComponent_name :: Lens.Lens' StudioComponent (Prelude.Maybe Prelude.Text)+studioComponent_name = Lens.lens (\StudioComponent' {name} -> name) (\s@StudioComponent' {} a -> s {name = a} :: StudioComponent) Prelude.. Lens.mapping Data._Sensitive++-- | An IAM role attached to a Studio Component that gives the studio+-- component access to Amazon Web Services resources at anytime while the+-- instance is running.+studioComponent_runtimeRoleArn :: Lens.Lens' StudioComponent (Prelude.Maybe Prelude.Text)+studioComponent_runtimeRoleArn = Lens.lens (\StudioComponent' {runtimeRoleArn} -> runtimeRoleArn) (\s@StudioComponent' {} a -> s {runtimeRoleArn = a} :: StudioComponent)++-- | Parameters for the studio component scripts.+studioComponent_scriptParameters :: Lens.Lens' StudioComponent (Prelude.Maybe [ScriptParameterKeyValue])+studioComponent_scriptParameters = Lens.lens (\StudioComponent' {scriptParameters} -> scriptParameters) (\s@StudioComponent' {} a -> s {scriptParameters = a} :: StudioComponent) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | An IAM role attached to Studio Component when the system initialization+-- script runs which give the studio component access to Amazon Web+-- Services resources when the system initialization script runs.+studioComponent_secureInitializationRoleArn :: Lens.Lens' StudioComponent (Prelude.Maybe Prelude.Text)+studioComponent_secureInitializationRoleArn = Lens.lens (\StudioComponent' {secureInitializationRoleArn} -> secureInitializationRoleArn) (\s@StudioComponent' {} a -> s {secureInitializationRoleArn = a} :: StudioComponent)++-- | The current state.+studioComponent_state :: Lens.Lens' StudioComponent (Prelude.Maybe StudioComponentState)+studioComponent_state = Lens.lens (\StudioComponent' {state} -> state) (\s@StudioComponent' {} a -> s {state = a} :: StudioComponent)++-- | The status code.+studioComponent_statusCode :: Lens.Lens' StudioComponent (Prelude.Maybe StudioComponentStatusCode)+studioComponent_statusCode = Lens.lens (\StudioComponent' {statusCode} -> statusCode) (\s@StudioComponent' {} a -> s {statusCode = a} :: StudioComponent)++-- | The status message for the studio component.+studioComponent_statusMessage :: Lens.Lens' StudioComponent (Prelude.Maybe Prelude.Text)+studioComponent_statusMessage = Lens.lens (\StudioComponent' {statusMessage} -> statusMessage) (\s@StudioComponent' {} a -> s {statusMessage = a} :: StudioComponent)++-- | The unique identifier for a studio component resource.+studioComponent_studioComponentId :: Lens.Lens' StudioComponent (Prelude.Maybe Prelude.Text)+studioComponent_studioComponentId = Lens.lens (\StudioComponent' {studioComponentId} -> studioComponentId) (\s@StudioComponent' {} a -> s {studioComponentId = a} :: StudioComponent)++-- | The specific subtype of a studio component.+studioComponent_subtype :: Lens.Lens' StudioComponent (Prelude.Maybe StudioComponentSubtype)+studioComponent_subtype = Lens.lens (\StudioComponent' {subtype} -> subtype) (\s@StudioComponent' {} a -> s {subtype = a} :: StudioComponent)++-- | A collection of labels, in the form of key-value pairs, that apply to+-- this resource.+studioComponent_tags :: Lens.Lens' StudioComponent (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+studioComponent_tags = Lens.lens (\StudioComponent' {tags} -> tags) (\s@StudioComponent' {} a -> s {tags = a} :: StudioComponent) Prelude.. Lens.mapping Lens.coerced++-- | The type of the studio component.+studioComponent_type :: Lens.Lens' StudioComponent (Prelude.Maybe StudioComponentType)+studioComponent_type = Lens.lens (\StudioComponent' {type'} -> type') (\s@StudioComponent' {} a -> s {type' = a} :: StudioComponent)++-- | The ISO timestamp in seconds for when the resource was updated.+studioComponent_updatedAt :: Lens.Lens' StudioComponent (Prelude.Maybe Prelude.UTCTime)+studioComponent_updatedAt = Lens.lens (\StudioComponent' {updatedAt} -> updatedAt) (\s@StudioComponent' {} a -> s {updatedAt = a} :: StudioComponent) Prelude.. Lens.mapping Data._Time++-- | The user ID of the user that most recently updated the resource.+studioComponent_updatedBy :: Lens.Lens' StudioComponent (Prelude.Maybe Prelude.Text)+studioComponent_updatedBy = Lens.lens (\StudioComponent' {updatedBy} -> updatedBy) (\s@StudioComponent' {} a -> s {updatedBy = a} :: StudioComponent)++instance Data.FromJSON StudioComponent where+ parseJSON =+ Data.withObject+ "StudioComponent"+ ( \x ->+ StudioComponent'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "configuration")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "createdBy")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> ( x+ Data..:? "ec2SecurityGroupIds"+ Data..!= Prelude.mempty+ )+ Prelude.<*> ( x+ Data..:? "initializationScripts"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "runtimeRoleArn")+ Prelude.<*> ( x+ Data..:? "scriptParameters"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "secureInitializationRoleArn")+ Prelude.<*> (x Data..:? "state")+ Prelude.<*> (x Data..:? "statusCode")+ Prelude.<*> (x Data..:? "statusMessage")+ Prelude.<*> (x Data..:? "studioComponentId")+ Prelude.<*> (x Data..:? "subtype")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "type")+ Prelude.<*> (x Data..:? "updatedAt")+ Prelude.<*> (x Data..:? "updatedBy")+ )++instance Prelude.Hashable StudioComponent where+ hashWithSalt _salt StudioComponent' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` configuration+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` ec2SecurityGroupIds+ `Prelude.hashWithSalt` initializationScripts+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` runtimeRoleArn+ `Prelude.hashWithSalt` scriptParameters+ `Prelude.hashWithSalt` secureInitializationRoleArn+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` statusCode+ `Prelude.hashWithSalt` statusMessage+ `Prelude.hashWithSalt` studioComponentId+ `Prelude.hashWithSalt` subtype+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` updatedAt+ `Prelude.hashWithSalt` updatedBy++instance Prelude.NFData StudioComponent where+ rnf StudioComponent' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf configuration+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf ec2SecurityGroupIds+ `Prelude.seq` Prelude.rnf initializationScripts+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf runtimeRoleArn+ `Prelude.seq` Prelude.rnf scriptParameters+ `Prelude.seq` Prelude.rnf secureInitializationRoleArn+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf statusCode+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf studioComponentId+ `Prelude.seq` Prelude.rnf subtype+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf updatedAt+ `Prelude.seq` Prelude.rnf updatedBy
+ gen/Amazonka/Nimble/Types/StudioComponentConfiguration.hs view
@@ -0,0 +1,144 @@+{-# 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.Nimble.Types.StudioComponentConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioComponentConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.ActiveDirectoryConfiguration+import Amazonka.Nimble.Types.ComputeFarmConfiguration+import Amazonka.Nimble.Types.LicenseServiceConfiguration+import Amazonka.Nimble.Types.SharedFileSystemConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The configuration of the studio component, based on component type.+--+-- /See:/ 'newStudioComponentConfiguration' smart constructor.+data StudioComponentConfiguration = StudioComponentConfiguration'+ { -- | The configuration for a Directory Service for Microsoft Active Directory+ -- studio resource.+ activeDirectoryConfiguration :: Prelude.Maybe ActiveDirectoryConfiguration,+ -- | The configuration for a render farm that is associated with a studio+ -- resource.+ computeFarmConfiguration :: Prelude.Maybe ComputeFarmConfiguration,+ -- | The configuration for a license service that is associated with a studio+ -- resource.+ licenseServiceConfiguration :: Prelude.Maybe LicenseServiceConfiguration,+ -- | The configuration for a shared file storage system that is associated+ -- with a studio resource.+ sharedFileSystemConfiguration :: Prelude.Maybe SharedFileSystemConfiguration+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StudioComponentConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeDirectoryConfiguration', 'studioComponentConfiguration_activeDirectoryConfiguration' - The configuration for a Directory Service for Microsoft Active Directory+-- studio resource.+--+-- 'computeFarmConfiguration', 'studioComponentConfiguration_computeFarmConfiguration' - The configuration for a render farm that is associated with a studio+-- resource.+--+-- 'licenseServiceConfiguration', 'studioComponentConfiguration_licenseServiceConfiguration' - The configuration for a license service that is associated with a studio+-- resource.+--+-- 'sharedFileSystemConfiguration', 'studioComponentConfiguration_sharedFileSystemConfiguration' - The configuration for a shared file storage system that is associated+-- with a studio resource.+newStudioComponentConfiguration ::+ StudioComponentConfiguration+newStudioComponentConfiguration =+ StudioComponentConfiguration'+ { activeDirectoryConfiguration =+ Prelude.Nothing,+ computeFarmConfiguration = Prelude.Nothing,+ licenseServiceConfiguration = Prelude.Nothing,+ sharedFileSystemConfiguration =+ Prelude.Nothing+ }++-- | The configuration for a Directory Service for Microsoft Active Directory+-- studio resource.+studioComponentConfiguration_activeDirectoryConfiguration :: Lens.Lens' StudioComponentConfiguration (Prelude.Maybe ActiveDirectoryConfiguration)+studioComponentConfiguration_activeDirectoryConfiguration = Lens.lens (\StudioComponentConfiguration' {activeDirectoryConfiguration} -> activeDirectoryConfiguration) (\s@StudioComponentConfiguration' {} a -> s {activeDirectoryConfiguration = a} :: StudioComponentConfiguration)++-- | The configuration for a render farm that is associated with a studio+-- resource.+studioComponentConfiguration_computeFarmConfiguration :: Lens.Lens' StudioComponentConfiguration (Prelude.Maybe ComputeFarmConfiguration)+studioComponentConfiguration_computeFarmConfiguration = Lens.lens (\StudioComponentConfiguration' {computeFarmConfiguration} -> computeFarmConfiguration) (\s@StudioComponentConfiguration' {} a -> s {computeFarmConfiguration = a} :: StudioComponentConfiguration)++-- | The configuration for a license service that is associated with a studio+-- resource.+studioComponentConfiguration_licenseServiceConfiguration :: Lens.Lens' StudioComponentConfiguration (Prelude.Maybe LicenseServiceConfiguration)+studioComponentConfiguration_licenseServiceConfiguration = Lens.lens (\StudioComponentConfiguration' {licenseServiceConfiguration} -> licenseServiceConfiguration) (\s@StudioComponentConfiguration' {} a -> s {licenseServiceConfiguration = a} :: StudioComponentConfiguration)++-- | The configuration for a shared file storage system that is associated+-- with a studio resource.+studioComponentConfiguration_sharedFileSystemConfiguration :: Lens.Lens' StudioComponentConfiguration (Prelude.Maybe SharedFileSystemConfiguration)+studioComponentConfiguration_sharedFileSystemConfiguration = Lens.lens (\StudioComponentConfiguration' {sharedFileSystemConfiguration} -> sharedFileSystemConfiguration) (\s@StudioComponentConfiguration' {} a -> s {sharedFileSystemConfiguration = a} :: StudioComponentConfiguration)++instance Data.FromJSON StudioComponentConfiguration where+ parseJSON =+ Data.withObject+ "StudioComponentConfiguration"+ ( \x ->+ StudioComponentConfiguration'+ Prelude.<$> (x Data..:? "activeDirectoryConfiguration")+ Prelude.<*> (x Data..:? "computeFarmConfiguration")+ Prelude.<*> (x Data..:? "licenseServiceConfiguration")+ Prelude.<*> (x Data..:? "sharedFileSystemConfiguration")+ )++instance+ Prelude.Hashable+ StudioComponentConfiguration+ where+ hashWithSalt _salt StudioComponentConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` activeDirectoryConfiguration+ `Prelude.hashWithSalt` computeFarmConfiguration+ `Prelude.hashWithSalt` licenseServiceConfiguration+ `Prelude.hashWithSalt` sharedFileSystemConfiguration++instance Prelude.NFData StudioComponentConfiguration where+ rnf StudioComponentConfiguration' {..} =+ Prelude.rnf activeDirectoryConfiguration+ `Prelude.seq` Prelude.rnf computeFarmConfiguration+ `Prelude.seq` Prelude.rnf licenseServiceConfiguration+ `Prelude.seq` Prelude.rnf sharedFileSystemConfiguration++instance Data.ToJSON StudioComponentConfiguration where+ toJSON StudioComponentConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("activeDirectoryConfiguration" Data..=)+ Prelude.<$> activeDirectoryConfiguration,+ ("computeFarmConfiguration" Data..=)+ Prelude.<$> computeFarmConfiguration,+ ("licenseServiceConfiguration" Data..=)+ Prelude.<$> licenseServiceConfiguration,+ ("sharedFileSystemConfiguration" Data..=)+ Prelude.<$> sharedFileSystemConfiguration+ ]+ )
+ gen/Amazonka/Nimble/Types/StudioComponentInitializationScript.hs view
@@ -0,0 +1,140 @@+{-# 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.Nimble.Types.StudioComponentInitializationScript+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioComponentInitializationScript where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.LaunchProfilePlatform+import Amazonka.Nimble.Types.StudioComponentInitializationScriptRunContext+import qualified Amazonka.Prelude as Prelude++-- | Initialization scripts for studio components.+--+-- /See:/ 'newStudioComponentInitializationScript' smart constructor.+data StudioComponentInitializationScript = StudioComponentInitializationScript'+ { -- | The version number of the protocol that is used by the launch profile.+ -- The only valid version is \"2021-03-31\".+ launchProfileProtocolVersion :: Prelude.Maybe Prelude.Text,+ -- | The platform of the initialization script, either Windows or Linux.+ platform :: Prelude.Maybe LaunchProfilePlatform,+ -- | The method to use when running the initialization script.+ runContext :: Prelude.Maybe StudioComponentInitializationScriptRunContext,+ -- | The initialization script.+ script :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StudioComponentInitializationScript' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchProfileProtocolVersion', 'studioComponentInitializationScript_launchProfileProtocolVersion' - The version number of the protocol that is used by the launch profile.+-- The only valid version is \"2021-03-31\".+--+-- 'platform', 'studioComponentInitializationScript_platform' - The platform of the initialization script, either Windows or Linux.+--+-- 'runContext', 'studioComponentInitializationScript_runContext' - The method to use when running the initialization script.+--+-- 'script', 'studioComponentInitializationScript_script' - The initialization script.+newStudioComponentInitializationScript ::+ StudioComponentInitializationScript+newStudioComponentInitializationScript =+ StudioComponentInitializationScript'+ { launchProfileProtocolVersion =+ Prelude.Nothing,+ platform = Prelude.Nothing,+ runContext = Prelude.Nothing,+ script = Prelude.Nothing+ }++-- | The version number of the protocol that is used by the launch profile.+-- The only valid version is \"2021-03-31\".+studioComponentInitializationScript_launchProfileProtocolVersion :: Lens.Lens' StudioComponentInitializationScript (Prelude.Maybe Prelude.Text)+studioComponentInitializationScript_launchProfileProtocolVersion = Lens.lens (\StudioComponentInitializationScript' {launchProfileProtocolVersion} -> launchProfileProtocolVersion) (\s@StudioComponentInitializationScript' {} a -> s {launchProfileProtocolVersion = a} :: StudioComponentInitializationScript)++-- | The platform of the initialization script, either Windows or Linux.+studioComponentInitializationScript_platform :: Lens.Lens' StudioComponentInitializationScript (Prelude.Maybe LaunchProfilePlatform)+studioComponentInitializationScript_platform = Lens.lens (\StudioComponentInitializationScript' {platform} -> platform) (\s@StudioComponentInitializationScript' {} a -> s {platform = a} :: StudioComponentInitializationScript)++-- | The method to use when running the initialization script.+studioComponentInitializationScript_runContext :: Lens.Lens' StudioComponentInitializationScript (Prelude.Maybe StudioComponentInitializationScriptRunContext)+studioComponentInitializationScript_runContext = Lens.lens (\StudioComponentInitializationScript' {runContext} -> runContext) (\s@StudioComponentInitializationScript' {} a -> s {runContext = a} :: StudioComponentInitializationScript)++-- | The initialization script.+studioComponentInitializationScript_script :: Lens.Lens' StudioComponentInitializationScript (Prelude.Maybe Prelude.Text)+studioComponentInitializationScript_script = Lens.lens (\StudioComponentInitializationScript' {script} -> script) (\s@StudioComponentInitializationScript' {} a -> s {script = a} :: StudioComponentInitializationScript) Prelude.. Lens.mapping Data._Sensitive++instance+ Data.FromJSON+ StudioComponentInitializationScript+ where+ parseJSON =+ Data.withObject+ "StudioComponentInitializationScript"+ ( \x ->+ StudioComponentInitializationScript'+ Prelude.<$> (x Data..:? "launchProfileProtocolVersion")+ Prelude.<*> (x Data..:? "platform")+ Prelude.<*> (x Data..:? "runContext")+ Prelude.<*> (x Data..:? "script")+ )++instance+ Prelude.Hashable+ StudioComponentInitializationScript+ where+ hashWithSalt+ _salt+ StudioComponentInitializationScript' {..} =+ _salt+ `Prelude.hashWithSalt` launchProfileProtocolVersion+ `Prelude.hashWithSalt` platform+ `Prelude.hashWithSalt` runContext+ `Prelude.hashWithSalt` script++instance+ Prelude.NFData+ StudioComponentInitializationScript+ where+ rnf StudioComponentInitializationScript' {..} =+ Prelude.rnf launchProfileProtocolVersion+ `Prelude.seq` Prelude.rnf platform+ `Prelude.seq` Prelude.rnf runContext+ `Prelude.seq` Prelude.rnf script++instance+ Data.ToJSON+ StudioComponentInitializationScript+ where+ toJSON StudioComponentInitializationScript' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("launchProfileProtocolVersion" Data..=)+ Prelude.<$> launchProfileProtocolVersion,+ ("platform" Data..=) Prelude.<$> platform,+ ("runContext" Data..=) Prelude.<$> runContext,+ ("script" Data..=) Prelude.<$> script+ ]+ )
+ gen/Amazonka/Nimble/Types/StudioComponentInitializationScriptRunContext.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.Nimble.Types.StudioComponentInitializationScriptRunContext+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioComponentInitializationScriptRunContext+ ( StudioComponentInitializationScriptRunContext+ ( ..,+ StudioComponentInitializationScriptRunContext_SYSTEM_INITIALIZATION,+ StudioComponentInitializationScriptRunContext_USER_INITIALIZATION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StudioComponentInitializationScriptRunContext = StudioComponentInitializationScriptRunContext'+ { fromStudioComponentInitializationScriptRunContext ::+ 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 StudioComponentInitializationScriptRunContext_SYSTEM_INITIALIZATION :: StudioComponentInitializationScriptRunContext+pattern StudioComponentInitializationScriptRunContext_SYSTEM_INITIALIZATION = StudioComponentInitializationScriptRunContext' "SYSTEM_INITIALIZATION"++pattern StudioComponentInitializationScriptRunContext_USER_INITIALIZATION :: StudioComponentInitializationScriptRunContext+pattern StudioComponentInitializationScriptRunContext_USER_INITIALIZATION = StudioComponentInitializationScriptRunContext' "USER_INITIALIZATION"++{-# COMPLETE+ StudioComponentInitializationScriptRunContext_SYSTEM_INITIALIZATION,+ StudioComponentInitializationScriptRunContext_USER_INITIALIZATION,+ StudioComponentInitializationScriptRunContext'+ #-}
+ gen/Amazonka/Nimble/Types/StudioComponentState.hs view
@@ -0,0 +1,131 @@+{-# 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.Nimble.Types.StudioComponentState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioComponentState+ ( StudioComponentState+ ( ..,+ StudioComponentState_CREATE_FAILED,+ StudioComponentState_CREATE_IN_PROGRESS,+ StudioComponentState_DELETED,+ StudioComponentState_DELETE_FAILED,+ StudioComponentState_DELETE_IN_PROGRESS,+ StudioComponentState_READY,+ StudioComponentState_UPDATE_FAILED,+ StudioComponentState_UPDATE_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The current state of the studio component resource.+--+-- While a studio component is being created, modified, or deleted, its+-- state will be @CREATE_IN_PROGRESS@, @UPDATE_IN_PROGRESS@, or+-- @DELETE_IN_PROGRESS@.+--+-- These are called /transition states/.+--+-- No modifications may be made to the studio component while it is in a+-- transition state.+--+-- If creation of the resource fails, the state will change to+-- @CREATE_FAILED@. The resource @StatusCode@ and @StatusMessage@ will+-- provide more information of why creation failed. The resource in this+-- state will automatically be deleted from your account after a period of+-- time.+--+-- If updating the resource fails, the state will change to+-- @UPDATE_FAILED@. The resource @StatusCode@ and @StatusMessage@ will+-- provide more information of why the update failed. The resource will be+-- returned to the state it was in when the update request was invoked.+--+-- If deleting the resource fails, the state will change to+-- @DELETE_FAILED@. The resource @StatusCode@ and @StatusMessage@ will+-- provide more information of why the update failed. The resource will be+-- returned to the state it was in when the update request was invoked.+-- After the resource is deleted successfully, it will change to the+-- @DELETED@ state. The resource will no longer count against service+-- quotas and cannot be used or acted upon any futher. It will be removed+-- from your account after a period of time.+newtype StudioComponentState = StudioComponentState'+ { fromStudioComponentState ::+ 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 StudioComponentState_CREATE_FAILED :: StudioComponentState+pattern StudioComponentState_CREATE_FAILED = StudioComponentState' "CREATE_FAILED"++pattern StudioComponentState_CREATE_IN_PROGRESS :: StudioComponentState+pattern StudioComponentState_CREATE_IN_PROGRESS = StudioComponentState' "CREATE_IN_PROGRESS"++pattern StudioComponentState_DELETED :: StudioComponentState+pattern StudioComponentState_DELETED = StudioComponentState' "DELETED"++pattern StudioComponentState_DELETE_FAILED :: StudioComponentState+pattern StudioComponentState_DELETE_FAILED = StudioComponentState' "DELETE_FAILED"++pattern StudioComponentState_DELETE_IN_PROGRESS :: StudioComponentState+pattern StudioComponentState_DELETE_IN_PROGRESS = StudioComponentState' "DELETE_IN_PROGRESS"++pattern StudioComponentState_READY :: StudioComponentState+pattern StudioComponentState_READY = StudioComponentState' "READY"++pattern StudioComponentState_UPDATE_FAILED :: StudioComponentState+pattern StudioComponentState_UPDATE_FAILED = StudioComponentState' "UPDATE_FAILED"++pattern StudioComponentState_UPDATE_IN_PROGRESS :: StudioComponentState+pattern StudioComponentState_UPDATE_IN_PROGRESS = StudioComponentState' "UPDATE_IN_PROGRESS"++{-# COMPLETE+ StudioComponentState_CREATE_FAILED,+ StudioComponentState_CREATE_IN_PROGRESS,+ StudioComponentState_DELETED,+ StudioComponentState_DELETE_FAILED,+ StudioComponentState_DELETE_IN_PROGRESS,+ StudioComponentState_READY,+ StudioComponentState_UPDATE_FAILED,+ StudioComponentState_UPDATE_IN_PROGRESS,+ StudioComponentState'+ #-}
+ gen/Amazonka/Nimble/Types/StudioComponentStatusCode.hs view
@@ -0,0 +1,119 @@+{-# 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.Nimble.Types.StudioComponentStatusCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioComponentStatusCode+ ( StudioComponentStatusCode+ ( ..,+ StudioComponentStatusCode_ACTIVE_DIRECTORY_ALREADY_EXISTS,+ StudioComponentStatusCode_ENCRYPTION_KEY_ACCESS_DENIED,+ StudioComponentStatusCode_ENCRYPTION_KEY_NOT_FOUND,+ StudioComponentStatusCode_INTERNAL_ERROR,+ StudioComponentStatusCode_STUDIO_COMPONENT_CREATED,+ StudioComponentStatusCode_STUDIO_COMPONENT_CREATE_IN_PROGRESS,+ StudioComponentStatusCode_STUDIO_COMPONENT_DELETED,+ StudioComponentStatusCode_STUDIO_COMPONENT_DELETE_IN_PROGRESS,+ StudioComponentStatusCode_STUDIO_COMPONENT_UPDATED,+ StudioComponentStatusCode_STUDIO_COMPONENT_UPDATE_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The current status of the studio component resource.+--+-- When the resource is in the @READY@ state, the status code signals what+-- the last mutation made to the resource was.+--+-- When the resource is in a @CREATE_FAILED@, @UPDATE_FAILED@, or+-- @DELETE_FAILED@ state, the status code signals what went wrong and why+-- the mutation failed.+newtype StudioComponentStatusCode = StudioComponentStatusCode'+ { fromStudioComponentStatusCode ::+ 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 StudioComponentStatusCode_ACTIVE_DIRECTORY_ALREADY_EXISTS :: StudioComponentStatusCode+pattern StudioComponentStatusCode_ACTIVE_DIRECTORY_ALREADY_EXISTS = StudioComponentStatusCode' "ACTIVE_DIRECTORY_ALREADY_EXISTS"++pattern StudioComponentStatusCode_ENCRYPTION_KEY_ACCESS_DENIED :: StudioComponentStatusCode+pattern StudioComponentStatusCode_ENCRYPTION_KEY_ACCESS_DENIED = StudioComponentStatusCode' "ENCRYPTION_KEY_ACCESS_DENIED"++pattern StudioComponentStatusCode_ENCRYPTION_KEY_NOT_FOUND :: StudioComponentStatusCode+pattern StudioComponentStatusCode_ENCRYPTION_KEY_NOT_FOUND = StudioComponentStatusCode' "ENCRYPTION_KEY_NOT_FOUND"++pattern StudioComponentStatusCode_INTERNAL_ERROR :: StudioComponentStatusCode+pattern StudioComponentStatusCode_INTERNAL_ERROR = StudioComponentStatusCode' "INTERNAL_ERROR"++pattern StudioComponentStatusCode_STUDIO_COMPONENT_CREATED :: StudioComponentStatusCode+pattern StudioComponentStatusCode_STUDIO_COMPONENT_CREATED = StudioComponentStatusCode' "STUDIO_COMPONENT_CREATED"++pattern StudioComponentStatusCode_STUDIO_COMPONENT_CREATE_IN_PROGRESS :: StudioComponentStatusCode+pattern StudioComponentStatusCode_STUDIO_COMPONENT_CREATE_IN_PROGRESS = StudioComponentStatusCode' "STUDIO_COMPONENT_CREATE_IN_PROGRESS"++pattern StudioComponentStatusCode_STUDIO_COMPONENT_DELETED :: StudioComponentStatusCode+pattern StudioComponentStatusCode_STUDIO_COMPONENT_DELETED = StudioComponentStatusCode' "STUDIO_COMPONENT_DELETED"++pattern StudioComponentStatusCode_STUDIO_COMPONENT_DELETE_IN_PROGRESS :: StudioComponentStatusCode+pattern StudioComponentStatusCode_STUDIO_COMPONENT_DELETE_IN_PROGRESS = StudioComponentStatusCode' "STUDIO_COMPONENT_DELETE_IN_PROGRESS"++pattern StudioComponentStatusCode_STUDIO_COMPONENT_UPDATED :: StudioComponentStatusCode+pattern StudioComponentStatusCode_STUDIO_COMPONENT_UPDATED = StudioComponentStatusCode' "STUDIO_COMPONENT_UPDATED"++pattern StudioComponentStatusCode_STUDIO_COMPONENT_UPDATE_IN_PROGRESS :: StudioComponentStatusCode+pattern StudioComponentStatusCode_STUDIO_COMPONENT_UPDATE_IN_PROGRESS = StudioComponentStatusCode' "STUDIO_COMPONENT_UPDATE_IN_PROGRESS"++{-# COMPLETE+ StudioComponentStatusCode_ACTIVE_DIRECTORY_ALREADY_EXISTS,+ StudioComponentStatusCode_ENCRYPTION_KEY_ACCESS_DENIED,+ StudioComponentStatusCode_ENCRYPTION_KEY_NOT_FOUND,+ StudioComponentStatusCode_INTERNAL_ERROR,+ StudioComponentStatusCode_STUDIO_COMPONENT_CREATED,+ StudioComponentStatusCode_STUDIO_COMPONENT_CREATE_IN_PROGRESS,+ StudioComponentStatusCode_STUDIO_COMPONENT_DELETED,+ StudioComponentStatusCode_STUDIO_COMPONENT_DELETE_IN_PROGRESS,+ StudioComponentStatusCode_STUDIO_COMPONENT_UPDATED,+ StudioComponentStatusCode_STUDIO_COMPONENT_UPDATE_IN_PROGRESS,+ StudioComponentStatusCode'+ #-}
+ gen/Amazonka/Nimble/Types/StudioComponentSubtype.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.StudioComponentSubtype+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioComponentSubtype+ ( StudioComponentSubtype+ ( ..,+ StudioComponentSubtype_AMAZON_FSX_FOR_LUSTRE,+ StudioComponentSubtype_AMAZON_FSX_FOR_WINDOWS,+ StudioComponentSubtype_AWS_MANAGED_MICROSOFT_AD,+ StudioComponentSubtype_CUSTOM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StudioComponentSubtype = StudioComponentSubtype'+ { fromStudioComponentSubtype ::+ 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 StudioComponentSubtype_AMAZON_FSX_FOR_LUSTRE :: StudioComponentSubtype+pattern StudioComponentSubtype_AMAZON_FSX_FOR_LUSTRE = StudioComponentSubtype' "AMAZON_FSX_FOR_LUSTRE"++pattern StudioComponentSubtype_AMAZON_FSX_FOR_WINDOWS :: StudioComponentSubtype+pattern StudioComponentSubtype_AMAZON_FSX_FOR_WINDOWS = StudioComponentSubtype' "AMAZON_FSX_FOR_WINDOWS"++pattern StudioComponentSubtype_AWS_MANAGED_MICROSOFT_AD :: StudioComponentSubtype+pattern StudioComponentSubtype_AWS_MANAGED_MICROSOFT_AD = StudioComponentSubtype' "AWS_MANAGED_MICROSOFT_AD"++pattern StudioComponentSubtype_CUSTOM :: StudioComponentSubtype+pattern StudioComponentSubtype_CUSTOM = StudioComponentSubtype' "CUSTOM"++{-# COMPLETE+ StudioComponentSubtype_AMAZON_FSX_FOR_LUSTRE,+ StudioComponentSubtype_AMAZON_FSX_FOR_WINDOWS,+ StudioComponentSubtype_AWS_MANAGED_MICROSOFT_AD,+ StudioComponentSubtype_CUSTOM,+ StudioComponentSubtype'+ #-}
+ gen/Amazonka/Nimble/Types/StudioComponentSummary.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.Nimble.Types.StudioComponentSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioComponentSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.StudioComponentSubtype+import Amazonka.Nimble.Types.StudioComponentType+import qualified Amazonka.Prelude as Prelude++-- | The studio component\'s summary.+--+-- /See:/ 'newStudioComponentSummary' smart constructor.+data StudioComponentSummary = StudioComponentSummary'+ { -- | The ISO timestamp in seconds for when the resource was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The user ID of the user that created the studio component.+ createdBy :: Prelude.Maybe Prelude.Text,+ -- | The description.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The name for the studio component.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The unique identifier for a studio component resource.+ studioComponentId :: Prelude.Maybe Prelude.Text,+ -- | The specific subtype of a studio component.+ subtype :: Prelude.Maybe StudioComponentSubtype,+ -- | The type of the studio component.+ type' :: Prelude.Maybe StudioComponentType,+ -- | The ISO timestamp in seconds for when the resource was updated.+ updatedAt :: Prelude.Maybe Data.ISO8601,+ -- | The user ID of the user that most recently updated the resource.+ updatedBy :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StudioComponentSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'studioComponentSummary_createdAt' - The ISO timestamp in seconds for when the resource was created.+--+-- 'createdBy', 'studioComponentSummary_createdBy' - The user ID of the user that created the studio component.+--+-- 'description', 'studioComponentSummary_description' - The description.+--+-- 'name', 'studioComponentSummary_name' - The name for the studio component.+--+-- 'studioComponentId', 'studioComponentSummary_studioComponentId' - The unique identifier for a studio component resource.+--+-- 'subtype', 'studioComponentSummary_subtype' - The specific subtype of a studio component.+--+-- 'type'', 'studioComponentSummary_type' - The type of the studio component.+--+-- 'updatedAt', 'studioComponentSummary_updatedAt' - The ISO timestamp in seconds for when the resource was updated.+--+-- 'updatedBy', 'studioComponentSummary_updatedBy' - The user ID of the user that most recently updated the resource.+newStudioComponentSummary ::+ StudioComponentSummary+newStudioComponentSummary =+ StudioComponentSummary'+ { createdAt =+ Prelude.Nothing,+ createdBy = Prelude.Nothing,+ description = Prelude.Nothing,+ name = Prelude.Nothing,+ studioComponentId = Prelude.Nothing,+ subtype = Prelude.Nothing,+ type' = Prelude.Nothing,+ updatedAt = Prelude.Nothing,+ updatedBy = Prelude.Nothing+ }++-- | The ISO timestamp in seconds for when the resource was created.+studioComponentSummary_createdAt :: Lens.Lens' StudioComponentSummary (Prelude.Maybe Prelude.UTCTime)+studioComponentSummary_createdAt = Lens.lens (\StudioComponentSummary' {createdAt} -> createdAt) (\s@StudioComponentSummary' {} a -> s {createdAt = a} :: StudioComponentSummary) Prelude.. Lens.mapping Data._Time++-- | The user ID of the user that created the studio component.+studioComponentSummary_createdBy :: Lens.Lens' StudioComponentSummary (Prelude.Maybe Prelude.Text)+studioComponentSummary_createdBy = Lens.lens (\StudioComponentSummary' {createdBy} -> createdBy) (\s@StudioComponentSummary' {} a -> s {createdBy = a} :: StudioComponentSummary)++-- | The description.+studioComponentSummary_description :: Lens.Lens' StudioComponentSummary (Prelude.Maybe Prelude.Text)+studioComponentSummary_description = Lens.lens (\StudioComponentSummary' {description} -> description) (\s@StudioComponentSummary' {} a -> s {description = a} :: StudioComponentSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The name for the studio component.+studioComponentSummary_name :: Lens.Lens' StudioComponentSummary (Prelude.Maybe Prelude.Text)+studioComponentSummary_name = Lens.lens (\StudioComponentSummary' {name} -> name) (\s@StudioComponentSummary' {} a -> s {name = a} :: StudioComponentSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The unique identifier for a studio component resource.+studioComponentSummary_studioComponentId :: Lens.Lens' StudioComponentSummary (Prelude.Maybe Prelude.Text)+studioComponentSummary_studioComponentId = Lens.lens (\StudioComponentSummary' {studioComponentId} -> studioComponentId) (\s@StudioComponentSummary' {} a -> s {studioComponentId = a} :: StudioComponentSummary)++-- | The specific subtype of a studio component.+studioComponentSummary_subtype :: Lens.Lens' StudioComponentSummary (Prelude.Maybe StudioComponentSubtype)+studioComponentSummary_subtype = Lens.lens (\StudioComponentSummary' {subtype} -> subtype) (\s@StudioComponentSummary' {} a -> s {subtype = a} :: StudioComponentSummary)++-- | The type of the studio component.+studioComponentSummary_type :: Lens.Lens' StudioComponentSummary (Prelude.Maybe StudioComponentType)+studioComponentSummary_type = Lens.lens (\StudioComponentSummary' {type'} -> type') (\s@StudioComponentSummary' {} a -> s {type' = a} :: StudioComponentSummary)++-- | The ISO timestamp in seconds for when the resource was updated.+studioComponentSummary_updatedAt :: Lens.Lens' StudioComponentSummary (Prelude.Maybe Prelude.UTCTime)+studioComponentSummary_updatedAt = Lens.lens (\StudioComponentSummary' {updatedAt} -> updatedAt) (\s@StudioComponentSummary' {} a -> s {updatedAt = a} :: StudioComponentSummary) Prelude.. Lens.mapping Data._Time++-- | The user ID of the user that most recently updated the resource.+studioComponentSummary_updatedBy :: Lens.Lens' StudioComponentSummary (Prelude.Maybe Prelude.Text)+studioComponentSummary_updatedBy = Lens.lens (\StudioComponentSummary' {updatedBy} -> updatedBy) (\s@StudioComponentSummary' {} a -> s {updatedBy = a} :: StudioComponentSummary)++instance Data.FromJSON StudioComponentSummary where+ parseJSON =+ Data.withObject+ "StudioComponentSummary"+ ( \x ->+ StudioComponentSummary'+ Prelude.<$> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "createdBy")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "studioComponentId")+ Prelude.<*> (x Data..:? "subtype")+ Prelude.<*> (x Data..:? "type")+ Prelude.<*> (x Data..:? "updatedAt")+ Prelude.<*> (x Data..:? "updatedBy")+ )++instance Prelude.Hashable StudioComponentSummary where+ hashWithSalt _salt StudioComponentSummary' {..} =+ _salt+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` studioComponentId+ `Prelude.hashWithSalt` subtype+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` updatedAt+ `Prelude.hashWithSalt` updatedBy++instance Prelude.NFData StudioComponentSummary where+ rnf StudioComponentSummary' {..} =+ Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf studioComponentId+ `Prelude.seq` Prelude.rnf subtype+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf updatedAt+ `Prelude.seq` Prelude.rnf updatedBy
+ gen/Amazonka/Nimble/Types/StudioComponentType.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.StudioComponentType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioComponentType+ ( StudioComponentType+ ( ..,+ StudioComponentType_ACTIVE_DIRECTORY,+ StudioComponentType_COMPUTE_FARM,+ StudioComponentType_CUSTOM,+ StudioComponentType_LICENSE_SERVICE,+ StudioComponentType_SHARED_FILE_SYSTEM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StudioComponentType = StudioComponentType'+ { fromStudioComponentType ::+ 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 StudioComponentType_ACTIVE_DIRECTORY :: StudioComponentType+pattern StudioComponentType_ACTIVE_DIRECTORY = StudioComponentType' "ACTIVE_DIRECTORY"++pattern StudioComponentType_COMPUTE_FARM :: StudioComponentType+pattern StudioComponentType_COMPUTE_FARM = StudioComponentType' "COMPUTE_FARM"++pattern StudioComponentType_CUSTOM :: StudioComponentType+pattern StudioComponentType_CUSTOM = StudioComponentType' "CUSTOM"++pattern StudioComponentType_LICENSE_SERVICE :: StudioComponentType+pattern StudioComponentType_LICENSE_SERVICE = StudioComponentType' "LICENSE_SERVICE"++pattern StudioComponentType_SHARED_FILE_SYSTEM :: StudioComponentType+pattern StudioComponentType_SHARED_FILE_SYSTEM = StudioComponentType' "SHARED_FILE_SYSTEM"++{-# COMPLETE+ StudioComponentType_ACTIVE_DIRECTORY,+ StudioComponentType_COMPUTE_FARM,+ StudioComponentType_CUSTOM,+ StudioComponentType_LICENSE_SERVICE,+ StudioComponentType_SHARED_FILE_SYSTEM,+ StudioComponentType'+ #-}
+ gen/Amazonka/Nimble/Types/StudioEncryptionConfiguration.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.StudioEncryptionConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioEncryptionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.StudioEncryptionConfigurationKeyType+import qualified Amazonka.Prelude as Prelude++-- | Configuration of the encryption method that is used for the studio.+--+-- /See:/ 'newStudioEncryptionConfiguration' smart constructor.+data StudioEncryptionConfiguration = StudioEncryptionConfiguration'+ { -- | The ARN for a KMS key that is used to encrypt studio data.+ keyArn :: Prelude.Maybe Prelude.Text,+ -- | The type of KMS key that is used to encrypt studio data.+ keyType :: StudioEncryptionConfigurationKeyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StudioEncryptionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'keyArn', 'studioEncryptionConfiguration_keyArn' - The ARN for a KMS key that is used to encrypt studio data.+--+-- 'keyType', 'studioEncryptionConfiguration_keyType' - The type of KMS key that is used to encrypt studio data.+newStudioEncryptionConfiguration ::+ -- | 'keyType'+ StudioEncryptionConfigurationKeyType ->+ StudioEncryptionConfiguration+newStudioEncryptionConfiguration pKeyType_ =+ StudioEncryptionConfiguration'+ { keyArn =+ Prelude.Nothing,+ keyType = pKeyType_+ }++-- | The ARN for a KMS key that is used to encrypt studio data.+studioEncryptionConfiguration_keyArn :: Lens.Lens' StudioEncryptionConfiguration (Prelude.Maybe Prelude.Text)+studioEncryptionConfiguration_keyArn = Lens.lens (\StudioEncryptionConfiguration' {keyArn} -> keyArn) (\s@StudioEncryptionConfiguration' {} a -> s {keyArn = a} :: StudioEncryptionConfiguration)++-- | The type of KMS key that is used to encrypt studio data.+studioEncryptionConfiguration_keyType :: Lens.Lens' StudioEncryptionConfiguration StudioEncryptionConfigurationKeyType+studioEncryptionConfiguration_keyType = Lens.lens (\StudioEncryptionConfiguration' {keyType} -> keyType) (\s@StudioEncryptionConfiguration' {} a -> s {keyType = a} :: StudioEncryptionConfiguration)++instance Data.FromJSON StudioEncryptionConfiguration where+ parseJSON =+ Data.withObject+ "StudioEncryptionConfiguration"+ ( \x ->+ StudioEncryptionConfiguration'+ Prelude.<$> (x Data..:? "keyArn")+ Prelude.<*> (x Data..: "keyType")+ )++instance+ Prelude.Hashable+ StudioEncryptionConfiguration+ where+ hashWithSalt _salt StudioEncryptionConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` keyArn+ `Prelude.hashWithSalt` keyType++instance Prelude.NFData StudioEncryptionConfiguration where+ rnf StudioEncryptionConfiguration' {..} =+ Prelude.rnf keyArn+ `Prelude.seq` Prelude.rnf keyType++instance Data.ToJSON StudioEncryptionConfiguration where+ toJSON StudioEncryptionConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("keyArn" Data..=) Prelude.<$> keyArn,+ Prelude.Just ("keyType" Data..= keyType)+ ]+ )
+ gen/Amazonka/Nimble/Types/StudioEncryptionConfigurationKeyType.hs view
@@ -0,0 +1,72 @@+{-# 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.Nimble.Types.StudioEncryptionConfigurationKeyType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioEncryptionConfigurationKeyType+ ( StudioEncryptionConfigurationKeyType+ ( ..,+ StudioEncryptionConfigurationKeyType_AWS_OWNED_KEY,+ StudioEncryptionConfigurationKeyType_CUSTOMER_MANAGED_KEY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of KMS key that is used to encrypt studio data.+newtype StudioEncryptionConfigurationKeyType = StudioEncryptionConfigurationKeyType'+ { fromStudioEncryptionConfigurationKeyType ::+ 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 StudioEncryptionConfigurationKeyType_AWS_OWNED_KEY :: StudioEncryptionConfigurationKeyType+pattern StudioEncryptionConfigurationKeyType_AWS_OWNED_KEY = StudioEncryptionConfigurationKeyType' "AWS_OWNED_KEY"++pattern StudioEncryptionConfigurationKeyType_CUSTOMER_MANAGED_KEY :: StudioEncryptionConfigurationKeyType+pattern StudioEncryptionConfigurationKeyType_CUSTOMER_MANAGED_KEY = StudioEncryptionConfigurationKeyType' "CUSTOMER_MANAGED_KEY"++{-# COMPLETE+ StudioEncryptionConfigurationKeyType_AWS_OWNED_KEY,+ StudioEncryptionConfigurationKeyType_CUSTOMER_MANAGED_KEY,+ StudioEncryptionConfigurationKeyType'+ #-}
+ gen/Amazonka/Nimble/Types/StudioMembership.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.Nimble.Types.StudioMembership+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioMembership where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.StudioPersona+import qualified Amazonka.Prelude as Prelude++-- | A studio member is an association of a user from your studio identity+-- source to elevated permissions that they are granted in the studio.+--+-- When you add a user to your studio using the Nimble Studio console, they+-- are given access to the studio\'s IAM Identity Center application and+-- are given access to log in to the Nimble Studio portal. These users have+-- the permissions provided by the studio\'s user IAM role and do not+-- appear in the studio membership collection. Only studio admins appear in+-- studio membership.+--+-- When you add a user to studio membership with the ADMIN persona, upon+-- logging in to the Nimble Studio portal, they are granted permissions+-- specified by the Studio\'s Admin IAM role.+--+-- /See:/ 'newStudioMembership' smart constructor.+data StudioMembership = StudioMembership'+ { -- | The ID of the identity store.+ identityStoreId :: Prelude.Maybe Prelude.Text,+ -- | The persona.+ persona :: Prelude.Maybe StudioPersona,+ -- | The principal ID.+ principalId :: Prelude.Maybe Prelude.Text,+ -- | The Active Directory Security Identifier for this user, if available.+ sid :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StudioMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'studioMembership_identityStoreId' - The ID of the identity store.+--+-- 'persona', 'studioMembership_persona' - The persona.+--+-- 'principalId', 'studioMembership_principalId' - The principal ID.+--+-- 'sid', 'studioMembership_sid' - The Active Directory Security Identifier for this user, if available.+newStudioMembership ::+ StudioMembership+newStudioMembership =+ StudioMembership'+ { identityStoreId =+ Prelude.Nothing,+ persona = Prelude.Nothing,+ principalId = Prelude.Nothing,+ sid = Prelude.Nothing+ }++-- | The ID of the identity store.+studioMembership_identityStoreId :: Lens.Lens' StudioMembership (Prelude.Maybe Prelude.Text)+studioMembership_identityStoreId = Lens.lens (\StudioMembership' {identityStoreId} -> identityStoreId) (\s@StudioMembership' {} a -> s {identityStoreId = a} :: StudioMembership)++-- | The persona.+studioMembership_persona :: Lens.Lens' StudioMembership (Prelude.Maybe StudioPersona)+studioMembership_persona = Lens.lens (\StudioMembership' {persona} -> persona) (\s@StudioMembership' {} a -> s {persona = a} :: StudioMembership)++-- | The principal ID.+studioMembership_principalId :: Lens.Lens' StudioMembership (Prelude.Maybe Prelude.Text)+studioMembership_principalId = Lens.lens (\StudioMembership' {principalId} -> principalId) (\s@StudioMembership' {} a -> s {principalId = a} :: StudioMembership)++-- | The Active Directory Security Identifier for this user, if available.+studioMembership_sid :: Lens.Lens' StudioMembership (Prelude.Maybe Prelude.Text)+studioMembership_sid = Lens.lens (\StudioMembership' {sid} -> sid) (\s@StudioMembership' {} a -> s {sid = a} :: StudioMembership)++instance Data.FromJSON StudioMembership where+ parseJSON =+ Data.withObject+ "StudioMembership"+ ( \x ->+ StudioMembership'+ Prelude.<$> (x Data..:? "identityStoreId")+ Prelude.<*> (x Data..:? "persona")+ Prelude.<*> (x Data..:? "principalId")+ Prelude.<*> (x Data..:? "sid")+ )++instance Prelude.Hashable StudioMembership where+ hashWithSalt _salt StudioMembership' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` persona+ `Prelude.hashWithSalt` principalId+ `Prelude.hashWithSalt` sid++instance Prelude.NFData StudioMembership where+ rnf StudioMembership' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf persona+ `Prelude.seq` Prelude.rnf principalId+ `Prelude.seq` Prelude.rnf sid
+ gen/Amazonka/Nimble/Types/StudioPersona.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.Nimble.Types.StudioPersona+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioPersona+ ( StudioPersona+ ( ..,+ StudioPersona_ADMINISTRATOR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StudioPersona = StudioPersona'+ { fromStudioPersona ::+ 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 StudioPersona_ADMINISTRATOR :: StudioPersona+pattern StudioPersona_ADMINISTRATOR = StudioPersona' "ADMINISTRATOR"++{-# COMPLETE+ StudioPersona_ADMINISTRATOR,+ StudioPersona'+ #-}
+ gen/Amazonka/Nimble/Types/StudioState.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.StudioState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioState+ ( StudioState+ ( ..,+ StudioState_CREATE_FAILED,+ StudioState_CREATE_IN_PROGRESS,+ StudioState_DELETED,+ StudioState_DELETE_FAILED,+ StudioState_DELETE_IN_PROGRESS,+ StudioState_READY,+ StudioState_UPDATE_FAILED,+ StudioState_UPDATE_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StudioState = StudioState'+ { fromStudioState ::+ 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 StudioState_CREATE_FAILED :: StudioState+pattern StudioState_CREATE_FAILED = StudioState' "CREATE_FAILED"++pattern StudioState_CREATE_IN_PROGRESS :: StudioState+pattern StudioState_CREATE_IN_PROGRESS = StudioState' "CREATE_IN_PROGRESS"++pattern StudioState_DELETED :: StudioState+pattern StudioState_DELETED = StudioState' "DELETED"++pattern StudioState_DELETE_FAILED :: StudioState+pattern StudioState_DELETE_FAILED = StudioState' "DELETE_FAILED"++pattern StudioState_DELETE_IN_PROGRESS :: StudioState+pattern StudioState_DELETE_IN_PROGRESS = StudioState' "DELETE_IN_PROGRESS"++pattern StudioState_READY :: StudioState+pattern StudioState_READY = StudioState' "READY"++pattern StudioState_UPDATE_FAILED :: StudioState+pattern StudioState_UPDATE_FAILED = StudioState' "UPDATE_FAILED"++pattern StudioState_UPDATE_IN_PROGRESS :: StudioState+pattern StudioState_UPDATE_IN_PROGRESS = StudioState' "UPDATE_IN_PROGRESS"++{-# COMPLETE+ StudioState_CREATE_FAILED,+ StudioState_CREATE_IN_PROGRESS,+ StudioState_DELETED,+ StudioState_DELETE_FAILED,+ StudioState_DELETE_IN_PROGRESS,+ StudioState_READY,+ StudioState_UPDATE_FAILED,+ StudioState_UPDATE_IN_PROGRESS,+ StudioState'+ #-}
+ gen/Amazonka/Nimble/Types/StudioStatusCode.hs view
@@ -0,0 +1,157 @@+{-# 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.Nimble.Types.StudioStatusCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.StudioStatusCode+ ( StudioStatusCode+ ( ..,+ StudioStatusCode_AWS_SSO_ACCESS_DENIED,+ StudioStatusCode_AWS_SSO_CONFIGURATION_REPAIRED,+ StudioStatusCode_AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS,+ StudioStatusCode_AWS_SSO_NOT_ENABLED,+ StudioStatusCode_AWS_STS_REGION_DISABLED,+ StudioStatusCode_ENCRYPTION_KEY_ACCESS_DENIED,+ StudioStatusCode_ENCRYPTION_KEY_NOT_FOUND,+ StudioStatusCode_INTERNAL_ERROR,+ StudioStatusCode_ROLE_COULD_NOT_BE_ASSUMED,+ StudioStatusCode_ROLE_NOT_OWNED_BY_STUDIO_OWNER,+ StudioStatusCode_STUDIO_CREATED,+ StudioStatusCode_STUDIO_CREATE_IN_PROGRESS,+ StudioStatusCode_STUDIO_DELETED,+ StudioStatusCode_STUDIO_DELETE_IN_PROGRESS,+ StudioStatusCode_STUDIO_UPDATED,+ StudioStatusCode_STUDIO_UPDATE_IN_PROGRESS,+ StudioStatusCode_STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED,+ StudioStatusCode_STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED,+ StudioStatusCode_STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status code.+newtype StudioStatusCode = StudioStatusCode'+ { fromStudioStatusCode ::+ 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 StudioStatusCode_AWS_SSO_ACCESS_DENIED :: StudioStatusCode+pattern StudioStatusCode_AWS_SSO_ACCESS_DENIED = StudioStatusCode' "AWS_SSO_ACCESS_DENIED"++pattern StudioStatusCode_AWS_SSO_CONFIGURATION_REPAIRED :: StudioStatusCode+pattern StudioStatusCode_AWS_SSO_CONFIGURATION_REPAIRED = StudioStatusCode' "AWS_SSO_CONFIGURATION_REPAIRED"++pattern StudioStatusCode_AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS :: StudioStatusCode+pattern StudioStatusCode_AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS = StudioStatusCode' "AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS"++pattern StudioStatusCode_AWS_SSO_NOT_ENABLED :: StudioStatusCode+pattern StudioStatusCode_AWS_SSO_NOT_ENABLED = StudioStatusCode' "AWS_SSO_NOT_ENABLED"++pattern StudioStatusCode_AWS_STS_REGION_DISABLED :: StudioStatusCode+pattern StudioStatusCode_AWS_STS_REGION_DISABLED = StudioStatusCode' "AWS_STS_REGION_DISABLED"++pattern StudioStatusCode_ENCRYPTION_KEY_ACCESS_DENIED :: StudioStatusCode+pattern StudioStatusCode_ENCRYPTION_KEY_ACCESS_DENIED = StudioStatusCode' "ENCRYPTION_KEY_ACCESS_DENIED"++pattern StudioStatusCode_ENCRYPTION_KEY_NOT_FOUND :: StudioStatusCode+pattern StudioStatusCode_ENCRYPTION_KEY_NOT_FOUND = StudioStatusCode' "ENCRYPTION_KEY_NOT_FOUND"++pattern StudioStatusCode_INTERNAL_ERROR :: StudioStatusCode+pattern StudioStatusCode_INTERNAL_ERROR = StudioStatusCode' "INTERNAL_ERROR"++pattern StudioStatusCode_ROLE_COULD_NOT_BE_ASSUMED :: StudioStatusCode+pattern StudioStatusCode_ROLE_COULD_NOT_BE_ASSUMED = StudioStatusCode' "ROLE_COULD_NOT_BE_ASSUMED"++pattern StudioStatusCode_ROLE_NOT_OWNED_BY_STUDIO_OWNER :: StudioStatusCode+pattern StudioStatusCode_ROLE_NOT_OWNED_BY_STUDIO_OWNER = StudioStatusCode' "ROLE_NOT_OWNED_BY_STUDIO_OWNER"++pattern StudioStatusCode_STUDIO_CREATED :: StudioStatusCode+pattern StudioStatusCode_STUDIO_CREATED = StudioStatusCode' "STUDIO_CREATED"++pattern StudioStatusCode_STUDIO_CREATE_IN_PROGRESS :: StudioStatusCode+pattern StudioStatusCode_STUDIO_CREATE_IN_PROGRESS = StudioStatusCode' "STUDIO_CREATE_IN_PROGRESS"++pattern StudioStatusCode_STUDIO_DELETED :: StudioStatusCode+pattern StudioStatusCode_STUDIO_DELETED = StudioStatusCode' "STUDIO_DELETED"++pattern StudioStatusCode_STUDIO_DELETE_IN_PROGRESS :: StudioStatusCode+pattern StudioStatusCode_STUDIO_DELETE_IN_PROGRESS = StudioStatusCode' "STUDIO_DELETE_IN_PROGRESS"++pattern StudioStatusCode_STUDIO_UPDATED :: StudioStatusCode+pattern StudioStatusCode_STUDIO_UPDATED = StudioStatusCode' "STUDIO_UPDATED"++pattern StudioStatusCode_STUDIO_UPDATE_IN_PROGRESS :: StudioStatusCode+pattern StudioStatusCode_STUDIO_UPDATE_IN_PROGRESS = StudioStatusCode' "STUDIO_UPDATE_IN_PROGRESS"++pattern StudioStatusCode_STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED :: StudioStatusCode+pattern StudioStatusCode_STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED = StudioStatusCode' "STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED"++pattern StudioStatusCode_STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED :: StudioStatusCode+pattern StudioStatusCode_STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED = StudioStatusCode' "STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED"++pattern StudioStatusCode_STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED :: StudioStatusCode+pattern StudioStatusCode_STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED = StudioStatusCode' "STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED"++{-# COMPLETE+ StudioStatusCode_AWS_SSO_ACCESS_DENIED,+ StudioStatusCode_AWS_SSO_CONFIGURATION_REPAIRED,+ StudioStatusCode_AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS,+ StudioStatusCode_AWS_SSO_NOT_ENABLED,+ StudioStatusCode_AWS_STS_REGION_DISABLED,+ StudioStatusCode_ENCRYPTION_KEY_ACCESS_DENIED,+ StudioStatusCode_ENCRYPTION_KEY_NOT_FOUND,+ StudioStatusCode_INTERNAL_ERROR,+ StudioStatusCode_ROLE_COULD_NOT_BE_ASSUMED,+ StudioStatusCode_ROLE_NOT_OWNED_BY_STUDIO_OWNER,+ StudioStatusCode_STUDIO_CREATED,+ StudioStatusCode_STUDIO_CREATE_IN_PROGRESS,+ StudioStatusCode_STUDIO_DELETED,+ StudioStatusCode_STUDIO_DELETE_IN_PROGRESS,+ StudioStatusCode_STUDIO_UPDATED,+ StudioStatusCode_STUDIO_UPDATE_IN_PROGRESS,+ StudioStatusCode_STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED,+ StudioStatusCode_STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED,+ StudioStatusCode_STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED,+ StudioStatusCode'+ #-}
+ gen/Amazonka/Nimble/Types/ValidationResult.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.Types.ValidationResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.ValidationResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types.LaunchProfileValidationState+import Amazonka.Nimble.Types.LaunchProfileValidationStatusCode+import Amazonka.Nimble.Types.LaunchProfileValidationType+import qualified Amazonka.Prelude as Prelude++-- | The launch profile validation result.+--+-- /See:/ 'newValidationResult' smart constructor.+data ValidationResult = ValidationResult'+ { -- | The current state.+ state :: LaunchProfileValidationState,+ -- | The status code. This will contain the failure reason if the state is+ -- @VALIDATION_FAILED@.+ statusCode :: LaunchProfileValidationStatusCode,+ -- | The status message for the validation result.+ statusMessage :: Prelude.Text,+ -- | The type of the validation result.+ type' :: LaunchProfileValidationType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ValidationResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'state', 'validationResult_state' - The current state.+--+-- 'statusCode', 'validationResult_statusCode' - The status code. This will contain the failure reason if the state is+-- @VALIDATION_FAILED@.+--+-- 'statusMessage', 'validationResult_statusMessage' - The status message for the validation result.+--+-- 'type'', 'validationResult_type' - The type of the validation result.+newValidationResult ::+ -- | 'state'+ LaunchProfileValidationState ->+ -- | 'statusCode'+ LaunchProfileValidationStatusCode ->+ -- | 'statusMessage'+ Prelude.Text ->+ -- | 'type''+ LaunchProfileValidationType ->+ ValidationResult+newValidationResult+ pState_+ pStatusCode_+ pStatusMessage_+ pType_ =+ ValidationResult'+ { state = pState_,+ statusCode = pStatusCode_,+ statusMessage = pStatusMessage_,+ type' = pType_+ }++-- | The current state.+validationResult_state :: Lens.Lens' ValidationResult LaunchProfileValidationState+validationResult_state = Lens.lens (\ValidationResult' {state} -> state) (\s@ValidationResult' {} a -> s {state = a} :: ValidationResult)++-- | The status code. This will contain the failure reason if the state is+-- @VALIDATION_FAILED@.+validationResult_statusCode :: Lens.Lens' ValidationResult LaunchProfileValidationStatusCode+validationResult_statusCode = Lens.lens (\ValidationResult' {statusCode} -> statusCode) (\s@ValidationResult' {} a -> s {statusCode = a} :: ValidationResult)++-- | The status message for the validation result.+validationResult_statusMessage :: Lens.Lens' ValidationResult Prelude.Text+validationResult_statusMessage = Lens.lens (\ValidationResult' {statusMessage} -> statusMessage) (\s@ValidationResult' {} a -> s {statusMessage = a} :: ValidationResult)++-- | The type of the validation result.+validationResult_type :: Lens.Lens' ValidationResult LaunchProfileValidationType+validationResult_type = Lens.lens (\ValidationResult' {type'} -> type') (\s@ValidationResult' {} a -> s {type' = a} :: ValidationResult)++instance Data.FromJSON ValidationResult where+ parseJSON =+ Data.withObject+ "ValidationResult"+ ( \x ->+ ValidationResult'+ Prelude.<$> (x Data..: "state")+ Prelude.<*> (x Data..: "statusCode")+ Prelude.<*> (x Data..: "statusMessage")+ Prelude.<*> (x Data..: "type")+ )++instance Prelude.Hashable ValidationResult where+ hashWithSalt _salt ValidationResult' {..} =+ _salt+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` statusCode+ `Prelude.hashWithSalt` statusMessage+ `Prelude.hashWithSalt` type'++instance Prelude.NFData ValidationResult where+ rnf ValidationResult' {..} =+ Prelude.rnf state+ `Prelude.seq` Prelude.rnf statusCode+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/Nimble/Types/VolumeConfiguration.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.Nimble.Types.VolumeConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.VolumeConfiguration 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++-- | Custom volume configuration for the root volumes that are attached to+-- streaming sessions.+--+-- This parameter is only allowed when @sessionPersistenceMode@ is+-- @ACTIVATED@.+--+-- /See:/ 'newVolumeConfiguration' smart constructor.+data VolumeConfiguration = VolumeConfiguration'+ { -- | The number of I\/O operations per second for the root volume that is+ -- attached to streaming session.+ iops :: Prelude.Maybe Prelude.Natural,+ -- | The size of the root volume that is attached to the streaming session.+ -- The root volume size is measured in GiBs.+ size :: Prelude.Maybe Prelude.Natural,+ -- | The throughput to provision for the root volume that is attached to the+ -- streaming session. The throughput is measured in MiB\/s.+ throughput :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VolumeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iops', 'volumeConfiguration_iops' - The number of I\/O operations per second for the root volume that is+-- attached to streaming session.+--+-- 'size', 'volumeConfiguration_size' - The size of the root volume that is attached to the streaming session.+-- The root volume size is measured in GiBs.+--+-- 'throughput', 'volumeConfiguration_throughput' - The throughput to provision for the root volume that is attached to the+-- streaming session. The throughput is measured in MiB\/s.+newVolumeConfiguration ::+ VolumeConfiguration+newVolumeConfiguration =+ VolumeConfiguration'+ { iops = Prelude.Nothing,+ size = Prelude.Nothing,+ throughput = Prelude.Nothing+ }++-- | The number of I\/O operations per second for the root volume that is+-- attached to streaming session.+volumeConfiguration_iops :: Lens.Lens' VolumeConfiguration (Prelude.Maybe Prelude.Natural)+volumeConfiguration_iops = Lens.lens (\VolumeConfiguration' {iops} -> iops) (\s@VolumeConfiguration' {} a -> s {iops = a} :: VolumeConfiguration)++-- | The size of the root volume that is attached to the streaming session.+-- The root volume size is measured in GiBs.+volumeConfiguration_size :: Lens.Lens' VolumeConfiguration (Prelude.Maybe Prelude.Natural)+volumeConfiguration_size = Lens.lens (\VolumeConfiguration' {size} -> size) (\s@VolumeConfiguration' {} a -> s {size = a} :: VolumeConfiguration)++-- | The throughput to provision for the root volume that is attached to the+-- streaming session. The throughput is measured in MiB\/s.+volumeConfiguration_throughput :: Lens.Lens' VolumeConfiguration (Prelude.Maybe Prelude.Natural)+volumeConfiguration_throughput = Lens.lens (\VolumeConfiguration' {throughput} -> throughput) (\s@VolumeConfiguration' {} a -> s {throughput = a} :: VolumeConfiguration)++instance Data.FromJSON VolumeConfiguration where+ parseJSON =+ Data.withObject+ "VolumeConfiguration"+ ( \x ->+ VolumeConfiguration'+ Prelude.<$> (x Data..:? "iops")+ Prelude.<*> (x Data..:? "size")+ Prelude.<*> (x Data..:? "throughput")+ )++instance Prelude.Hashable VolumeConfiguration where+ hashWithSalt _salt VolumeConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` iops+ `Prelude.hashWithSalt` size+ `Prelude.hashWithSalt` throughput++instance Prelude.NFData VolumeConfiguration where+ rnf VolumeConfiguration' {..} =+ Prelude.rnf iops+ `Prelude.seq` Prelude.rnf size+ `Prelude.seq` Prelude.rnf throughput++instance Data.ToJSON VolumeConfiguration where+ toJSON VolumeConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("iops" Data..=) Prelude.<$> iops,+ ("size" Data..=) Prelude.<$> size,+ ("throughput" Data..=) Prelude.<$> throughput+ ]+ )
+ gen/Amazonka/Nimble/Types/VolumeRetentionMode.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.Nimble.Types.VolumeRetentionMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Nimble.Types.VolumeRetentionMode+ ( VolumeRetentionMode+ ( ..,+ VolumeRetentionMode_DELETE,+ VolumeRetentionMode_RETAIN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VolumeRetentionMode = VolumeRetentionMode'+ { fromVolumeRetentionMode ::+ 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 VolumeRetentionMode_DELETE :: VolumeRetentionMode+pattern VolumeRetentionMode_DELETE = VolumeRetentionMode' "DELETE"++pattern VolumeRetentionMode_RETAIN :: VolumeRetentionMode+pattern VolumeRetentionMode_RETAIN = VolumeRetentionMode' "RETAIN"++{-# COMPLETE+ VolumeRetentionMode_DELETE,+ VolumeRetentionMode_RETAIN,+ VolumeRetentionMode'+ #-}
+ gen/Amazonka/Nimble/UntagResource.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the tags for a resource.+module Amazonka.Nimble.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.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'+ { -- | Identifies the Amazon Resource Name(ARN) key from which you are removing+ -- tags.+ resourceArn :: Prelude.Text,+ -- | One or more tag keys. Specify only the tag keys, not the tag values.+ 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' - Identifies the Amazon Resource Name(ARN) key from which you are removing+-- tags.+--+-- 'tagKeys', 'untagResource_tagKeys' - One or more tag keys. Specify only the tag keys, not the tag values.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | Identifies the Amazon Resource Name(ARN) key from which you are removing+-- tags.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | One or more tag keys. Specify only the tag keys, not the tag values.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath UntagResource' {..} =+ Prelude.mconcat+ ["/2020-08-01/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/UpdateLaunchProfile.hs view
@@ -0,0 +1,283 @@+{-# 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.Nimble.UpdateLaunchProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update a launch profile.+module Amazonka.Nimble.UpdateLaunchProfile+ ( -- * Creating a Request+ UpdateLaunchProfile (..),+ newUpdateLaunchProfile,++ -- * Request Lenses+ updateLaunchProfile_clientToken,+ updateLaunchProfile_description,+ updateLaunchProfile_launchProfileProtocolVersions,+ updateLaunchProfile_name,+ updateLaunchProfile_streamConfiguration,+ updateLaunchProfile_studioComponentIds,+ updateLaunchProfile_launchProfileId,+ updateLaunchProfile_studioId,++ -- * Destructuring the Response+ UpdateLaunchProfileResponse (..),+ newUpdateLaunchProfileResponse,++ -- * Response Lenses+ updateLaunchProfileResponse_launchProfile,+ updateLaunchProfileResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLaunchProfile' smart constructor.+data UpdateLaunchProfile = UpdateLaunchProfile'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The description.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The version number of the protocol that is used by the launch profile.+ -- The only valid version is \"2021-03-31\".+ launchProfileProtocolVersions :: Prelude.Maybe [Prelude.Text],+ -- | The name for the launch profile.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A configuration for a streaming session.+ streamConfiguration :: Prelude.Maybe StreamConfigurationCreate,+ -- | Unique identifiers for a collection of studio components that can be+ -- used with this launch profile.+ studioComponentIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLaunchProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateLaunchProfile_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'description', 'updateLaunchProfile_description' - The description.+--+-- 'launchProfileProtocolVersions', 'updateLaunchProfile_launchProfileProtocolVersions' - The version number of the protocol that is used by the launch profile.+-- The only valid version is \"2021-03-31\".+--+-- 'name', 'updateLaunchProfile_name' - The name for the launch profile.+--+-- 'streamConfiguration', 'updateLaunchProfile_streamConfiguration' - A configuration for a streaming session.+--+-- 'studioComponentIds', 'updateLaunchProfile_studioComponentIds' - Unique identifiers for a collection of studio components that can be+-- used with this launch profile.+--+-- 'launchProfileId', 'updateLaunchProfile_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'studioId', 'updateLaunchProfile_studioId' - The studio ID.+newUpdateLaunchProfile ::+ -- | 'launchProfileId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ UpdateLaunchProfile+newUpdateLaunchProfile pLaunchProfileId_ pStudioId_ =+ UpdateLaunchProfile'+ { clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ launchProfileProtocolVersions = Prelude.Nothing,+ name = Prelude.Nothing,+ streamConfiguration = Prelude.Nothing,+ studioComponentIds = Prelude.Nothing,+ launchProfileId = pLaunchProfileId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+updateLaunchProfile_clientToken :: Lens.Lens' UpdateLaunchProfile (Prelude.Maybe Prelude.Text)+updateLaunchProfile_clientToken = Lens.lens (\UpdateLaunchProfile' {clientToken} -> clientToken) (\s@UpdateLaunchProfile' {} a -> s {clientToken = a} :: UpdateLaunchProfile)++-- | The description.+updateLaunchProfile_description :: Lens.Lens' UpdateLaunchProfile (Prelude.Maybe Prelude.Text)+updateLaunchProfile_description = Lens.lens (\UpdateLaunchProfile' {description} -> description) (\s@UpdateLaunchProfile' {} a -> s {description = a} :: UpdateLaunchProfile) Prelude.. Lens.mapping Data._Sensitive++-- | The version number of the protocol that is used by the launch profile.+-- The only valid version is \"2021-03-31\".+updateLaunchProfile_launchProfileProtocolVersions :: Lens.Lens' UpdateLaunchProfile (Prelude.Maybe [Prelude.Text])+updateLaunchProfile_launchProfileProtocolVersions = Lens.lens (\UpdateLaunchProfile' {launchProfileProtocolVersions} -> launchProfileProtocolVersions) (\s@UpdateLaunchProfile' {} a -> s {launchProfileProtocolVersions = a} :: UpdateLaunchProfile) Prelude.. Lens.mapping Lens.coerced++-- | The name for the launch profile.+updateLaunchProfile_name :: Lens.Lens' UpdateLaunchProfile (Prelude.Maybe Prelude.Text)+updateLaunchProfile_name = Lens.lens (\UpdateLaunchProfile' {name} -> name) (\s@UpdateLaunchProfile' {} a -> s {name = a} :: UpdateLaunchProfile) Prelude.. Lens.mapping Data._Sensitive++-- | A configuration for a streaming session.+updateLaunchProfile_streamConfiguration :: Lens.Lens' UpdateLaunchProfile (Prelude.Maybe StreamConfigurationCreate)+updateLaunchProfile_streamConfiguration = Lens.lens (\UpdateLaunchProfile' {streamConfiguration} -> streamConfiguration) (\s@UpdateLaunchProfile' {} a -> s {streamConfiguration = a} :: UpdateLaunchProfile)++-- | Unique identifiers for a collection of studio components that can be+-- used with this launch profile.+updateLaunchProfile_studioComponentIds :: Lens.Lens' UpdateLaunchProfile (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateLaunchProfile_studioComponentIds = Lens.lens (\UpdateLaunchProfile' {studioComponentIds} -> studioComponentIds) (\s@UpdateLaunchProfile' {} a -> s {studioComponentIds = a} :: UpdateLaunchProfile) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the launch profile used to control access from the streaming+-- session.+updateLaunchProfile_launchProfileId :: Lens.Lens' UpdateLaunchProfile Prelude.Text+updateLaunchProfile_launchProfileId = Lens.lens (\UpdateLaunchProfile' {launchProfileId} -> launchProfileId) (\s@UpdateLaunchProfile' {} a -> s {launchProfileId = a} :: UpdateLaunchProfile)++-- | The studio ID.+updateLaunchProfile_studioId :: Lens.Lens' UpdateLaunchProfile Prelude.Text+updateLaunchProfile_studioId = Lens.lens (\UpdateLaunchProfile' {studioId} -> studioId) (\s@UpdateLaunchProfile' {} a -> s {studioId = a} :: UpdateLaunchProfile)++instance Core.AWSRequest UpdateLaunchProfile where+ type+ AWSResponse UpdateLaunchProfile =+ UpdateLaunchProfileResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateLaunchProfileResponse'+ Prelude.<$> (x Data..?> "launchProfile")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateLaunchProfile where+ hashWithSalt _salt UpdateLaunchProfile' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` launchProfileProtocolVersions+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` streamConfiguration+ `Prelude.hashWithSalt` studioComponentIds+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData UpdateLaunchProfile where+ rnf UpdateLaunchProfile' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf launchProfileProtocolVersions+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf streamConfiguration+ `Prelude.seq` Prelude.rnf studioComponentIds+ `Prelude.seq` Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders UpdateLaunchProfile where+ toHeaders UpdateLaunchProfile' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON UpdateLaunchProfile where+ toJSON UpdateLaunchProfile' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("launchProfileProtocolVersions" Data..=)+ Prelude.<$> launchProfileProtocolVersions,+ ("name" Data..=) Prelude.<$> name,+ ("streamConfiguration" Data..=)+ Prelude.<$> streamConfiguration,+ ("studioComponentIds" Data..=)+ Prelude.<$> studioComponentIds+ ]+ )++instance Data.ToPath UpdateLaunchProfile where+ toPath UpdateLaunchProfile' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/launch-profiles/",+ Data.toBS launchProfileId+ ]++instance Data.ToQuery UpdateLaunchProfile where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLaunchProfileResponse' smart constructor.+data UpdateLaunchProfileResponse = UpdateLaunchProfileResponse'+ { -- | The launch profile.+ launchProfile :: Prelude.Maybe LaunchProfile,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLaunchProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchProfile', 'updateLaunchProfileResponse_launchProfile' - The launch profile.+--+-- 'httpStatus', 'updateLaunchProfileResponse_httpStatus' - The response's http status code.+newUpdateLaunchProfileResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateLaunchProfileResponse+newUpdateLaunchProfileResponse pHttpStatus_ =+ UpdateLaunchProfileResponse'+ { launchProfile =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The launch profile.+updateLaunchProfileResponse_launchProfile :: Lens.Lens' UpdateLaunchProfileResponse (Prelude.Maybe LaunchProfile)+updateLaunchProfileResponse_launchProfile = Lens.lens (\UpdateLaunchProfileResponse' {launchProfile} -> launchProfile) (\s@UpdateLaunchProfileResponse' {} a -> s {launchProfile = a} :: UpdateLaunchProfileResponse)++-- | The response's http status code.+updateLaunchProfileResponse_httpStatus :: Lens.Lens' UpdateLaunchProfileResponse Prelude.Int+updateLaunchProfileResponse_httpStatus = Lens.lens (\UpdateLaunchProfileResponse' {httpStatus} -> httpStatus) (\s@UpdateLaunchProfileResponse' {} a -> s {httpStatus = a} :: UpdateLaunchProfileResponse)++instance Prelude.NFData UpdateLaunchProfileResponse where+ rnf UpdateLaunchProfileResponse' {..} =+ Prelude.rnf launchProfile+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/UpdateLaunchProfileMember.hs view
@@ -0,0 +1,247 @@+{-# 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.Nimble.UpdateLaunchProfileMember+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update a user persona in launch profile membership.+module Amazonka.Nimble.UpdateLaunchProfileMember+ ( -- * Creating a Request+ UpdateLaunchProfileMember (..),+ newUpdateLaunchProfileMember,++ -- * Request Lenses+ updateLaunchProfileMember_clientToken,+ updateLaunchProfileMember_launchProfileId,+ updateLaunchProfileMember_persona,+ updateLaunchProfileMember_principalId,+ updateLaunchProfileMember_studioId,++ -- * Destructuring the Response+ UpdateLaunchProfileMemberResponse (..),+ newUpdateLaunchProfileMemberResponse,++ -- * Response Lenses+ updateLaunchProfileMemberResponse_member,+ updateLaunchProfileMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLaunchProfileMember' smart constructor.+data UpdateLaunchProfileMember = UpdateLaunchProfileMember'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the launch profile used to control access from the streaming+ -- session.+ launchProfileId :: Prelude.Text,+ -- | The persona.+ persona :: LaunchProfilePersona,+ -- | The principal ID. This currently supports a IAM Identity Center UserId.+ principalId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLaunchProfileMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateLaunchProfileMember_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'launchProfileId', 'updateLaunchProfileMember_launchProfileId' - The ID of the launch profile used to control access from the streaming+-- session.+--+-- 'persona', 'updateLaunchProfileMember_persona' - The persona.+--+-- 'principalId', 'updateLaunchProfileMember_principalId' - The principal ID. This currently supports a IAM Identity Center UserId.+--+-- 'studioId', 'updateLaunchProfileMember_studioId' - The studio ID.+newUpdateLaunchProfileMember ::+ -- | 'launchProfileId'+ Prelude.Text ->+ -- | 'persona'+ LaunchProfilePersona ->+ -- | 'principalId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ UpdateLaunchProfileMember+newUpdateLaunchProfileMember+ pLaunchProfileId_+ pPersona_+ pPrincipalId_+ pStudioId_ =+ UpdateLaunchProfileMember'+ { clientToken =+ Prelude.Nothing,+ launchProfileId = pLaunchProfileId_,+ persona = pPersona_,+ principalId = pPrincipalId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+updateLaunchProfileMember_clientToken :: Lens.Lens' UpdateLaunchProfileMember (Prelude.Maybe Prelude.Text)+updateLaunchProfileMember_clientToken = Lens.lens (\UpdateLaunchProfileMember' {clientToken} -> clientToken) (\s@UpdateLaunchProfileMember' {} a -> s {clientToken = a} :: UpdateLaunchProfileMember)++-- | The ID of the launch profile used to control access from the streaming+-- session.+updateLaunchProfileMember_launchProfileId :: Lens.Lens' UpdateLaunchProfileMember Prelude.Text+updateLaunchProfileMember_launchProfileId = Lens.lens (\UpdateLaunchProfileMember' {launchProfileId} -> launchProfileId) (\s@UpdateLaunchProfileMember' {} a -> s {launchProfileId = a} :: UpdateLaunchProfileMember)++-- | The persona.+updateLaunchProfileMember_persona :: Lens.Lens' UpdateLaunchProfileMember LaunchProfilePersona+updateLaunchProfileMember_persona = Lens.lens (\UpdateLaunchProfileMember' {persona} -> persona) (\s@UpdateLaunchProfileMember' {} a -> s {persona = a} :: UpdateLaunchProfileMember)++-- | The principal ID. This currently supports a IAM Identity Center UserId.+updateLaunchProfileMember_principalId :: Lens.Lens' UpdateLaunchProfileMember Prelude.Text+updateLaunchProfileMember_principalId = Lens.lens (\UpdateLaunchProfileMember' {principalId} -> principalId) (\s@UpdateLaunchProfileMember' {} a -> s {principalId = a} :: UpdateLaunchProfileMember)++-- | The studio ID.+updateLaunchProfileMember_studioId :: Lens.Lens' UpdateLaunchProfileMember Prelude.Text+updateLaunchProfileMember_studioId = Lens.lens (\UpdateLaunchProfileMember' {studioId} -> studioId) (\s@UpdateLaunchProfileMember' {} a -> s {studioId = a} :: UpdateLaunchProfileMember)++instance Core.AWSRequest UpdateLaunchProfileMember where+ type+ AWSResponse UpdateLaunchProfileMember =+ UpdateLaunchProfileMemberResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateLaunchProfileMemberResponse'+ Prelude.<$> (x Data..?> "member")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateLaunchProfileMember where+ hashWithSalt _salt UpdateLaunchProfileMember' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` launchProfileId+ `Prelude.hashWithSalt` persona+ `Prelude.hashWithSalt` principalId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData UpdateLaunchProfileMember where+ rnf UpdateLaunchProfileMember' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf launchProfileId+ `Prelude.seq` Prelude.rnf persona+ `Prelude.seq` Prelude.rnf principalId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders UpdateLaunchProfileMember where+ toHeaders UpdateLaunchProfileMember' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON UpdateLaunchProfileMember where+ toJSON UpdateLaunchProfileMember' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("persona" Data..= persona)]+ )++instance Data.ToPath UpdateLaunchProfileMember where+ toPath UpdateLaunchProfileMember' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/launch-profiles/",+ Data.toBS launchProfileId,+ "/membership/",+ Data.toBS principalId+ ]++instance Data.ToQuery UpdateLaunchProfileMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLaunchProfileMemberResponse' smart constructor.+data UpdateLaunchProfileMemberResponse = UpdateLaunchProfileMemberResponse'+ { -- | The updated member.+ member :: Prelude.Maybe LaunchProfileMembership,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLaunchProfileMemberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'member', 'updateLaunchProfileMemberResponse_member' - The updated member.+--+-- 'httpStatus', 'updateLaunchProfileMemberResponse_httpStatus' - The response's http status code.+newUpdateLaunchProfileMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateLaunchProfileMemberResponse+newUpdateLaunchProfileMemberResponse pHttpStatus_ =+ UpdateLaunchProfileMemberResponse'+ { member =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The updated member.+updateLaunchProfileMemberResponse_member :: Lens.Lens' UpdateLaunchProfileMemberResponse (Prelude.Maybe LaunchProfileMembership)+updateLaunchProfileMemberResponse_member = Lens.lens (\UpdateLaunchProfileMemberResponse' {member} -> member) (\s@UpdateLaunchProfileMemberResponse' {} a -> s {member = a} :: UpdateLaunchProfileMemberResponse)++-- | The response's http status code.+updateLaunchProfileMemberResponse_httpStatus :: Lens.Lens' UpdateLaunchProfileMemberResponse Prelude.Int+updateLaunchProfileMemberResponse_httpStatus = Lens.lens (\UpdateLaunchProfileMemberResponse' {httpStatus} -> httpStatus) (\s@UpdateLaunchProfileMemberResponse' {} a -> s {httpStatus = a} :: UpdateLaunchProfileMemberResponse)++instance+ Prelude.NFData+ UpdateLaunchProfileMemberResponse+ where+ rnf UpdateLaunchProfileMemberResponse' {..} =+ Prelude.rnf member+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/UpdateStreamingImage.hs view
@@ -0,0 +1,232 @@+{-# 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.Nimble.UpdateStreamingImage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update streaming image.+module Amazonka.Nimble.UpdateStreamingImage+ ( -- * Creating a Request+ UpdateStreamingImage (..),+ newUpdateStreamingImage,++ -- * Request Lenses+ updateStreamingImage_clientToken,+ updateStreamingImage_description,+ updateStreamingImage_name,+ updateStreamingImage_streamingImageId,+ updateStreamingImage_studioId,++ -- * Destructuring the Response+ UpdateStreamingImageResponse (..),+ newUpdateStreamingImageResponse,++ -- * Response Lenses+ updateStreamingImageResponse_streamingImage,+ updateStreamingImageResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateStreamingImage' smart constructor.+data UpdateStreamingImage = UpdateStreamingImage'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The description.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The name for the streaming image.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The streaming image ID.+ streamingImageId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateStreamingImage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateStreamingImage_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'description', 'updateStreamingImage_description' - The description.+--+-- 'name', 'updateStreamingImage_name' - The name for the streaming image.+--+-- 'streamingImageId', 'updateStreamingImage_streamingImageId' - The streaming image ID.+--+-- 'studioId', 'updateStreamingImage_studioId' - The studio ID.+newUpdateStreamingImage ::+ -- | 'streamingImageId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ UpdateStreamingImage+newUpdateStreamingImage pStreamingImageId_ pStudioId_ =+ UpdateStreamingImage'+ { clientToken =+ Prelude.Nothing,+ description = Prelude.Nothing,+ name = Prelude.Nothing,+ streamingImageId = pStreamingImageId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+updateStreamingImage_clientToken :: Lens.Lens' UpdateStreamingImage (Prelude.Maybe Prelude.Text)+updateStreamingImage_clientToken = Lens.lens (\UpdateStreamingImage' {clientToken} -> clientToken) (\s@UpdateStreamingImage' {} a -> s {clientToken = a} :: UpdateStreamingImage)++-- | The description.+updateStreamingImage_description :: Lens.Lens' UpdateStreamingImage (Prelude.Maybe Prelude.Text)+updateStreamingImage_description = Lens.lens (\UpdateStreamingImage' {description} -> description) (\s@UpdateStreamingImage' {} a -> s {description = a} :: UpdateStreamingImage) Prelude.. Lens.mapping Data._Sensitive++-- | The name for the streaming image.+updateStreamingImage_name :: Lens.Lens' UpdateStreamingImage (Prelude.Maybe Prelude.Text)+updateStreamingImage_name = Lens.lens (\UpdateStreamingImage' {name} -> name) (\s@UpdateStreamingImage' {} a -> s {name = a} :: UpdateStreamingImage) Prelude.. Lens.mapping Data._Sensitive++-- | The streaming image ID.+updateStreamingImage_streamingImageId :: Lens.Lens' UpdateStreamingImage Prelude.Text+updateStreamingImage_streamingImageId = Lens.lens (\UpdateStreamingImage' {streamingImageId} -> streamingImageId) (\s@UpdateStreamingImage' {} a -> s {streamingImageId = a} :: UpdateStreamingImage)++-- | The studio ID.+updateStreamingImage_studioId :: Lens.Lens' UpdateStreamingImage Prelude.Text+updateStreamingImage_studioId = Lens.lens (\UpdateStreamingImage' {studioId} -> studioId) (\s@UpdateStreamingImage' {} a -> s {studioId = a} :: UpdateStreamingImage)++instance Core.AWSRequest UpdateStreamingImage where+ type+ AWSResponse UpdateStreamingImage =+ UpdateStreamingImageResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateStreamingImageResponse'+ Prelude.<$> (x Data..?> "streamingImage")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateStreamingImage where+ hashWithSalt _salt UpdateStreamingImage' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` streamingImageId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData UpdateStreamingImage where+ rnf UpdateStreamingImage' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf streamingImageId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders UpdateStreamingImage where+ toHeaders UpdateStreamingImage' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON UpdateStreamingImage where+ toJSON UpdateStreamingImage' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("name" Data..=) Prelude.<$> name+ ]+ )++instance Data.ToPath UpdateStreamingImage where+ toPath UpdateStreamingImage' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/streaming-images/",+ Data.toBS streamingImageId+ ]++instance Data.ToQuery UpdateStreamingImage where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateStreamingImageResponse' smart constructor.+data UpdateStreamingImageResponse = UpdateStreamingImageResponse'+ { streamingImage :: Prelude.Maybe StreamingImage,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateStreamingImageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'streamingImage', 'updateStreamingImageResponse_streamingImage' - Undocumented member.+--+-- 'httpStatus', 'updateStreamingImageResponse_httpStatus' - The response's http status code.+newUpdateStreamingImageResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateStreamingImageResponse+newUpdateStreamingImageResponse pHttpStatus_ =+ UpdateStreamingImageResponse'+ { streamingImage =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+updateStreamingImageResponse_streamingImage :: Lens.Lens' UpdateStreamingImageResponse (Prelude.Maybe StreamingImage)+updateStreamingImageResponse_streamingImage = Lens.lens (\UpdateStreamingImageResponse' {streamingImage} -> streamingImage) (\s@UpdateStreamingImageResponse' {} a -> s {streamingImage = a} :: UpdateStreamingImageResponse)++-- | The response's http status code.+updateStreamingImageResponse_httpStatus :: Lens.Lens' UpdateStreamingImageResponse Prelude.Int+updateStreamingImageResponse_httpStatus = Lens.lens (\UpdateStreamingImageResponse' {httpStatus} -> httpStatus) (\s@UpdateStreamingImageResponse' {} a -> s {httpStatus = a} :: UpdateStreamingImageResponse)++instance Prelude.NFData UpdateStreamingImageResponse where+ rnf UpdateStreamingImageResponse' {..} =+ Prelude.rnf streamingImage+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/UpdateStudio.hs view
@@ -0,0 +1,235 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Nimble.UpdateStudio+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update a Studio resource.+--+-- Currently, this operation only supports updating the displayName of your+-- studio.+module Amazonka.Nimble.UpdateStudio+ ( -- * Creating a Request+ UpdateStudio (..),+ newUpdateStudio,++ -- * Request Lenses+ updateStudio_adminRoleArn,+ updateStudio_clientToken,+ updateStudio_displayName,+ updateStudio_userRoleArn,+ updateStudio_studioId,++ -- * Destructuring the Response+ UpdateStudioResponse (..),+ newUpdateStudioResponse,++ -- * Response Lenses+ updateStudioResponse_httpStatus,+ updateStudioResponse_studio,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateStudio' smart constructor.+data UpdateStudio = UpdateStudio'+ { -- | The IAM role that Studio Admins will assume when logging in to the+ -- Nimble Studio portal.+ adminRoleArn :: Prelude.Maybe Prelude.Text,+ -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A friendly name for the studio.+ displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The IAM role that Studio Users will assume when logging in to the Nimble+ -- Studio portal.+ userRoleArn :: Prelude.Maybe Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateStudio' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adminRoleArn', 'updateStudio_adminRoleArn' - The IAM role that Studio Admins will assume when logging in to the+-- Nimble Studio portal.+--+-- 'clientToken', 'updateStudio_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'displayName', 'updateStudio_displayName' - A friendly name for the studio.+--+-- 'userRoleArn', 'updateStudio_userRoleArn' - The IAM role that Studio Users will assume when logging in to the Nimble+-- Studio portal.+--+-- 'studioId', 'updateStudio_studioId' - The studio ID.+newUpdateStudio ::+ -- | 'studioId'+ Prelude.Text ->+ UpdateStudio+newUpdateStudio pStudioId_ =+ UpdateStudio'+ { adminRoleArn = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ displayName = Prelude.Nothing,+ userRoleArn = Prelude.Nothing,+ studioId = pStudioId_+ }++-- | The IAM role that Studio Admins will assume when logging in to the+-- Nimble Studio portal.+updateStudio_adminRoleArn :: Lens.Lens' UpdateStudio (Prelude.Maybe Prelude.Text)+updateStudio_adminRoleArn = Lens.lens (\UpdateStudio' {adminRoleArn} -> adminRoleArn) (\s@UpdateStudio' {} a -> s {adminRoleArn = a} :: UpdateStudio)++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+updateStudio_clientToken :: Lens.Lens' UpdateStudio (Prelude.Maybe Prelude.Text)+updateStudio_clientToken = Lens.lens (\UpdateStudio' {clientToken} -> clientToken) (\s@UpdateStudio' {} a -> s {clientToken = a} :: UpdateStudio)++-- | A friendly name for the studio.+updateStudio_displayName :: Lens.Lens' UpdateStudio (Prelude.Maybe Prelude.Text)+updateStudio_displayName = Lens.lens (\UpdateStudio' {displayName} -> displayName) (\s@UpdateStudio' {} a -> s {displayName = a} :: UpdateStudio) Prelude.. Lens.mapping Data._Sensitive++-- | The IAM role that Studio Users will assume when logging in to the Nimble+-- Studio portal.+updateStudio_userRoleArn :: Lens.Lens' UpdateStudio (Prelude.Maybe Prelude.Text)+updateStudio_userRoleArn = Lens.lens (\UpdateStudio' {userRoleArn} -> userRoleArn) (\s@UpdateStudio' {} a -> s {userRoleArn = a} :: UpdateStudio)++-- | The studio ID.+updateStudio_studioId :: Lens.Lens' UpdateStudio Prelude.Text+updateStudio_studioId = Lens.lens (\UpdateStudio' {studioId} -> studioId) (\s@UpdateStudio' {} a -> s {studioId = a} :: UpdateStudio)++instance Core.AWSRequest UpdateStudio where+ type AWSResponse UpdateStudio = UpdateStudioResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateStudioResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "studio")+ )++instance Prelude.Hashable UpdateStudio where+ hashWithSalt _salt UpdateStudio' {..} =+ _salt+ `Prelude.hashWithSalt` adminRoleArn+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` displayName+ `Prelude.hashWithSalt` userRoleArn+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData UpdateStudio where+ rnf UpdateStudio' {..} =+ Prelude.rnf adminRoleArn+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf displayName+ `Prelude.seq` Prelude.rnf userRoleArn+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders UpdateStudio where+ toHeaders UpdateStudio' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON UpdateStudio where+ toJSON UpdateStudio' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("adminRoleArn" Data..=) Prelude.<$> adminRoleArn,+ ("displayName" Data..=) Prelude.<$> displayName,+ ("userRoleArn" Data..=) Prelude.<$> userRoleArn+ ]+ )++instance Data.ToPath UpdateStudio where+ toPath UpdateStudio' {..} =+ Prelude.mconcat+ ["/2020-08-01/studios/", Data.toBS studioId]++instance Data.ToQuery UpdateStudio where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateStudioResponse' smart constructor.+data UpdateStudioResponse = UpdateStudioResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Information about a studio.+ studio :: Studio+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateStudioResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateStudioResponse_httpStatus' - The response's http status code.+--+-- 'studio', 'updateStudioResponse_studio' - Information about a studio.+newUpdateStudioResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'studio'+ Studio ->+ UpdateStudioResponse+newUpdateStudioResponse pHttpStatus_ pStudio_ =+ UpdateStudioResponse'+ { httpStatus = pHttpStatus_,+ studio = pStudio_+ }++-- | The response's http status code.+updateStudioResponse_httpStatus :: Lens.Lens' UpdateStudioResponse Prelude.Int+updateStudioResponse_httpStatus = Lens.lens (\UpdateStudioResponse' {httpStatus} -> httpStatus) (\s@UpdateStudioResponse' {} a -> s {httpStatus = a} :: UpdateStudioResponse)++-- | Information about a studio.+updateStudioResponse_studio :: Lens.Lens' UpdateStudioResponse Studio+updateStudioResponse_studio = Lens.lens (\UpdateStudioResponse' {studio} -> studio) (\s@UpdateStudioResponse' {} a -> s {studio = a} :: UpdateStudioResponse)++instance Prelude.NFData UpdateStudioResponse where+ rnf UpdateStudioResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf studio
+ gen/Amazonka/Nimble/UpdateStudioComponent.hs view
@@ -0,0 +1,356 @@+{-# 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.Nimble.UpdateStudioComponent+-- 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 studio component resource.+module Amazonka.Nimble.UpdateStudioComponent+ ( -- * Creating a Request+ UpdateStudioComponent (..),+ newUpdateStudioComponent,++ -- * Request Lenses+ updateStudioComponent_clientToken,+ updateStudioComponent_configuration,+ updateStudioComponent_description,+ updateStudioComponent_ec2SecurityGroupIds,+ updateStudioComponent_initializationScripts,+ updateStudioComponent_name,+ updateStudioComponent_runtimeRoleArn,+ updateStudioComponent_scriptParameters,+ updateStudioComponent_secureInitializationRoleArn,+ updateStudioComponent_subtype,+ updateStudioComponent_type,+ updateStudioComponent_studioComponentId,+ updateStudioComponent_studioId,++ -- * Destructuring the Response+ UpdateStudioComponentResponse (..),+ newUpdateStudioComponentResponse,++ -- * Response Lenses+ updateStudioComponentResponse_studioComponent,+ updateStudioComponentResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateStudioComponent' smart constructor.+data UpdateStudioComponent = UpdateStudioComponent'+ { -- | Unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the request. If you don’t specify a client token, the+ -- Amazon Web Services SDK automatically generates a client token and uses+ -- it for the request to ensure idempotency.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The configuration of the studio component, based on component type.+ configuration :: Prelude.Maybe StudioComponentConfiguration,+ -- | The description.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The EC2 security groups that control access to the studio component.+ ec2SecurityGroupIds :: Prelude.Maybe [Prelude.Text],+ -- | Initialization scripts for studio components.+ initializationScripts :: Prelude.Maybe [StudioComponentInitializationScript],+ -- | The name for the studio component.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | An IAM role attached to a Studio Component that gives the studio+ -- component access to Amazon Web Services resources at anytime while the+ -- instance is running.+ runtimeRoleArn :: Prelude.Maybe Prelude.Text,+ -- | Parameters for the studio component scripts.+ scriptParameters :: Prelude.Maybe (Data.Sensitive [ScriptParameterKeyValue]),+ -- | An IAM role attached to Studio Component when the system initialization+ -- script runs which give the studio component access to Amazon Web+ -- Services resources when the system initialization script runs.+ secureInitializationRoleArn :: Prelude.Maybe Prelude.Text,+ -- | The specific subtype of a studio component.+ subtype :: Prelude.Maybe StudioComponentSubtype,+ -- | The type of the studio component.+ type' :: Prelude.Maybe StudioComponentType,+ -- | The studio component ID.+ studioComponentId :: Prelude.Text,+ -- | The studio ID.+ studioId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateStudioComponent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateStudioComponent_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+--+-- 'configuration', 'updateStudioComponent_configuration' - The configuration of the studio component, based on component type.+--+-- 'description', 'updateStudioComponent_description' - The description.+--+-- 'ec2SecurityGroupIds', 'updateStudioComponent_ec2SecurityGroupIds' - The EC2 security groups that control access to the studio component.+--+-- 'initializationScripts', 'updateStudioComponent_initializationScripts' - Initialization scripts for studio components.+--+-- 'name', 'updateStudioComponent_name' - The name for the studio component.+--+-- 'runtimeRoleArn', 'updateStudioComponent_runtimeRoleArn' - An IAM role attached to a Studio Component that gives the studio+-- component access to Amazon Web Services resources at anytime while the+-- instance is running.+--+-- 'scriptParameters', 'updateStudioComponent_scriptParameters' - Parameters for the studio component scripts.+--+-- 'secureInitializationRoleArn', 'updateStudioComponent_secureInitializationRoleArn' - An IAM role attached to Studio Component when the system initialization+-- script runs which give the studio component access to Amazon Web+-- Services resources when the system initialization script runs.+--+-- 'subtype', 'updateStudioComponent_subtype' - The specific subtype of a studio component.+--+-- 'type'', 'updateStudioComponent_type' - The type of the studio component.+--+-- 'studioComponentId', 'updateStudioComponent_studioComponentId' - The studio component ID.+--+-- 'studioId', 'updateStudioComponent_studioId' - The studio ID.+newUpdateStudioComponent ::+ -- | 'studioComponentId'+ Prelude.Text ->+ -- | 'studioId'+ Prelude.Text ->+ UpdateStudioComponent+newUpdateStudioComponent+ pStudioComponentId_+ pStudioId_ =+ UpdateStudioComponent'+ { clientToken =+ Prelude.Nothing,+ configuration = Prelude.Nothing,+ description = Prelude.Nothing,+ ec2SecurityGroupIds = Prelude.Nothing,+ initializationScripts = Prelude.Nothing,+ name = Prelude.Nothing,+ runtimeRoleArn = Prelude.Nothing,+ scriptParameters = Prelude.Nothing,+ secureInitializationRoleArn = Prelude.Nothing,+ subtype = Prelude.Nothing,+ type' = Prelude.Nothing,+ studioComponentId = pStudioComponentId_,+ studioId = pStudioId_+ }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. If you don’t specify a client token, the+-- Amazon Web Services SDK automatically generates a client token and uses+-- it for the request to ensure idempotency.+updateStudioComponent_clientToken :: Lens.Lens' UpdateStudioComponent (Prelude.Maybe Prelude.Text)+updateStudioComponent_clientToken = Lens.lens (\UpdateStudioComponent' {clientToken} -> clientToken) (\s@UpdateStudioComponent' {} a -> s {clientToken = a} :: UpdateStudioComponent)++-- | The configuration of the studio component, based on component type.+updateStudioComponent_configuration :: Lens.Lens' UpdateStudioComponent (Prelude.Maybe StudioComponentConfiguration)+updateStudioComponent_configuration = Lens.lens (\UpdateStudioComponent' {configuration} -> configuration) (\s@UpdateStudioComponent' {} a -> s {configuration = a} :: UpdateStudioComponent)++-- | The description.+updateStudioComponent_description :: Lens.Lens' UpdateStudioComponent (Prelude.Maybe Prelude.Text)+updateStudioComponent_description = Lens.lens (\UpdateStudioComponent' {description} -> description) (\s@UpdateStudioComponent' {} a -> s {description = a} :: UpdateStudioComponent) Prelude.. Lens.mapping Data._Sensitive++-- | The EC2 security groups that control access to the studio component.+updateStudioComponent_ec2SecurityGroupIds :: Lens.Lens' UpdateStudioComponent (Prelude.Maybe [Prelude.Text])+updateStudioComponent_ec2SecurityGroupIds = Lens.lens (\UpdateStudioComponent' {ec2SecurityGroupIds} -> ec2SecurityGroupIds) (\s@UpdateStudioComponent' {} a -> s {ec2SecurityGroupIds = a} :: UpdateStudioComponent) Prelude.. Lens.mapping Lens.coerced++-- | Initialization scripts for studio components.+updateStudioComponent_initializationScripts :: Lens.Lens' UpdateStudioComponent (Prelude.Maybe [StudioComponentInitializationScript])+updateStudioComponent_initializationScripts = Lens.lens (\UpdateStudioComponent' {initializationScripts} -> initializationScripts) (\s@UpdateStudioComponent' {} a -> s {initializationScripts = a} :: UpdateStudioComponent) Prelude.. Lens.mapping Lens.coerced++-- | The name for the studio component.+updateStudioComponent_name :: Lens.Lens' UpdateStudioComponent (Prelude.Maybe Prelude.Text)+updateStudioComponent_name = Lens.lens (\UpdateStudioComponent' {name} -> name) (\s@UpdateStudioComponent' {} a -> s {name = a} :: UpdateStudioComponent) Prelude.. Lens.mapping Data._Sensitive++-- | An IAM role attached to a Studio Component that gives the studio+-- component access to Amazon Web Services resources at anytime while the+-- instance is running.+updateStudioComponent_runtimeRoleArn :: Lens.Lens' UpdateStudioComponent (Prelude.Maybe Prelude.Text)+updateStudioComponent_runtimeRoleArn = Lens.lens (\UpdateStudioComponent' {runtimeRoleArn} -> runtimeRoleArn) (\s@UpdateStudioComponent' {} a -> s {runtimeRoleArn = a} :: UpdateStudioComponent)++-- | Parameters for the studio component scripts.+updateStudioComponent_scriptParameters :: Lens.Lens' UpdateStudioComponent (Prelude.Maybe [ScriptParameterKeyValue])+updateStudioComponent_scriptParameters = Lens.lens (\UpdateStudioComponent' {scriptParameters} -> scriptParameters) (\s@UpdateStudioComponent' {} a -> s {scriptParameters = a} :: UpdateStudioComponent) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | An IAM role attached to Studio Component when the system initialization+-- script runs which give the studio component access to Amazon Web+-- Services resources when the system initialization script runs.+updateStudioComponent_secureInitializationRoleArn :: Lens.Lens' UpdateStudioComponent (Prelude.Maybe Prelude.Text)+updateStudioComponent_secureInitializationRoleArn = Lens.lens (\UpdateStudioComponent' {secureInitializationRoleArn} -> secureInitializationRoleArn) (\s@UpdateStudioComponent' {} a -> s {secureInitializationRoleArn = a} :: UpdateStudioComponent)++-- | The specific subtype of a studio component.+updateStudioComponent_subtype :: Lens.Lens' UpdateStudioComponent (Prelude.Maybe StudioComponentSubtype)+updateStudioComponent_subtype = Lens.lens (\UpdateStudioComponent' {subtype} -> subtype) (\s@UpdateStudioComponent' {} a -> s {subtype = a} :: UpdateStudioComponent)++-- | The type of the studio component.+updateStudioComponent_type :: Lens.Lens' UpdateStudioComponent (Prelude.Maybe StudioComponentType)+updateStudioComponent_type = Lens.lens (\UpdateStudioComponent' {type'} -> type') (\s@UpdateStudioComponent' {} a -> s {type' = a} :: UpdateStudioComponent)++-- | The studio component ID.+updateStudioComponent_studioComponentId :: Lens.Lens' UpdateStudioComponent Prelude.Text+updateStudioComponent_studioComponentId = Lens.lens (\UpdateStudioComponent' {studioComponentId} -> studioComponentId) (\s@UpdateStudioComponent' {} a -> s {studioComponentId = a} :: UpdateStudioComponent)++-- | The studio ID.+updateStudioComponent_studioId :: Lens.Lens' UpdateStudioComponent Prelude.Text+updateStudioComponent_studioId = Lens.lens (\UpdateStudioComponent' {studioId} -> studioId) (\s@UpdateStudioComponent' {} a -> s {studioId = a} :: UpdateStudioComponent)++instance Core.AWSRequest UpdateStudioComponent where+ type+ AWSResponse UpdateStudioComponent =+ UpdateStudioComponentResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateStudioComponentResponse'+ Prelude.<$> (x Data..?> "studioComponent")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateStudioComponent where+ hashWithSalt _salt UpdateStudioComponent' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` configuration+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` ec2SecurityGroupIds+ `Prelude.hashWithSalt` initializationScripts+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` runtimeRoleArn+ `Prelude.hashWithSalt` scriptParameters+ `Prelude.hashWithSalt` secureInitializationRoleArn+ `Prelude.hashWithSalt` subtype+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` studioComponentId+ `Prelude.hashWithSalt` studioId++instance Prelude.NFData UpdateStudioComponent where+ rnf UpdateStudioComponent' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf configuration+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf ec2SecurityGroupIds+ `Prelude.seq` Prelude.rnf initializationScripts+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf runtimeRoleArn+ `Prelude.seq` Prelude.rnf scriptParameters+ `Prelude.seq` Prelude.rnf secureInitializationRoleArn+ `Prelude.seq` Prelude.rnf subtype+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf studioComponentId+ `Prelude.seq` Prelude.rnf studioId++instance Data.ToHeaders UpdateStudioComponent where+ toHeaders UpdateStudioComponent' {..} =+ Prelude.mconcat+ [ "X-Amz-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON UpdateStudioComponent where+ toJSON UpdateStudioComponent' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("configuration" Data..=) Prelude.<$> configuration,+ ("description" Data..=) Prelude.<$> description,+ ("ec2SecurityGroupIds" Data..=)+ Prelude.<$> ec2SecurityGroupIds,+ ("initializationScripts" Data..=)+ Prelude.<$> initializationScripts,+ ("name" Data..=) Prelude.<$> name,+ ("runtimeRoleArn" Data..=)+ Prelude.<$> runtimeRoleArn,+ ("scriptParameters" Data..=)+ Prelude.<$> scriptParameters,+ ("secureInitializationRoleArn" Data..=)+ Prelude.<$> secureInitializationRoleArn,+ ("subtype" Data..=) Prelude.<$> subtype,+ ("type" Data..=) Prelude.<$> type'+ ]+ )++instance Data.ToPath UpdateStudioComponent where+ toPath UpdateStudioComponent' {..} =+ Prelude.mconcat+ [ "/2020-08-01/studios/",+ Data.toBS studioId,+ "/studio-components/",+ Data.toBS studioComponentId+ ]++instance Data.ToQuery UpdateStudioComponent where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateStudioComponentResponse' smart constructor.+data UpdateStudioComponentResponse = UpdateStudioComponentResponse'+ { -- | Information about the studio component.+ studioComponent :: Prelude.Maybe StudioComponent,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateStudioComponentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'studioComponent', 'updateStudioComponentResponse_studioComponent' - Information about the studio component.+--+-- 'httpStatus', 'updateStudioComponentResponse_httpStatus' - The response's http status code.+newUpdateStudioComponentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateStudioComponentResponse+newUpdateStudioComponentResponse pHttpStatus_ =+ UpdateStudioComponentResponse'+ { studioComponent =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the studio component.+updateStudioComponentResponse_studioComponent :: Lens.Lens' UpdateStudioComponentResponse (Prelude.Maybe StudioComponent)+updateStudioComponentResponse_studioComponent = Lens.lens (\UpdateStudioComponentResponse' {studioComponent} -> studioComponent) (\s@UpdateStudioComponentResponse' {} a -> s {studioComponent = a} :: UpdateStudioComponentResponse)++-- | The response's http status code.+updateStudioComponentResponse_httpStatus :: Lens.Lens' UpdateStudioComponentResponse Prelude.Int+updateStudioComponentResponse_httpStatus = Lens.lens (\UpdateStudioComponentResponse' {httpStatus} -> httpStatus) (\s@UpdateStudioComponentResponse' {} a -> s {httpStatus = a} :: UpdateStudioComponentResponse)++instance Prelude.NFData UpdateStudioComponentResponse where+ rnf UpdateStudioComponentResponse' {..} =+ Prelude.rnf studioComponent+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Nimble/Waiters.hs view
@@ -0,0 +1,419 @@+{-# 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.Nimble.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.Nimble.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Nimble.GetLaunchProfile+import Amazonka.Nimble.GetStreamingImage+import Amazonka.Nimble.GetStreamingSession+import Amazonka.Nimble.GetStreamingSessionStream+import Amazonka.Nimble.GetStudio+import Amazonka.Nimble.GetStudioComponent+import Amazonka.Nimble.Lens+import Amazonka.Nimble.Types+import qualified Amazonka.Prelude as Prelude++-- | Polls 'Amazonka.Nimble.GetLaunchProfile' every 5 seconds until a successful state is reached. An error is returned after 150 failed checks.+newLaunchProfileDeleted :: Core.Wait GetLaunchProfile+newLaunchProfileDeleted =+ Core.Wait+ { Core.name = "LaunchProfileDeleted",+ Core.attempts = 150,+ Core.delay = 5,+ Core.acceptors =+ [ Core.matchAll+ "DELETED"+ Core.AcceptSuccess+ ( getLaunchProfileResponse_launchProfile+ Prelude.. Lens._Just+ Prelude.. launchProfile_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "DELETE_FAILED"+ Core.AcceptFailure+ ( getLaunchProfileResponse_launchProfile+ Prelude.. Lens._Just+ Prelude.. launchProfile_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.Nimble.GetLaunchProfile' every 5 seconds until a successful state is reached. An error is returned after 150 failed checks.+newLaunchProfileReady :: Core.Wait GetLaunchProfile+newLaunchProfileReady =+ Core.Wait+ { Core.name = "LaunchProfileReady",+ Core.attempts = 150,+ Core.delay = 5,+ Core.acceptors =+ [ Core.matchAll+ "READY"+ Core.AcceptSuccess+ ( getLaunchProfileResponse_launchProfile+ Prelude.. Lens._Just+ Prelude.. launchProfile_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "CREATE_FAILED"+ Core.AcceptFailure+ ( getLaunchProfileResponse_launchProfile+ Prelude.. Lens._Just+ Prelude.. launchProfile_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "UPDATE_FAILED"+ Core.AcceptFailure+ ( getLaunchProfileResponse_launchProfile+ Prelude.. Lens._Just+ Prelude.. launchProfile_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.Nimble.GetStreamingImage' every 2 seconds until a successful state is reached. An error is returned after 60 failed checks.+newStreamingImageDeleted :: Core.Wait GetStreamingImage+newStreamingImageDeleted =+ Core.Wait+ { Core.name = "StreamingImageDeleted",+ Core.attempts = 60,+ Core.delay = 2,+ Core.acceptors =+ [ Core.matchAll+ "DELETED"+ Core.AcceptSuccess+ ( getStreamingImageResponse_streamingImage+ Prelude.. Lens._Just+ Prelude.. streamingImage_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "DELETE_FAILED"+ Core.AcceptFailure+ ( getStreamingImageResponse_streamingImage+ Prelude.. Lens._Just+ Prelude.. streamingImage_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.Nimble.GetStreamingImage' every 2 seconds until a successful state is reached. An error is returned after 60 failed checks.+newStreamingImageReady :: Core.Wait GetStreamingImage+newStreamingImageReady =+ Core.Wait+ { Core.name = "StreamingImageReady",+ Core.attempts = 60,+ Core.delay = 2,+ Core.acceptors =+ [ Core.matchAll+ "READY"+ Core.AcceptSuccess+ ( getStreamingImageResponse_streamingImage+ Prelude.. Lens._Just+ Prelude.. streamingImage_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "CREATE_FAILED"+ Core.AcceptFailure+ ( getStreamingImageResponse_streamingImage+ Prelude.. Lens._Just+ Prelude.. streamingImage_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "UPDATE_FAILED"+ Core.AcceptFailure+ ( getStreamingImageResponse_streamingImage+ Prelude.. Lens._Just+ Prelude.. streamingImage_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.Nimble.GetStreamingSession' every 5 seconds until a successful state is reached. An error is returned after 180 failed checks.+newStreamingSessionDeleted :: Core.Wait GetStreamingSession+newStreamingSessionDeleted =+ Core.Wait+ { Core.name = "StreamingSessionDeleted",+ Core.attempts = 180,+ Core.delay = 5,+ Core.acceptors =+ [ Core.matchAll+ "DELETED"+ Core.AcceptSuccess+ ( getStreamingSessionResponse_session+ Prelude.. Lens._Just+ Prelude.. streamingSession_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "DELETE_FAILED"+ Core.AcceptFailure+ ( getStreamingSessionResponse_session+ Prelude.. Lens._Just+ Prelude.. streamingSession_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.Nimble.GetStreamingSession' every 10 seconds until a successful state is reached. An error is returned after 180 failed checks.+newStreamingSessionReady :: Core.Wait GetStreamingSession+newStreamingSessionReady =+ Core.Wait+ { Core.name = "StreamingSessionReady",+ Core.attempts = 180,+ Core.delay = 10,+ Core.acceptors =+ [ Core.matchAll+ "READY"+ Core.AcceptSuccess+ ( getStreamingSessionResponse_session+ Prelude.. Lens._Just+ Prelude.. streamingSession_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "CREATE_FAILED"+ Core.AcceptFailure+ ( getStreamingSessionResponse_session+ Prelude.. Lens._Just+ Prelude.. streamingSession_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "START_FAILED"+ Core.AcceptFailure+ ( getStreamingSessionResponse_session+ Prelude.. Lens._Just+ Prelude.. streamingSession_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.Nimble.GetStreamingSession' every 5 seconds until a successful state is reached. An error is returned after 180 failed checks.+newStreamingSessionStopped :: Core.Wait GetStreamingSession+newStreamingSessionStopped =+ Core.Wait+ { Core.name = "StreamingSessionStopped",+ Core.attempts = 180,+ Core.delay = 5,+ Core.acceptors =+ [ Core.matchAll+ "STOPPED"+ Core.AcceptSuccess+ ( getStreamingSessionResponse_session+ Prelude.. Lens._Just+ Prelude.. streamingSession_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "STOP_FAILED"+ Core.AcceptFailure+ ( getStreamingSessionResponse_session+ Prelude.. Lens._Just+ Prelude.. streamingSession_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.Nimble.GetStreamingSessionStream' every 5 seconds until a successful state is reached. An error is returned after 30 failed checks.+newStreamingSessionStreamReady :: Core.Wait GetStreamingSessionStream+newStreamingSessionStreamReady =+ Core.Wait+ { Core.name =+ "StreamingSessionStreamReady",+ Core.attempts = 30,+ Core.delay = 5,+ Core.acceptors =+ [ Core.matchAll+ "READY"+ Core.AcceptSuccess+ ( getStreamingSessionStreamResponse_stream+ Prelude.. Lens._Just+ Prelude.. streamingSessionStream_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "CREATE_FAILED"+ Core.AcceptFailure+ ( getStreamingSessionStreamResponse_stream+ Prelude.. Lens._Just+ Prelude.. streamingSessionStream_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.Nimble.GetStudioComponent' every 1 seconds until a successful state is reached. An error is returned after 120 failed checks.+newStudioComponentDeleted :: Core.Wait GetStudioComponent+newStudioComponentDeleted =+ Core.Wait+ { Core.name = "StudioComponentDeleted",+ Core.attempts = 120,+ Core.delay = 1,+ Core.acceptors =+ [ Core.matchAll+ "DELETED"+ Core.AcceptSuccess+ ( getStudioComponentResponse_studioComponent+ Prelude.. Lens._Just+ Prelude.. studioComponent_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "DELETE_FAILED"+ Core.AcceptFailure+ ( getStudioComponentResponse_studioComponent+ Prelude.. Lens._Just+ Prelude.. studioComponent_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.Nimble.GetStudioComponent' every 2 seconds until a successful state is reached. An error is returned after 60 failed checks.+newStudioComponentReady :: Core.Wait GetStudioComponent+newStudioComponentReady =+ Core.Wait+ { Core.name = "StudioComponentReady",+ Core.attempts = 60,+ Core.delay = 2,+ Core.acceptors =+ [ Core.matchAll+ "READY"+ Core.AcceptSuccess+ ( getStudioComponentResponse_studioComponent+ Prelude.. Lens._Just+ Prelude.. studioComponent_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "CREATE_FAILED"+ Core.AcceptFailure+ ( getStudioComponentResponse_studioComponent+ Prelude.. Lens._Just+ Prelude.. studioComponent_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "UPDATE_FAILED"+ Core.AcceptFailure+ ( getStudioComponentResponse_studioComponent+ Prelude.. Lens._Just+ Prelude.. studioComponent_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.Nimble.GetStudio' every 2 seconds until a successful state is reached. An error is returned after 60 failed checks.+newStudioDeleted :: Core.Wait GetStudio+newStudioDeleted =+ Core.Wait+ { Core.name = "StudioDeleted",+ Core.attempts = 60,+ Core.delay = 2,+ Core.acceptors =+ [ Core.matchAll+ "DELETED"+ Core.AcceptSuccess+ ( getStudioResponse_studio+ Prelude.. studio_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "DELETE_FAILED"+ Core.AcceptFailure+ ( getStudioResponse_studio+ Prelude.. studio_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.Nimble.GetStudio' every 2 seconds until a successful state is reached. An error is returned after 60 failed checks.+newStudioReady :: Core.Wait GetStudio+newStudioReady =+ Core.Wait+ { Core.name = "StudioReady",+ Core.attempts = 60,+ Core.delay = 2,+ Core.acceptors =+ [ Core.matchAll+ "READY"+ Core.AcceptSuccess+ ( getStudioResponse_studio+ Prelude.. studio_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "CREATE_FAILED"+ Core.AcceptFailure+ ( getStudioResponse_studio+ Prelude.. studio_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "UPDATE_FAILED"+ Core.AcceptFailure+ ( getStudioResponse_studio+ Prelude.. studio_state+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.Nimble+import Test.Amazonka.Nimble.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "Nimble"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/Nimble.hs view
@@ -0,0 +1,1018 @@+{-# 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.Nimble+-- Copyright : (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.Nimble where++import Amazonka.Nimble+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Nimble.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"+-- [ requestAcceptEulas $+-- newAcceptEulas+--+-- , requestCreateLaunchProfile $+-- newCreateLaunchProfile+--+-- , requestCreateStreamingImage $+-- newCreateStreamingImage+--+-- , requestCreateStreamingSession $+-- newCreateStreamingSession+--+-- , requestCreateStreamingSessionStream $+-- newCreateStreamingSessionStream+--+-- , requestCreateStudio $+-- newCreateStudio+--+-- , requestCreateStudioComponent $+-- newCreateStudioComponent+--+-- , requestDeleteLaunchProfile $+-- newDeleteLaunchProfile+--+-- , requestDeleteLaunchProfileMember $+-- newDeleteLaunchProfileMember+--+-- , requestDeleteStreamingImage $+-- newDeleteStreamingImage+--+-- , requestDeleteStreamingSession $+-- newDeleteStreamingSession+--+-- , requestDeleteStudio $+-- newDeleteStudio+--+-- , requestDeleteStudioComponent $+-- newDeleteStudioComponent+--+-- , requestDeleteStudioMember $+-- newDeleteStudioMember+--+-- , requestGetEula $+-- newGetEula+--+-- , requestGetLaunchProfile $+-- newGetLaunchProfile+--+-- , requestGetLaunchProfileDetails $+-- newGetLaunchProfileDetails+--+-- , requestGetLaunchProfileInitialization $+-- newGetLaunchProfileInitialization+--+-- , requestGetLaunchProfileMember $+-- newGetLaunchProfileMember+--+-- , requestGetStreamingImage $+-- newGetStreamingImage+--+-- , requestGetStreamingSession $+-- newGetStreamingSession+--+-- , requestGetStreamingSessionBackup $+-- newGetStreamingSessionBackup+--+-- , requestGetStreamingSessionStream $+-- newGetStreamingSessionStream+--+-- , requestGetStudio $+-- newGetStudio+--+-- , requestGetStudioComponent $+-- newGetStudioComponent+--+-- , requestGetStudioMember $+-- newGetStudioMember+--+-- , requestListEulaAcceptances $+-- newListEulaAcceptances+--+-- , requestListEulas $+-- newListEulas+--+-- , requestListLaunchProfileMembers $+-- newListLaunchProfileMembers+--+-- , requestListLaunchProfiles $+-- newListLaunchProfiles+--+-- , requestListStreamingImages $+-- newListStreamingImages+--+-- , requestListStreamingSessionBackups $+-- newListStreamingSessionBackups+--+-- , requestListStreamingSessions $+-- newListStreamingSessions+--+-- , requestListStudioComponents $+-- newListStudioComponents+--+-- , requestListStudioMembers $+-- newListStudioMembers+--+-- , requestListStudios $+-- newListStudios+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestPutLaunchProfileMembers $+-- newPutLaunchProfileMembers+--+-- , requestPutStudioMembers $+-- newPutStudioMembers+--+-- , requestStartStreamingSession $+-- newStartStreamingSession+--+-- , requestStartStudioSSOConfigurationRepair $+-- newStartStudioSSOConfigurationRepair+--+-- , requestStopStreamingSession $+-- newStopStreamingSession+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateLaunchProfile $+-- newUpdateLaunchProfile+--+-- , requestUpdateLaunchProfileMember $+-- newUpdateLaunchProfileMember+--+-- , requestUpdateStreamingImage $+-- newUpdateStreamingImage+--+-- , requestUpdateStudio $+-- newUpdateStudio+--+-- , requestUpdateStudioComponent $+-- newUpdateStudioComponent+--+-- ]++-- , testGroup "response"+-- [ responseAcceptEulas $+-- newAcceptEulasResponse+--+-- , responseCreateLaunchProfile $+-- newCreateLaunchProfileResponse+--+-- , responseCreateStreamingImage $+-- newCreateStreamingImageResponse+--+-- , responseCreateStreamingSession $+-- newCreateStreamingSessionResponse+--+-- , responseCreateStreamingSessionStream $+-- newCreateStreamingSessionStreamResponse+--+-- , responseCreateStudio $+-- newCreateStudioResponse+--+-- , responseCreateStudioComponent $+-- newCreateStudioComponentResponse+--+-- , responseDeleteLaunchProfile $+-- newDeleteLaunchProfileResponse+--+-- , responseDeleteLaunchProfileMember $+-- newDeleteLaunchProfileMemberResponse+--+-- , responseDeleteStreamingImage $+-- newDeleteStreamingImageResponse+--+-- , responseDeleteStreamingSession $+-- newDeleteStreamingSessionResponse+--+-- , responseDeleteStudio $+-- newDeleteStudioResponse+--+-- , responseDeleteStudioComponent $+-- newDeleteStudioComponentResponse+--+-- , responseDeleteStudioMember $+-- newDeleteStudioMemberResponse+--+-- , responseGetEula $+-- newGetEulaResponse+--+-- , responseGetLaunchProfile $+-- newGetLaunchProfileResponse+--+-- , responseGetLaunchProfileDetails $+-- newGetLaunchProfileDetailsResponse+--+-- , responseGetLaunchProfileInitialization $+-- newGetLaunchProfileInitializationResponse+--+-- , responseGetLaunchProfileMember $+-- newGetLaunchProfileMemberResponse+--+-- , responseGetStreamingImage $+-- newGetStreamingImageResponse+--+-- , responseGetStreamingSession $+-- newGetStreamingSessionResponse+--+-- , responseGetStreamingSessionBackup $+-- newGetStreamingSessionBackupResponse+--+-- , responseGetStreamingSessionStream $+-- newGetStreamingSessionStreamResponse+--+-- , responseGetStudio $+-- newGetStudioResponse+--+-- , responseGetStudioComponent $+-- newGetStudioComponentResponse+--+-- , responseGetStudioMember $+-- newGetStudioMemberResponse+--+-- , responseListEulaAcceptances $+-- newListEulaAcceptancesResponse+--+-- , responseListEulas $+-- newListEulasResponse+--+-- , responseListLaunchProfileMembers $+-- newListLaunchProfileMembersResponse+--+-- , responseListLaunchProfiles $+-- newListLaunchProfilesResponse+--+-- , responseListStreamingImages $+-- newListStreamingImagesResponse+--+-- , responseListStreamingSessionBackups $+-- newListStreamingSessionBackupsResponse+--+-- , responseListStreamingSessions $+-- newListStreamingSessionsResponse+--+-- , responseListStudioComponents $+-- newListStudioComponentsResponse+--+-- , responseListStudioMembers $+-- newListStudioMembersResponse+--+-- , responseListStudios $+-- newListStudiosResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responsePutLaunchProfileMembers $+-- newPutLaunchProfileMembersResponse+--+-- , responsePutStudioMembers $+-- newPutStudioMembersResponse+--+-- , responseStartStreamingSession $+-- newStartStreamingSessionResponse+--+-- , responseStartStudioSSOConfigurationRepair $+-- newStartStudioSSOConfigurationRepairResponse+--+-- , responseStopStreamingSession $+-- newStopStreamingSessionResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateLaunchProfile $+-- newUpdateLaunchProfileResponse+--+-- , responseUpdateLaunchProfileMember $+-- newUpdateLaunchProfileMemberResponse+--+-- , responseUpdateStreamingImage $+-- newUpdateStreamingImageResponse+--+-- , responseUpdateStudio $+-- newUpdateStudioResponse+--+-- , responseUpdateStudioComponent $+-- newUpdateStudioComponentResponse+--+-- ]+-- ]++-- Requests++requestAcceptEulas :: AcceptEulas -> TestTree+requestAcceptEulas =+ req+ "AcceptEulas"+ "fixture/AcceptEulas.yaml"++requestCreateLaunchProfile :: CreateLaunchProfile -> TestTree+requestCreateLaunchProfile =+ req+ "CreateLaunchProfile"+ "fixture/CreateLaunchProfile.yaml"++requestCreateStreamingImage :: CreateStreamingImage -> TestTree+requestCreateStreamingImage =+ req+ "CreateStreamingImage"+ "fixture/CreateStreamingImage.yaml"++requestCreateStreamingSession :: CreateStreamingSession -> TestTree+requestCreateStreamingSession =+ req+ "CreateStreamingSession"+ "fixture/CreateStreamingSession.yaml"++requestCreateStreamingSessionStream :: CreateStreamingSessionStream -> TestTree+requestCreateStreamingSessionStream =+ req+ "CreateStreamingSessionStream"+ "fixture/CreateStreamingSessionStream.yaml"++requestCreateStudio :: CreateStudio -> TestTree+requestCreateStudio =+ req+ "CreateStudio"+ "fixture/CreateStudio.yaml"++requestCreateStudioComponent :: CreateStudioComponent -> TestTree+requestCreateStudioComponent =+ req+ "CreateStudioComponent"+ "fixture/CreateStudioComponent.yaml"++requestDeleteLaunchProfile :: DeleteLaunchProfile -> TestTree+requestDeleteLaunchProfile =+ req+ "DeleteLaunchProfile"+ "fixture/DeleteLaunchProfile.yaml"++requestDeleteLaunchProfileMember :: DeleteLaunchProfileMember -> TestTree+requestDeleteLaunchProfileMember =+ req+ "DeleteLaunchProfileMember"+ "fixture/DeleteLaunchProfileMember.yaml"++requestDeleteStreamingImage :: DeleteStreamingImage -> TestTree+requestDeleteStreamingImage =+ req+ "DeleteStreamingImage"+ "fixture/DeleteStreamingImage.yaml"++requestDeleteStreamingSession :: DeleteStreamingSession -> TestTree+requestDeleteStreamingSession =+ req+ "DeleteStreamingSession"+ "fixture/DeleteStreamingSession.yaml"++requestDeleteStudio :: DeleteStudio -> TestTree+requestDeleteStudio =+ req+ "DeleteStudio"+ "fixture/DeleteStudio.yaml"++requestDeleteStudioComponent :: DeleteStudioComponent -> TestTree+requestDeleteStudioComponent =+ req+ "DeleteStudioComponent"+ "fixture/DeleteStudioComponent.yaml"++requestDeleteStudioMember :: DeleteStudioMember -> TestTree+requestDeleteStudioMember =+ req+ "DeleteStudioMember"+ "fixture/DeleteStudioMember.yaml"++requestGetEula :: GetEula -> TestTree+requestGetEula =+ req+ "GetEula"+ "fixture/GetEula.yaml"++requestGetLaunchProfile :: GetLaunchProfile -> TestTree+requestGetLaunchProfile =+ req+ "GetLaunchProfile"+ "fixture/GetLaunchProfile.yaml"++requestGetLaunchProfileDetails :: GetLaunchProfileDetails -> TestTree+requestGetLaunchProfileDetails =+ req+ "GetLaunchProfileDetails"+ "fixture/GetLaunchProfileDetails.yaml"++requestGetLaunchProfileInitialization :: GetLaunchProfileInitialization -> TestTree+requestGetLaunchProfileInitialization =+ req+ "GetLaunchProfileInitialization"+ "fixture/GetLaunchProfileInitialization.yaml"++requestGetLaunchProfileMember :: GetLaunchProfileMember -> TestTree+requestGetLaunchProfileMember =+ req+ "GetLaunchProfileMember"+ "fixture/GetLaunchProfileMember.yaml"++requestGetStreamingImage :: GetStreamingImage -> TestTree+requestGetStreamingImage =+ req+ "GetStreamingImage"+ "fixture/GetStreamingImage.yaml"++requestGetStreamingSession :: GetStreamingSession -> TestTree+requestGetStreamingSession =+ req+ "GetStreamingSession"+ "fixture/GetStreamingSession.yaml"++requestGetStreamingSessionBackup :: GetStreamingSessionBackup -> TestTree+requestGetStreamingSessionBackup =+ req+ "GetStreamingSessionBackup"+ "fixture/GetStreamingSessionBackup.yaml"++requestGetStreamingSessionStream :: GetStreamingSessionStream -> TestTree+requestGetStreamingSessionStream =+ req+ "GetStreamingSessionStream"+ "fixture/GetStreamingSessionStream.yaml"++requestGetStudio :: GetStudio -> TestTree+requestGetStudio =+ req+ "GetStudio"+ "fixture/GetStudio.yaml"++requestGetStudioComponent :: GetStudioComponent -> TestTree+requestGetStudioComponent =+ req+ "GetStudioComponent"+ "fixture/GetStudioComponent.yaml"++requestGetStudioMember :: GetStudioMember -> TestTree+requestGetStudioMember =+ req+ "GetStudioMember"+ "fixture/GetStudioMember.yaml"++requestListEulaAcceptances :: ListEulaAcceptances -> TestTree+requestListEulaAcceptances =+ req+ "ListEulaAcceptances"+ "fixture/ListEulaAcceptances.yaml"++requestListEulas :: ListEulas -> TestTree+requestListEulas =+ req+ "ListEulas"+ "fixture/ListEulas.yaml"++requestListLaunchProfileMembers :: ListLaunchProfileMembers -> TestTree+requestListLaunchProfileMembers =+ req+ "ListLaunchProfileMembers"+ "fixture/ListLaunchProfileMembers.yaml"++requestListLaunchProfiles :: ListLaunchProfiles -> TestTree+requestListLaunchProfiles =+ req+ "ListLaunchProfiles"+ "fixture/ListLaunchProfiles.yaml"++requestListStreamingImages :: ListStreamingImages -> TestTree+requestListStreamingImages =+ req+ "ListStreamingImages"+ "fixture/ListStreamingImages.yaml"++requestListStreamingSessionBackups :: ListStreamingSessionBackups -> TestTree+requestListStreamingSessionBackups =+ req+ "ListStreamingSessionBackups"+ "fixture/ListStreamingSessionBackups.yaml"++requestListStreamingSessions :: ListStreamingSessions -> TestTree+requestListStreamingSessions =+ req+ "ListStreamingSessions"+ "fixture/ListStreamingSessions.yaml"++requestListStudioComponents :: ListStudioComponents -> TestTree+requestListStudioComponents =+ req+ "ListStudioComponents"+ "fixture/ListStudioComponents.yaml"++requestListStudioMembers :: ListStudioMembers -> TestTree+requestListStudioMembers =+ req+ "ListStudioMembers"+ "fixture/ListStudioMembers.yaml"++requestListStudios :: ListStudios -> TestTree+requestListStudios =+ req+ "ListStudios"+ "fixture/ListStudios.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestPutLaunchProfileMembers :: PutLaunchProfileMembers -> TestTree+requestPutLaunchProfileMembers =+ req+ "PutLaunchProfileMembers"+ "fixture/PutLaunchProfileMembers.yaml"++requestPutStudioMembers :: PutStudioMembers -> TestTree+requestPutStudioMembers =+ req+ "PutStudioMembers"+ "fixture/PutStudioMembers.yaml"++requestStartStreamingSession :: StartStreamingSession -> TestTree+requestStartStreamingSession =+ req+ "StartStreamingSession"+ "fixture/StartStreamingSession.yaml"++requestStartStudioSSOConfigurationRepair :: StartStudioSSOConfigurationRepair -> TestTree+requestStartStudioSSOConfigurationRepair =+ req+ "StartStudioSSOConfigurationRepair"+ "fixture/StartStudioSSOConfigurationRepair.yaml"++requestStopStreamingSession :: StopStreamingSession -> TestTree+requestStopStreamingSession =+ req+ "StopStreamingSession"+ "fixture/StopStreamingSession.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateLaunchProfile :: UpdateLaunchProfile -> TestTree+requestUpdateLaunchProfile =+ req+ "UpdateLaunchProfile"+ "fixture/UpdateLaunchProfile.yaml"++requestUpdateLaunchProfileMember :: UpdateLaunchProfileMember -> TestTree+requestUpdateLaunchProfileMember =+ req+ "UpdateLaunchProfileMember"+ "fixture/UpdateLaunchProfileMember.yaml"++requestUpdateStreamingImage :: UpdateStreamingImage -> TestTree+requestUpdateStreamingImage =+ req+ "UpdateStreamingImage"+ "fixture/UpdateStreamingImage.yaml"++requestUpdateStudio :: UpdateStudio -> TestTree+requestUpdateStudio =+ req+ "UpdateStudio"+ "fixture/UpdateStudio.yaml"++requestUpdateStudioComponent :: UpdateStudioComponent -> TestTree+requestUpdateStudioComponent =+ req+ "UpdateStudioComponent"+ "fixture/UpdateStudioComponent.yaml"++-- Responses++responseAcceptEulas :: AcceptEulasResponse -> TestTree+responseAcceptEulas =+ res+ "AcceptEulasResponse"+ "fixture/AcceptEulasResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AcceptEulas)++responseCreateLaunchProfile :: CreateLaunchProfileResponse -> TestTree+responseCreateLaunchProfile =+ res+ "CreateLaunchProfileResponse"+ "fixture/CreateLaunchProfileResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateLaunchProfile)++responseCreateStreamingImage :: CreateStreamingImageResponse -> TestTree+responseCreateStreamingImage =+ res+ "CreateStreamingImageResponse"+ "fixture/CreateStreamingImageResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateStreamingImage)++responseCreateStreamingSession :: CreateStreamingSessionResponse -> TestTree+responseCreateStreamingSession =+ res+ "CreateStreamingSessionResponse"+ "fixture/CreateStreamingSessionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateStreamingSession)++responseCreateStreamingSessionStream :: CreateStreamingSessionStreamResponse -> TestTree+responseCreateStreamingSessionStream =+ res+ "CreateStreamingSessionStreamResponse"+ "fixture/CreateStreamingSessionStreamResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateStreamingSessionStream)++responseCreateStudio :: CreateStudioResponse -> TestTree+responseCreateStudio =+ res+ "CreateStudioResponse"+ "fixture/CreateStudioResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateStudio)++responseCreateStudioComponent :: CreateStudioComponentResponse -> TestTree+responseCreateStudioComponent =+ res+ "CreateStudioComponentResponse"+ "fixture/CreateStudioComponentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateStudioComponent)++responseDeleteLaunchProfile :: DeleteLaunchProfileResponse -> TestTree+responseDeleteLaunchProfile =+ res+ "DeleteLaunchProfileResponse"+ "fixture/DeleteLaunchProfileResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteLaunchProfile)++responseDeleteLaunchProfileMember :: DeleteLaunchProfileMemberResponse -> TestTree+responseDeleteLaunchProfileMember =+ res+ "DeleteLaunchProfileMemberResponse"+ "fixture/DeleteLaunchProfileMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteLaunchProfileMember)++responseDeleteStreamingImage :: DeleteStreamingImageResponse -> TestTree+responseDeleteStreamingImage =+ res+ "DeleteStreamingImageResponse"+ "fixture/DeleteStreamingImageResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteStreamingImage)++responseDeleteStreamingSession :: DeleteStreamingSessionResponse -> TestTree+responseDeleteStreamingSession =+ res+ "DeleteStreamingSessionResponse"+ "fixture/DeleteStreamingSessionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteStreamingSession)++responseDeleteStudio :: DeleteStudioResponse -> TestTree+responseDeleteStudio =+ res+ "DeleteStudioResponse"+ "fixture/DeleteStudioResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteStudio)++responseDeleteStudioComponent :: DeleteStudioComponentResponse -> TestTree+responseDeleteStudioComponent =+ res+ "DeleteStudioComponentResponse"+ "fixture/DeleteStudioComponentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteStudioComponent)++responseDeleteStudioMember :: DeleteStudioMemberResponse -> TestTree+responseDeleteStudioMember =+ res+ "DeleteStudioMemberResponse"+ "fixture/DeleteStudioMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteStudioMember)++responseGetEula :: GetEulaResponse -> TestTree+responseGetEula =+ res+ "GetEulaResponse"+ "fixture/GetEulaResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetEula)++responseGetLaunchProfile :: GetLaunchProfileResponse -> TestTree+responseGetLaunchProfile =+ res+ "GetLaunchProfileResponse"+ "fixture/GetLaunchProfileResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetLaunchProfile)++responseGetLaunchProfileDetails :: GetLaunchProfileDetailsResponse -> TestTree+responseGetLaunchProfileDetails =+ res+ "GetLaunchProfileDetailsResponse"+ "fixture/GetLaunchProfileDetailsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetLaunchProfileDetails)++responseGetLaunchProfileInitialization :: GetLaunchProfileInitializationResponse -> TestTree+responseGetLaunchProfileInitialization =+ res+ "GetLaunchProfileInitializationResponse"+ "fixture/GetLaunchProfileInitializationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetLaunchProfileInitialization)++responseGetLaunchProfileMember :: GetLaunchProfileMemberResponse -> TestTree+responseGetLaunchProfileMember =+ res+ "GetLaunchProfileMemberResponse"+ "fixture/GetLaunchProfileMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetLaunchProfileMember)++responseGetStreamingImage :: GetStreamingImageResponse -> TestTree+responseGetStreamingImage =+ res+ "GetStreamingImageResponse"+ "fixture/GetStreamingImageResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetStreamingImage)++responseGetStreamingSession :: GetStreamingSessionResponse -> TestTree+responseGetStreamingSession =+ res+ "GetStreamingSessionResponse"+ "fixture/GetStreamingSessionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetStreamingSession)++responseGetStreamingSessionBackup :: GetStreamingSessionBackupResponse -> TestTree+responseGetStreamingSessionBackup =+ res+ "GetStreamingSessionBackupResponse"+ "fixture/GetStreamingSessionBackupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetStreamingSessionBackup)++responseGetStreamingSessionStream :: GetStreamingSessionStreamResponse -> TestTree+responseGetStreamingSessionStream =+ res+ "GetStreamingSessionStreamResponse"+ "fixture/GetStreamingSessionStreamResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetStreamingSessionStream)++responseGetStudio :: GetStudioResponse -> TestTree+responseGetStudio =+ res+ "GetStudioResponse"+ "fixture/GetStudioResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetStudio)++responseGetStudioComponent :: GetStudioComponentResponse -> TestTree+responseGetStudioComponent =+ res+ "GetStudioComponentResponse"+ "fixture/GetStudioComponentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetStudioComponent)++responseGetStudioMember :: GetStudioMemberResponse -> TestTree+responseGetStudioMember =+ res+ "GetStudioMemberResponse"+ "fixture/GetStudioMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetStudioMember)++responseListEulaAcceptances :: ListEulaAcceptancesResponse -> TestTree+responseListEulaAcceptances =+ res+ "ListEulaAcceptancesResponse"+ "fixture/ListEulaAcceptancesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListEulaAcceptances)++responseListEulas :: ListEulasResponse -> TestTree+responseListEulas =+ res+ "ListEulasResponse"+ "fixture/ListEulasResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListEulas)++responseListLaunchProfileMembers :: ListLaunchProfileMembersResponse -> TestTree+responseListLaunchProfileMembers =+ res+ "ListLaunchProfileMembersResponse"+ "fixture/ListLaunchProfileMembersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListLaunchProfileMembers)++responseListLaunchProfiles :: ListLaunchProfilesResponse -> TestTree+responseListLaunchProfiles =+ res+ "ListLaunchProfilesResponse"+ "fixture/ListLaunchProfilesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListLaunchProfiles)++responseListStreamingImages :: ListStreamingImagesResponse -> TestTree+responseListStreamingImages =+ res+ "ListStreamingImagesResponse"+ "fixture/ListStreamingImagesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListStreamingImages)++responseListStreamingSessionBackups :: ListStreamingSessionBackupsResponse -> TestTree+responseListStreamingSessionBackups =+ res+ "ListStreamingSessionBackupsResponse"+ "fixture/ListStreamingSessionBackupsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListStreamingSessionBackups)++responseListStreamingSessions :: ListStreamingSessionsResponse -> TestTree+responseListStreamingSessions =+ res+ "ListStreamingSessionsResponse"+ "fixture/ListStreamingSessionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListStreamingSessions)++responseListStudioComponents :: ListStudioComponentsResponse -> TestTree+responseListStudioComponents =+ res+ "ListStudioComponentsResponse"+ "fixture/ListStudioComponentsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListStudioComponents)++responseListStudioMembers :: ListStudioMembersResponse -> TestTree+responseListStudioMembers =+ res+ "ListStudioMembersResponse"+ "fixture/ListStudioMembersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListStudioMembers)++responseListStudios :: ListStudiosResponse -> TestTree+responseListStudios =+ res+ "ListStudiosResponse"+ "fixture/ListStudiosResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListStudios)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePutLaunchProfileMembers :: PutLaunchProfileMembersResponse -> TestTree+responsePutLaunchProfileMembers =+ res+ "PutLaunchProfileMembersResponse"+ "fixture/PutLaunchProfileMembersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutLaunchProfileMembers)++responsePutStudioMembers :: PutStudioMembersResponse -> TestTree+responsePutStudioMembers =+ res+ "PutStudioMembersResponse"+ "fixture/PutStudioMembersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutStudioMembers)++responseStartStreamingSession :: StartStreamingSessionResponse -> TestTree+responseStartStreamingSession =+ res+ "StartStreamingSessionResponse"+ "fixture/StartStreamingSessionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartStreamingSession)++responseStartStudioSSOConfigurationRepair :: StartStudioSSOConfigurationRepairResponse -> TestTree+responseStartStudioSSOConfigurationRepair =+ res+ "StartStudioSSOConfigurationRepairResponse"+ "fixture/StartStudioSSOConfigurationRepairResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartStudioSSOConfigurationRepair)++responseStopStreamingSession :: StopStreamingSessionResponse -> TestTree+responseStopStreamingSession =+ res+ "StopStreamingSessionResponse"+ "fixture/StopStreamingSessionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StopStreamingSession)++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)++responseUpdateLaunchProfile :: UpdateLaunchProfileResponse -> TestTree+responseUpdateLaunchProfile =+ res+ "UpdateLaunchProfileResponse"+ "fixture/UpdateLaunchProfileResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateLaunchProfile)++responseUpdateLaunchProfileMember :: UpdateLaunchProfileMemberResponse -> TestTree+responseUpdateLaunchProfileMember =+ res+ "UpdateLaunchProfileMemberResponse"+ "fixture/UpdateLaunchProfileMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateLaunchProfileMember)++responseUpdateStreamingImage :: UpdateStreamingImageResponse -> TestTree+responseUpdateStreamingImage =+ res+ "UpdateStreamingImageResponse"+ "fixture/UpdateStreamingImageResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateStreamingImage)++responseUpdateStudio :: UpdateStudioResponse -> TestTree+responseUpdateStudio =+ res+ "UpdateStudioResponse"+ "fixture/UpdateStudioResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateStudio)++responseUpdateStudioComponent :: UpdateStudioComponentResponse -> TestTree+responseUpdateStudioComponent =+ res+ "UpdateStudioComponentResponse"+ "fixture/UpdateStudioComponentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateStudioComponent)
+ test/Test/Amazonka/Nimble.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.Nimble+-- Copyright : (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.Nimble+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Nimble/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.Nimble.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.Nimble.Internal where