amazonka-emr-serverless (empty) → 2.0
raw patch · 83 files changed
+8567/−0 lines, 83 filesdep +amazonka-coredep +amazonka-emr-serverlessdep +amazonka-test
Dependencies added: amazonka-core, amazonka-emr-serverless, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-emr-serverless.cabal +124/−0
- fixture/CancelJobRun.yaml +10/−0
- fixture/CancelJobRunResponse.proto +0/−0
- fixture/CreateApplication.yaml +10/−0
- fixture/CreateApplicationResponse.proto +0/−0
- fixture/DeleteApplication.yaml +10/−0
- fixture/DeleteApplicationResponse.proto +0/−0
- fixture/GetApplication.yaml +10/−0
- fixture/GetApplicationResponse.proto +0/−0
- fixture/GetDashboardForJobRun.yaml +10/−0
- fixture/GetDashboardForJobRunResponse.proto +0/−0
- fixture/GetJobRun.yaml +10/−0
- fixture/GetJobRunResponse.proto +0/−0
- fixture/ListApplications.yaml +10/−0
- fixture/ListApplicationsResponse.proto +0/−0
- fixture/ListJobRuns.yaml +10/−0
- fixture/ListJobRunsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/StartApplication.yaml +10/−0
- fixture/StartApplicationResponse.proto +0/−0
- fixture/StartJobRun.yaml +10/−0
- fixture/StartJobRunResponse.proto +0/−0
- fixture/StopApplication.yaml +10/−0
- fixture/StopApplicationResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateApplication.yaml +10/−0
- fixture/UpdateApplicationResponse.proto +0/−0
- gen/Amazonka/EMRServerless.hs +302/−0
- gen/Amazonka/EMRServerless/CancelJobRun.hs +200/−0
- gen/Amazonka/EMRServerless/CreateApplication.hs +411/−0
- gen/Amazonka/EMRServerless/DeleteApplication.hs +149/−0
- gen/Amazonka/EMRServerless/GetApplication.hs +160/−0
- gen/Amazonka/EMRServerless/GetDashboardForJobRun.hs +183/−0
- gen/Amazonka/EMRServerless/GetJobRun.hs +180/−0
- gen/Amazonka/EMRServerless/Lens.hs +318/−0
- gen/Amazonka/EMRServerless/ListApplications.hs +235/−0
- gen/Amazonka/EMRServerless/ListJobRuns.hs +273/−0
- gen/Amazonka/EMRServerless/ListTagsForResource.hs +165/−0
- gen/Amazonka/EMRServerless/StartApplication.hs +151/−0
- gen/Amazonka/EMRServerless/StartJobRun.hs +315/−0
- gen/Amazonka/EMRServerless/StopApplication.hs +149/−0
- gen/Amazonka/EMRServerless/TagResource.hs +174/−0
- gen/Amazonka/EMRServerless/Types.hs +368/−0
- gen/Amazonka/EMRServerless/Types/Application.hs +331/−0
- gen/Amazonka/EMRServerless/Types/ApplicationState.hs +96/−0
- gen/Amazonka/EMRServerless/Types/ApplicationSummary.hs +203/−0
- gen/Amazonka/EMRServerless/Types/Architecture.hs +71/−0
- gen/Amazonka/EMRServerless/Types/AutoStartConfig.hs +78/−0
- gen/Amazonka/EMRServerless/Types/AutoStopConfig.hs +101/−0
- gen/Amazonka/EMRServerless/Types/Configuration.hs +117/−0
- gen/Amazonka/EMRServerless/Types/ConfigurationOverrides.hs +102/−0
- gen/Amazonka/EMRServerless/Types/Hive.hs +108/−0
- gen/Amazonka/EMRServerless/Types/ImageConfiguration.hs +93/−0
- gen/Amazonka/EMRServerless/Types/ImageConfigurationInput.hs +76/−0
- gen/Amazonka/EMRServerless/Types/InitialCapacityConfig.hs +98/−0
- gen/Amazonka/EMRServerless/Types/JobDriver.hs +95/−0
- gen/Amazonka/EMRServerless/Types/JobRun.hs +315/−0
- gen/Amazonka/EMRServerless/Types/JobRunState.hs +101/−0
- gen/Amazonka/EMRServerless/Types/JobRunSummary.hs +235/−0
- gen/Amazonka/EMRServerless/Types/ManagedPersistenceMonitoringConfiguration.hs +113/−0
- gen/Amazonka/EMRServerless/Types/MaximumAllowedResources.hs +111/−0
- gen/Amazonka/EMRServerless/Types/MonitoringConfiguration.hs +103/−0
- gen/Amazonka/EMRServerless/Types/NetworkConfiguration.hs +98/−0
- gen/Amazonka/EMRServerless/Types/S3MonitoringConfiguration.hs +99/−0
- gen/Amazonka/EMRServerless/Types/SparkSubmit.hs +113/−0
- gen/Amazonka/EMRServerless/Types/TotalResourceUtilization.hs +108/−0
- gen/Amazonka/EMRServerless/Types/WorkerResourceConfig.hs +111/−0
- gen/Amazonka/EMRServerless/Types/WorkerTypeSpecification.hs +73/−0
- gen/Amazonka/EMRServerless/Types/WorkerTypeSpecificationInput.hs +76/−0
- gen/Amazonka/EMRServerless/UntagResource.hs +169/−0
- gen/Amazonka/EMRServerless/UpdateApplication.hs +342/−0
- gen/Amazonka/EMRServerless/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/EMRServerless.hs +20/−0
- test/Test/Amazonka/EMRServerless/Internal.hs +8/−0
- test/Test/Amazonka/Gen/EMRServerless.hs +338/−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 EMR Serverless SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-07-13@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-emr-serverless)+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.EMRServerless](http://hackage.haskell.org/package/amazonka-emr-serverless/docs/Amazonka-EMRServerless.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-emr-serverless` 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-emr-serverless.cabal view
@@ -0,0 +1,124 @@+cabal-version: 2.2+name: amazonka-emr-serverless+version: 2.0+synopsis: Amazon EMR Serverless SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2021-07-13@ 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.EMRServerless.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.EMRServerless" 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-emr-serverless++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.EMRServerless+ Amazonka.EMRServerless.CancelJobRun+ Amazonka.EMRServerless.CreateApplication+ Amazonka.EMRServerless.DeleteApplication+ Amazonka.EMRServerless.GetApplication+ Amazonka.EMRServerless.GetDashboardForJobRun+ Amazonka.EMRServerless.GetJobRun+ Amazonka.EMRServerless.Lens+ Amazonka.EMRServerless.ListApplications+ Amazonka.EMRServerless.ListJobRuns+ Amazonka.EMRServerless.ListTagsForResource+ Amazonka.EMRServerless.StartApplication+ Amazonka.EMRServerless.StartJobRun+ Amazonka.EMRServerless.StopApplication+ Amazonka.EMRServerless.TagResource+ Amazonka.EMRServerless.Types+ Amazonka.EMRServerless.Types.Application+ Amazonka.EMRServerless.Types.ApplicationState+ Amazonka.EMRServerless.Types.ApplicationSummary+ Amazonka.EMRServerless.Types.Architecture+ Amazonka.EMRServerless.Types.AutoStartConfig+ Amazonka.EMRServerless.Types.AutoStopConfig+ Amazonka.EMRServerless.Types.Configuration+ Amazonka.EMRServerless.Types.ConfigurationOverrides+ Amazonka.EMRServerless.Types.Hive+ Amazonka.EMRServerless.Types.ImageConfiguration+ Amazonka.EMRServerless.Types.ImageConfigurationInput+ Amazonka.EMRServerless.Types.InitialCapacityConfig+ Amazonka.EMRServerless.Types.JobDriver+ Amazonka.EMRServerless.Types.JobRun+ Amazonka.EMRServerless.Types.JobRunState+ Amazonka.EMRServerless.Types.JobRunSummary+ Amazonka.EMRServerless.Types.ManagedPersistenceMonitoringConfiguration+ Amazonka.EMRServerless.Types.MaximumAllowedResources+ Amazonka.EMRServerless.Types.MonitoringConfiguration+ Amazonka.EMRServerless.Types.NetworkConfiguration+ Amazonka.EMRServerless.Types.S3MonitoringConfiguration+ Amazonka.EMRServerless.Types.SparkSubmit+ Amazonka.EMRServerless.Types.TotalResourceUtilization+ Amazonka.EMRServerless.Types.WorkerResourceConfig+ Amazonka.EMRServerless.Types.WorkerTypeSpecification+ Amazonka.EMRServerless.Types.WorkerTypeSpecificationInput+ Amazonka.EMRServerless.UntagResource+ Amazonka.EMRServerless.UpdateApplication+ Amazonka.EMRServerless.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-emr-serverless-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.EMRServerless+ Test.Amazonka.EMRServerless.Internal+ Test.Amazonka.Gen.EMRServerless++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-emr-serverless+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/CancelJobRun.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/CancelJobRunResponse.proto view
+ fixture/CreateApplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/CreateApplicationResponse.proto view
+ fixture/DeleteApplication.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/DeleteApplicationResponse.proto view
+ fixture/GetApplication.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/GetApplicationResponse.proto view
+ fixture/GetDashboardForJobRun.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/GetDashboardForJobRunResponse.proto view
+ fixture/GetJobRun.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/GetJobRunResponse.proto view
+ fixture/ListApplications.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/ListApplicationsResponse.proto view
+ fixture/ListJobRuns.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/ListJobRunsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/StartApplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/StartApplicationResponse.proto view
+ fixture/StartJobRun.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/StartJobRunResponse.proto view
+ fixture/StopApplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/StopApplicationResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/UpdateApplication.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-serverless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-serverless.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/UpdateApplicationResponse.proto view
+ gen/Amazonka/EMRServerless.hs view
@@ -0,0 +1,302 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.EMRServerless+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2021-07-13@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon EMR Serverless is a new deployment option for Amazon EMR. EMR+-- Serverless provides a serverless runtime environment that simplifies+-- running analytics applications using the latest open source frameworks+-- such as Apache Spark and Apache Hive. With EMR Serverless, you don’t+-- have to configure, optimize, secure, or operate clusters to run+-- applications with these frameworks.+--+-- The API reference to Amazon EMR Serverless is @emr-serverless@. The+-- @emr-serverless@ prefix is used in the following scenarios:+--+-- - It is the prefix in the CLI commands for Amazon EMR Serverless. For+-- example, @aws emr-serverless start-job-run@.+--+-- - It is the prefix before IAM policy actions for Amazon EMR+-- Serverless. For example,+-- @\"Action\": [\"emr-serverless:StartJobRun\"]@. For more+-- information, see+-- <https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-actions Policy actions for Amazon EMR Serverless>.+--+-- - It is the prefix used in Amazon EMR Serverless service endpoints.+-- For example, @emr-serverless.us-east-2.amazonaws.com@.+module Amazonka.EMRServerless+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CancelJobRun+ CancelJobRun (CancelJobRun'),+ newCancelJobRun,+ CancelJobRunResponse (CancelJobRunResponse'),+ newCancelJobRunResponse,++ -- ** CreateApplication+ CreateApplication (CreateApplication'),+ newCreateApplication,+ CreateApplicationResponse (CreateApplicationResponse'),+ newCreateApplicationResponse,++ -- ** DeleteApplication+ DeleteApplication (DeleteApplication'),+ newDeleteApplication,+ DeleteApplicationResponse (DeleteApplicationResponse'),+ newDeleteApplicationResponse,++ -- ** GetApplication+ GetApplication (GetApplication'),+ newGetApplication,+ GetApplicationResponse (GetApplicationResponse'),+ newGetApplicationResponse,++ -- ** GetDashboardForJobRun+ GetDashboardForJobRun (GetDashboardForJobRun'),+ newGetDashboardForJobRun,+ GetDashboardForJobRunResponse (GetDashboardForJobRunResponse'),+ newGetDashboardForJobRunResponse,++ -- ** GetJobRun+ GetJobRun (GetJobRun'),+ newGetJobRun,+ GetJobRunResponse (GetJobRunResponse'),+ newGetJobRunResponse,++ -- ** ListApplications (Paginated)+ ListApplications (ListApplications'),+ newListApplications,+ ListApplicationsResponse (ListApplicationsResponse'),+ newListApplicationsResponse,++ -- ** ListJobRuns (Paginated)+ ListJobRuns (ListJobRuns'),+ newListJobRuns,+ ListJobRunsResponse (ListJobRunsResponse'),+ newListJobRunsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** StartApplication+ StartApplication (StartApplication'),+ newStartApplication,+ StartApplicationResponse (StartApplicationResponse'),+ newStartApplicationResponse,++ -- ** StartJobRun+ StartJobRun (StartJobRun'),+ newStartJobRun,+ StartJobRunResponse (StartJobRunResponse'),+ newStartJobRunResponse,++ -- ** StopApplication+ StopApplication (StopApplication'),+ newStopApplication,+ StopApplicationResponse (StopApplicationResponse'),+ newStopApplicationResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateApplication+ UpdateApplication (UpdateApplication'),+ newUpdateApplication,+ UpdateApplicationResponse (UpdateApplicationResponse'),+ newUpdateApplicationResponse,++ -- * Types++ -- ** ApplicationState+ ApplicationState (..),++ -- ** Architecture+ Architecture (..),++ -- ** JobRunState+ JobRunState (..),++ -- ** Application+ Application (Application'),+ newApplication,++ -- ** ApplicationSummary+ ApplicationSummary (ApplicationSummary'),+ newApplicationSummary,++ -- ** AutoStartConfig+ AutoStartConfig (AutoStartConfig'),+ newAutoStartConfig,++ -- ** AutoStopConfig+ AutoStopConfig (AutoStopConfig'),+ newAutoStopConfig,++ -- ** Configuration+ Configuration (Configuration'),+ newConfiguration,++ -- ** ConfigurationOverrides+ ConfigurationOverrides (ConfigurationOverrides'),+ newConfigurationOverrides,++ -- ** Hive+ Hive (Hive'),+ newHive,++ -- ** ImageConfiguration+ ImageConfiguration (ImageConfiguration'),+ newImageConfiguration,++ -- ** ImageConfigurationInput+ ImageConfigurationInput (ImageConfigurationInput'),+ newImageConfigurationInput,++ -- ** InitialCapacityConfig+ InitialCapacityConfig (InitialCapacityConfig'),+ newInitialCapacityConfig,++ -- ** JobDriver+ JobDriver (JobDriver'),+ newJobDriver,++ -- ** JobRun+ JobRun (JobRun'),+ newJobRun,++ -- ** JobRunSummary+ JobRunSummary (JobRunSummary'),+ newJobRunSummary,++ -- ** ManagedPersistenceMonitoringConfiguration+ ManagedPersistenceMonitoringConfiguration (ManagedPersistenceMonitoringConfiguration'),+ newManagedPersistenceMonitoringConfiguration,++ -- ** MaximumAllowedResources+ MaximumAllowedResources (MaximumAllowedResources'),+ newMaximumAllowedResources,++ -- ** MonitoringConfiguration+ MonitoringConfiguration (MonitoringConfiguration'),+ newMonitoringConfiguration,++ -- ** NetworkConfiguration+ NetworkConfiguration (NetworkConfiguration'),+ newNetworkConfiguration,++ -- ** S3MonitoringConfiguration+ S3MonitoringConfiguration (S3MonitoringConfiguration'),+ newS3MonitoringConfiguration,++ -- ** SparkSubmit+ SparkSubmit (SparkSubmit'),+ newSparkSubmit,++ -- ** TotalResourceUtilization+ TotalResourceUtilization (TotalResourceUtilization'),+ newTotalResourceUtilization,++ -- ** WorkerResourceConfig+ WorkerResourceConfig (WorkerResourceConfig'),+ newWorkerResourceConfig,++ -- ** WorkerTypeSpecification+ WorkerTypeSpecification (WorkerTypeSpecification'),+ newWorkerTypeSpecification,++ -- ** WorkerTypeSpecificationInput+ WorkerTypeSpecificationInput (WorkerTypeSpecificationInput'),+ newWorkerTypeSpecificationInput,+ )+where++import Amazonka.EMRServerless.CancelJobRun+import Amazonka.EMRServerless.CreateApplication+import Amazonka.EMRServerless.DeleteApplication+import Amazonka.EMRServerless.GetApplication+import Amazonka.EMRServerless.GetDashboardForJobRun+import Amazonka.EMRServerless.GetJobRun+import Amazonka.EMRServerless.Lens+import Amazonka.EMRServerless.ListApplications+import Amazonka.EMRServerless.ListJobRuns+import Amazonka.EMRServerless.ListTagsForResource+import Amazonka.EMRServerless.StartApplication+import Amazonka.EMRServerless.StartJobRun+import Amazonka.EMRServerless.StopApplication+import Amazonka.EMRServerless.TagResource+import Amazonka.EMRServerless.Types+import Amazonka.EMRServerless.UntagResource+import Amazonka.EMRServerless.UpdateApplication+import Amazonka.EMRServerless.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 'EMRServerless'.++-- $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/EMRServerless/CancelJobRun.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.EMRServerless.CancelJobRun+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Cancels a job run.+module Amazonka.EMRServerless.CancelJobRun+ ( -- * Creating a Request+ CancelJobRun (..),+ newCancelJobRun,++ -- * Request Lenses+ cancelJobRun_applicationId,+ cancelJobRun_jobRunId,++ -- * Destructuring the Response+ CancelJobRunResponse (..),+ newCancelJobRunResponse,++ -- * Response Lenses+ cancelJobRunResponse_httpStatus,+ cancelJobRunResponse_applicationId,+ cancelJobRunResponse_jobRunId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCancelJobRun' smart constructor.+data CancelJobRun = CancelJobRun'+ { -- | The ID of the application on which the job run will be canceled.+ applicationId :: Prelude.Text,+ -- | The ID of the job run to cancel.+ jobRunId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelJobRun' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'cancelJobRun_applicationId' - The ID of the application on which the job run will be canceled.+--+-- 'jobRunId', 'cancelJobRun_jobRunId' - The ID of the job run to cancel.+newCancelJobRun ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'jobRunId'+ Prelude.Text ->+ CancelJobRun+newCancelJobRun pApplicationId_ pJobRunId_ =+ CancelJobRun'+ { applicationId = pApplicationId_,+ jobRunId = pJobRunId_+ }++-- | The ID of the application on which the job run will be canceled.+cancelJobRun_applicationId :: Lens.Lens' CancelJobRun Prelude.Text+cancelJobRun_applicationId = Lens.lens (\CancelJobRun' {applicationId} -> applicationId) (\s@CancelJobRun' {} a -> s {applicationId = a} :: CancelJobRun)++-- | The ID of the job run to cancel.+cancelJobRun_jobRunId :: Lens.Lens' CancelJobRun Prelude.Text+cancelJobRun_jobRunId = Lens.lens (\CancelJobRun' {jobRunId} -> jobRunId) (\s@CancelJobRun' {} a -> s {jobRunId = a} :: CancelJobRun)++instance Core.AWSRequest CancelJobRun where+ type AWSResponse CancelJobRun = CancelJobRunResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CancelJobRunResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "applicationId")+ Prelude.<*> (x Data..:> "jobRunId")+ )++instance Prelude.Hashable CancelJobRun where+ hashWithSalt _salt CancelJobRun' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` jobRunId++instance Prelude.NFData CancelJobRun where+ rnf CancelJobRun' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf jobRunId++instance Data.ToHeaders CancelJobRun where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath CancelJobRun where+ toPath CancelJobRun' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/jobruns/",+ Data.toBS jobRunId+ ]++instance Data.ToQuery CancelJobRun where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCancelJobRunResponse' smart constructor.+data CancelJobRunResponse = CancelJobRunResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The output contains the application ID on which the job run is+ -- cancelled.+ applicationId :: Prelude.Text,+ -- | The output contains the ID of the cancelled job run.+ jobRunId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelJobRunResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'cancelJobRunResponse_httpStatus' - The response's http status code.+--+-- 'applicationId', 'cancelJobRunResponse_applicationId' - The output contains the application ID on which the job run is+-- cancelled.+--+-- 'jobRunId', 'cancelJobRunResponse_jobRunId' - The output contains the ID of the cancelled job run.+newCancelJobRunResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'jobRunId'+ Prelude.Text ->+ CancelJobRunResponse+newCancelJobRunResponse+ pHttpStatus_+ pApplicationId_+ pJobRunId_ =+ CancelJobRunResponse'+ { httpStatus = pHttpStatus_,+ applicationId = pApplicationId_,+ jobRunId = pJobRunId_+ }++-- | The response's http status code.+cancelJobRunResponse_httpStatus :: Lens.Lens' CancelJobRunResponse Prelude.Int+cancelJobRunResponse_httpStatus = Lens.lens (\CancelJobRunResponse' {httpStatus} -> httpStatus) (\s@CancelJobRunResponse' {} a -> s {httpStatus = a} :: CancelJobRunResponse)++-- | The output contains the application ID on which the job run is+-- cancelled.+cancelJobRunResponse_applicationId :: Lens.Lens' CancelJobRunResponse Prelude.Text+cancelJobRunResponse_applicationId = Lens.lens (\CancelJobRunResponse' {applicationId} -> applicationId) (\s@CancelJobRunResponse' {} a -> s {applicationId = a} :: CancelJobRunResponse)++-- | The output contains the ID of the cancelled job run.+cancelJobRunResponse_jobRunId :: Lens.Lens' CancelJobRunResponse Prelude.Text+cancelJobRunResponse_jobRunId = Lens.lens (\CancelJobRunResponse' {jobRunId} -> jobRunId) (\s@CancelJobRunResponse' {} a -> s {jobRunId = a} :: CancelJobRunResponse)++instance Prelude.NFData CancelJobRunResponse where+ rnf CancelJobRunResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf jobRunId
+ gen/Amazonka/EMRServerless/CreateApplication.hs view
@@ -0,0 +1,411 @@+{-# 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.EMRServerless.CreateApplication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an application.+module Amazonka.EMRServerless.CreateApplication+ ( -- * Creating a Request+ CreateApplication (..),+ newCreateApplication,++ -- * Request Lenses+ createApplication_architecture,+ createApplication_autoStartConfiguration,+ createApplication_autoStopConfiguration,+ createApplication_imageConfiguration,+ createApplication_initialCapacity,+ createApplication_maximumCapacity,+ createApplication_name,+ createApplication_networkConfiguration,+ createApplication_tags,+ createApplication_workerTypeSpecifications,+ createApplication_releaseLabel,+ createApplication_type,+ createApplication_clientToken,++ -- * Destructuring the Response+ CreateApplicationResponse (..),+ newCreateApplicationResponse,++ -- * Response Lenses+ createApplicationResponse_name,+ createApplicationResponse_httpStatus,+ createApplicationResponse_applicationId,+ createApplicationResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateApplication' smart constructor.+data CreateApplication = CreateApplication'+ { -- | The CPU architecture of an application.+ architecture :: Prelude.Maybe Architecture,+ -- | The configuration for an application to automatically start on job+ -- submission.+ autoStartConfiguration :: Prelude.Maybe AutoStartConfig,+ -- | The configuration for an application to automatically stop after a+ -- certain amount of time being idle.+ autoStopConfiguration :: Prelude.Maybe AutoStopConfig,+ -- | The image configuration for all worker types. You can either set this+ -- parameter or @imageConfiguration@ for each worker type in+ -- @workerTypeSpecifications@.+ imageConfiguration :: Prelude.Maybe ImageConfigurationInput,+ -- | The capacity to initialize when the application is created.+ initialCapacity :: Prelude.Maybe (Prelude.HashMap Prelude.Text InitialCapacityConfig),+ -- | The maximum capacity to allocate when the application is created. This+ -- is cumulative across all workers at any given point in time, not just+ -- when an application is created. No new resources will be created once+ -- any one of the defined limits is hit.+ maximumCapacity :: Prelude.Maybe MaximumAllowedResources,+ -- | The name of the application.+ name :: Prelude.Maybe Prelude.Text,+ -- | The network configuration for customer VPC connectivity.+ networkConfiguration :: Prelude.Maybe NetworkConfiguration,+ -- | The tags assigned to the application.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The key-value pairs that specify worker type to+ -- @WorkerTypeSpecificationInput@. This parameter must contain all valid+ -- worker types for a Spark or Hive application. Valid worker types include+ -- @Driver@ and @Executor@ for Spark applications and @HiveDriver@ and+ -- @TezTask@ for Hive applications. You can either set image details in+ -- this parameter for each worker type, or in @imageConfiguration@ for all+ -- worker types.+ workerTypeSpecifications :: Prelude.Maybe (Prelude.HashMap Prelude.Text WorkerTypeSpecificationInput),+ -- | The EMR release associated with the application.+ releaseLabel :: Prelude.Text,+ -- | The type of application you want to start, such as Spark or Hive.+ type' :: Prelude.Text,+ -- | The client idempotency token of the application to create. Its value+ -- must be unique for each request.+ clientToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'architecture', 'createApplication_architecture' - The CPU architecture of an application.+--+-- 'autoStartConfiguration', 'createApplication_autoStartConfiguration' - The configuration for an application to automatically start on job+-- submission.+--+-- 'autoStopConfiguration', 'createApplication_autoStopConfiguration' - The configuration for an application to automatically stop after a+-- certain amount of time being idle.+--+-- 'imageConfiguration', 'createApplication_imageConfiguration' - The image configuration for all worker types. You can either set this+-- parameter or @imageConfiguration@ for each worker type in+-- @workerTypeSpecifications@.+--+-- 'initialCapacity', 'createApplication_initialCapacity' - The capacity to initialize when the application is created.+--+-- 'maximumCapacity', 'createApplication_maximumCapacity' - The maximum capacity to allocate when the application is created. This+-- is cumulative across all workers at any given point in time, not just+-- when an application is created. No new resources will be created once+-- any one of the defined limits is hit.+--+-- 'name', 'createApplication_name' - The name of the application.+--+-- 'networkConfiguration', 'createApplication_networkConfiguration' - The network configuration for customer VPC connectivity.+--+-- 'tags', 'createApplication_tags' - The tags assigned to the application.+--+-- 'workerTypeSpecifications', 'createApplication_workerTypeSpecifications' - The key-value pairs that specify worker type to+-- @WorkerTypeSpecificationInput@. This parameter must contain all valid+-- worker types for a Spark or Hive application. Valid worker types include+-- @Driver@ and @Executor@ for Spark applications and @HiveDriver@ and+-- @TezTask@ for Hive applications. You can either set image details in+-- this parameter for each worker type, or in @imageConfiguration@ for all+-- worker types.+--+-- 'releaseLabel', 'createApplication_releaseLabel' - The EMR release associated with the application.+--+-- 'type'', 'createApplication_type' - The type of application you want to start, such as Spark or Hive.+--+-- 'clientToken', 'createApplication_clientToken' - The client idempotency token of the application to create. Its value+-- must be unique for each request.+newCreateApplication ::+ -- | 'releaseLabel'+ Prelude.Text ->+ -- | 'type''+ Prelude.Text ->+ -- | 'clientToken'+ Prelude.Text ->+ CreateApplication+newCreateApplication+ pReleaseLabel_+ pType_+ pClientToken_ =+ CreateApplication'+ { architecture = Prelude.Nothing,+ autoStartConfiguration = Prelude.Nothing,+ autoStopConfiguration = Prelude.Nothing,+ imageConfiguration = Prelude.Nothing,+ initialCapacity = Prelude.Nothing,+ maximumCapacity = Prelude.Nothing,+ name = Prelude.Nothing,+ networkConfiguration = Prelude.Nothing,+ tags = Prelude.Nothing,+ workerTypeSpecifications = Prelude.Nothing,+ releaseLabel = pReleaseLabel_,+ type' = pType_,+ clientToken = pClientToken_+ }++-- | The CPU architecture of an application.+createApplication_architecture :: Lens.Lens' CreateApplication (Prelude.Maybe Architecture)+createApplication_architecture = Lens.lens (\CreateApplication' {architecture} -> architecture) (\s@CreateApplication' {} a -> s {architecture = a} :: CreateApplication)++-- | The configuration for an application to automatically start on job+-- submission.+createApplication_autoStartConfiguration :: Lens.Lens' CreateApplication (Prelude.Maybe AutoStartConfig)+createApplication_autoStartConfiguration = Lens.lens (\CreateApplication' {autoStartConfiguration} -> autoStartConfiguration) (\s@CreateApplication' {} a -> s {autoStartConfiguration = a} :: CreateApplication)++-- | The configuration for an application to automatically stop after a+-- certain amount of time being idle.+createApplication_autoStopConfiguration :: Lens.Lens' CreateApplication (Prelude.Maybe AutoStopConfig)+createApplication_autoStopConfiguration = Lens.lens (\CreateApplication' {autoStopConfiguration} -> autoStopConfiguration) (\s@CreateApplication' {} a -> s {autoStopConfiguration = a} :: CreateApplication)++-- | The image configuration for all worker types. You can either set this+-- parameter or @imageConfiguration@ for each worker type in+-- @workerTypeSpecifications@.+createApplication_imageConfiguration :: Lens.Lens' CreateApplication (Prelude.Maybe ImageConfigurationInput)+createApplication_imageConfiguration = Lens.lens (\CreateApplication' {imageConfiguration} -> imageConfiguration) (\s@CreateApplication' {} a -> s {imageConfiguration = a} :: CreateApplication)++-- | The capacity to initialize when the application is created.+createApplication_initialCapacity :: Lens.Lens' CreateApplication (Prelude.Maybe (Prelude.HashMap Prelude.Text InitialCapacityConfig))+createApplication_initialCapacity = Lens.lens (\CreateApplication' {initialCapacity} -> initialCapacity) (\s@CreateApplication' {} a -> s {initialCapacity = a} :: CreateApplication) Prelude.. Lens.mapping Lens.coerced++-- | The maximum capacity to allocate when the application is created. This+-- is cumulative across all workers at any given point in time, not just+-- when an application is created. No new resources will be created once+-- any one of the defined limits is hit.+createApplication_maximumCapacity :: Lens.Lens' CreateApplication (Prelude.Maybe MaximumAllowedResources)+createApplication_maximumCapacity = Lens.lens (\CreateApplication' {maximumCapacity} -> maximumCapacity) (\s@CreateApplication' {} a -> s {maximumCapacity = a} :: CreateApplication)++-- | The name of the application.+createApplication_name :: Lens.Lens' CreateApplication (Prelude.Maybe Prelude.Text)+createApplication_name = Lens.lens (\CreateApplication' {name} -> name) (\s@CreateApplication' {} a -> s {name = a} :: CreateApplication)++-- | The network configuration for customer VPC connectivity.+createApplication_networkConfiguration :: Lens.Lens' CreateApplication (Prelude.Maybe NetworkConfiguration)+createApplication_networkConfiguration = Lens.lens (\CreateApplication' {networkConfiguration} -> networkConfiguration) (\s@CreateApplication' {} a -> s {networkConfiguration = a} :: CreateApplication)++-- | The tags assigned to the application.+createApplication_tags :: Lens.Lens' CreateApplication (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createApplication_tags = Lens.lens (\CreateApplication' {tags} -> tags) (\s@CreateApplication' {} a -> s {tags = a} :: CreateApplication) Prelude.. Lens.mapping Lens.coerced++-- | The key-value pairs that specify worker type to+-- @WorkerTypeSpecificationInput@. This parameter must contain all valid+-- worker types for a Spark or Hive application. Valid worker types include+-- @Driver@ and @Executor@ for Spark applications and @HiveDriver@ and+-- @TezTask@ for Hive applications. You can either set image details in+-- this parameter for each worker type, or in @imageConfiguration@ for all+-- worker types.+createApplication_workerTypeSpecifications :: Lens.Lens' CreateApplication (Prelude.Maybe (Prelude.HashMap Prelude.Text WorkerTypeSpecificationInput))+createApplication_workerTypeSpecifications = Lens.lens (\CreateApplication' {workerTypeSpecifications} -> workerTypeSpecifications) (\s@CreateApplication' {} a -> s {workerTypeSpecifications = a} :: CreateApplication) Prelude.. Lens.mapping Lens.coerced++-- | The EMR release associated with the application.+createApplication_releaseLabel :: Lens.Lens' CreateApplication Prelude.Text+createApplication_releaseLabel = Lens.lens (\CreateApplication' {releaseLabel} -> releaseLabel) (\s@CreateApplication' {} a -> s {releaseLabel = a} :: CreateApplication)++-- | The type of application you want to start, such as Spark or Hive.+createApplication_type :: Lens.Lens' CreateApplication Prelude.Text+createApplication_type = Lens.lens (\CreateApplication' {type'} -> type') (\s@CreateApplication' {} a -> s {type' = a} :: CreateApplication)++-- | The client idempotency token of the application to create. Its value+-- must be unique for each request.+createApplication_clientToken :: Lens.Lens' CreateApplication Prelude.Text+createApplication_clientToken = Lens.lens (\CreateApplication' {clientToken} -> clientToken) (\s@CreateApplication' {} a -> s {clientToken = a} :: CreateApplication)++instance Core.AWSRequest CreateApplication where+ type+ AWSResponse CreateApplication =+ CreateApplicationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateApplicationResponse'+ Prelude.<$> (x Data..?> "name")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "applicationId")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable CreateApplication where+ hashWithSalt _salt CreateApplication' {..} =+ _salt+ `Prelude.hashWithSalt` architecture+ `Prelude.hashWithSalt` autoStartConfiguration+ `Prelude.hashWithSalt` autoStopConfiguration+ `Prelude.hashWithSalt` imageConfiguration+ `Prelude.hashWithSalt` initialCapacity+ `Prelude.hashWithSalt` maximumCapacity+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` networkConfiguration+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` workerTypeSpecifications+ `Prelude.hashWithSalt` releaseLabel+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` clientToken++instance Prelude.NFData CreateApplication where+ rnf CreateApplication' {..} =+ Prelude.rnf architecture+ `Prelude.seq` Prelude.rnf autoStartConfiguration+ `Prelude.seq` Prelude.rnf autoStopConfiguration+ `Prelude.seq` Prelude.rnf imageConfiguration+ `Prelude.seq` Prelude.rnf initialCapacity+ `Prelude.seq` Prelude.rnf maximumCapacity+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf networkConfiguration+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf workerTypeSpecifications+ `Prelude.seq` Prelude.rnf releaseLabel+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf clientToken++instance Data.ToHeaders CreateApplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateApplication where+ toJSON CreateApplication' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("architecture" Data..=) Prelude.<$> architecture,+ ("autoStartConfiguration" Data..=)+ Prelude.<$> autoStartConfiguration,+ ("autoStopConfiguration" Data..=)+ Prelude.<$> autoStopConfiguration,+ ("imageConfiguration" Data..=)+ Prelude.<$> imageConfiguration,+ ("initialCapacity" Data..=)+ Prelude.<$> initialCapacity,+ ("maximumCapacity" Data..=)+ Prelude.<$> maximumCapacity,+ ("name" Data..=) Prelude.<$> name,+ ("networkConfiguration" Data..=)+ Prelude.<$> networkConfiguration,+ ("tags" Data..=) Prelude.<$> tags,+ ("workerTypeSpecifications" Data..=)+ Prelude.<$> workerTypeSpecifications,+ Prelude.Just ("releaseLabel" Data..= releaseLabel),+ Prelude.Just ("type" Data..= type'),+ Prelude.Just ("clientToken" Data..= clientToken)+ ]+ )++instance Data.ToPath CreateApplication where+ toPath = Prelude.const "/applications"++instance Data.ToQuery CreateApplication where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateApplicationResponse' smart constructor.+data CreateApplicationResponse = CreateApplicationResponse'+ { -- | The output contains the name of the application.+ name :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The output contains the application ID.+ applicationId :: Prelude.Text,+ -- | The output contains the ARN of the application.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateApplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createApplicationResponse_name' - The output contains the name of the application.+--+-- 'httpStatus', 'createApplicationResponse_httpStatus' - The response's http status code.+--+-- 'applicationId', 'createApplicationResponse_applicationId' - The output contains the application ID.+--+-- 'arn', 'createApplicationResponse_arn' - The output contains the ARN of the application.+newCreateApplicationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ CreateApplicationResponse+newCreateApplicationResponse+ pHttpStatus_+ pApplicationId_+ pArn_ =+ CreateApplicationResponse'+ { name = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ applicationId = pApplicationId_,+ arn = pArn_+ }++-- | The output contains the name of the application.+createApplicationResponse_name :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe Prelude.Text)+createApplicationResponse_name = Lens.lens (\CreateApplicationResponse' {name} -> name) (\s@CreateApplicationResponse' {} a -> s {name = a} :: CreateApplicationResponse)++-- | The response's http status code.+createApplicationResponse_httpStatus :: Lens.Lens' CreateApplicationResponse Prelude.Int+createApplicationResponse_httpStatus = Lens.lens (\CreateApplicationResponse' {httpStatus} -> httpStatus) (\s@CreateApplicationResponse' {} a -> s {httpStatus = a} :: CreateApplicationResponse)++-- | The output contains the application ID.+createApplicationResponse_applicationId :: Lens.Lens' CreateApplicationResponse Prelude.Text+createApplicationResponse_applicationId = Lens.lens (\CreateApplicationResponse' {applicationId} -> applicationId) (\s@CreateApplicationResponse' {} a -> s {applicationId = a} :: CreateApplicationResponse)++-- | The output contains the ARN of the application.+createApplicationResponse_arn :: Lens.Lens' CreateApplicationResponse Prelude.Text+createApplicationResponse_arn = Lens.lens (\CreateApplicationResponse' {arn} -> arn) (\s@CreateApplicationResponse' {} a -> s {arn = a} :: CreateApplicationResponse)++instance Prelude.NFData CreateApplicationResponse where+ rnf CreateApplicationResponse' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/EMRServerless/DeleteApplication.hs view
@@ -0,0 +1,149 @@+{-# 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.EMRServerless.DeleteApplication+-- 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 an application. An application has to be in a stopped or created+-- state in order to be deleted.+module Amazonka.EMRServerless.DeleteApplication+ ( -- * Creating a Request+ DeleteApplication (..),+ newDeleteApplication,++ -- * Request Lenses+ deleteApplication_applicationId,++ -- * Destructuring the Response+ DeleteApplicationResponse (..),+ newDeleteApplicationResponse,++ -- * Response Lenses+ deleteApplicationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteApplication' smart constructor.+data DeleteApplication = DeleteApplication'+ { -- | The ID of the application that will be deleted.+ applicationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'deleteApplication_applicationId' - The ID of the application that will be deleted.+newDeleteApplication ::+ -- | 'applicationId'+ Prelude.Text ->+ DeleteApplication+newDeleteApplication pApplicationId_ =+ DeleteApplication' {applicationId = pApplicationId_}++-- | The ID of the application that will be deleted.+deleteApplication_applicationId :: Lens.Lens' DeleteApplication Prelude.Text+deleteApplication_applicationId = Lens.lens (\DeleteApplication' {applicationId} -> applicationId) (\s@DeleteApplication' {} a -> s {applicationId = a} :: DeleteApplication)++instance Core.AWSRequest DeleteApplication where+ type+ AWSResponse DeleteApplication =+ DeleteApplicationResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteApplicationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteApplication where+ hashWithSalt _salt DeleteApplication' {..} =+ _salt `Prelude.hashWithSalt` applicationId++instance Prelude.NFData DeleteApplication where+ rnf DeleteApplication' {..} =+ Prelude.rnf applicationId++instance Data.ToHeaders DeleteApplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteApplication where+ toPath DeleteApplication' {..} =+ Prelude.mconcat+ ["/applications/", Data.toBS applicationId]++instance Data.ToQuery DeleteApplication where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteApplicationResponse' smart constructor.+data DeleteApplicationResponse = DeleteApplicationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteApplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteApplicationResponse_httpStatus' - The response's http status code.+newDeleteApplicationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteApplicationResponse+newDeleteApplicationResponse pHttpStatus_ =+ DeleteApplicationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteApplicationResponse_httpStatus :: Lens.Lens' DeleteApplicationResponse Prelude.Int+deleteApplicationResponse_httpStatus = Lens.lens (\DeleteApplicationResponse' {httpStatus} -> httpStatus) (\s@DeleteApplicationResponse' {} a -> s {httpStatus = a} :: DeleteApplicationResponse)++instance Prelude.NFData DeleteApplicationResponse where+ rnf DeleteApplicationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/EMRServerless/GetApplication.hs view
@@ -0,0 +1,160 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.GetApplication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays detailed information about a specified application.+module Amazonka.EMRServerless.GetApplication+ ( -- * Creating a Request+ GetApplication (..),+ newGetApplication,++ -- * Request Lenses+ getApplication_applicationId,++ -- * Destructuring the Response+ GetApplicationResponse (..),+ newGetApplicationResponse,++ -- * Response Lenses+ getApplicationResponse_httpStatus,+ getApplicationResponse_application,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetApplication' smart constructor.+data GetApplication = GetApplication'+ { -- | The ID of the application that will be described.+ applicationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'getApplication_applicationId' - The ID of the application that will be described.+newGetApplication ::+ -- | 'applicationId'+ Prelude.Text ->+ GetApplication+newGetApplication pApplicationId_ =+ GetApplication' {applicationId = pApplicationId_}++-- | The ID of the application that will be described.+getApplication_applicationId :: Lens.Lens' GetApplication Prelude.Text+getApplication_applicationId = Lens.lens (\GetApplication' {applicationId} -> applicationId) (\s@GetApplication' {} a -> s {applicationId = a} :: GetApplication)++instance Core.AWSRequest GetApplication where+ type+ AWSResponse GetApplication =+ GetApplicationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetApplicationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "application")+ )++instance Prelude.Hashable GetApplication where+ hashWithSalt _salt GetApplication' {..} =+ _salt `Prelude.hashWithSalt` applicationId++instance Prelude.NFData GetApplication where+ rnf GetApplication' {..} = Prelude.rnf applicationId++instance Data.ToHeaders GetApplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetApplication where+ toPath GetApplication' {..} =+ Prelude.mconcat+ ["/applications/", Data.toBS applicationId]++instance Data.ToQuery GetApplication where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetApplicationResponse' smart constructor.+data GetApplicationResponse = GetApplicationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The output displays information about the specified application.+ application :: Application+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetApplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getApplicationResponse_httpStatus' - The response's http status code.+--+-- 'application', 'getApplicationResponse_application' - The output displays information about the specified application.+newGetApplicationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'application'+ Application ->+ GetApplicationResponse+newGetApplicationResponse pHttpStatus_ pApplication_ =+ GetApplicationResponse'+ { httpStatus = pHttpStatus_,+ application = pApplication_+ }++-- | The response's http status code.+getApplicationResponse_httpStatus :: Lens.Lens' GetApplicationResponse Prelude.Int+getApplicationResponse_httpStatus = Lens.lens (\GetApplicationResponse' {httpStatus} -> httpStatus) (\s@GetApplicationResponse' {} a -> s {httpStatus = a} :: GetApplicationResponse)++-- | The output displays information about the specified application.+getApplicationResponse_application :: Lens.Lens' GetApplicationResponse Application+getApplicationResponse_application = Lens.lens (\GetApplicationResponse' {application} -> application) (\s@GetApplicationResponse' {} a -> s {application = a} :: GetApplicationResponse)++instance Prelude.NFData GetApplicationResponse where+ rnf GetApplicationResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf application
+ gen/Amazonka/EMRServerless/GetDashboardForJobRun.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.GetDashboardForJobRun+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a URL to access the job run dashboard.+module Amazonka.EMRServerless.GetDashboardForJobRun+ ( -- * Creating a Request+ GetDashboardForJobRun (..),+ newGetDashboardForJobRun,++ -- * Request Lenses+ getDashboardForJobRun_applicationId,+ getDashboardForJobRun_jobRunId,++ -- * Destructuring the Response+ GetDashboardForJobRunResponse (..),+ newGetDashboardForJobRunResponse,++ -- * Response Lenses+ getDashboardForJobRunResponse_url,+ getDashboardForJobRunResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDashboardForJobRun' smart constructor.+data GetDashboardForJobRun = GetDashboardForJobRun'+ { -- | The ID of the application.+ applicationId :: Prelude.Text,+ -- | The ID of the job run.+ jobRunId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDashboardForJobRun' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'getDashboardForJobRun_applicationId' - The ID of the application.+--+-- 'jobRunId', 'getDashboardForJobRun_jobRunId' - The ID of the job run.+newGetDashboardForJobRun ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'jobRunId'+ Prelude.Text ->+ GetDashboardForJobRun+newGetDashboardForJobRun pApplicationId_ pJobRunId_ =+ GetDashboardForJobRun'+ { applicationId =+ pApplicationId_,+ jobRunId = pJobRunId_+ }++-- | The ID of the application.+getDashboardForJobRun_applicationId :: Lens.Lens' GetDashboardForJobRun Prelude.Text+getDashboardForJobRun_applicationId = Lens.lens (\GetDashboardForJobRun' {applicationId} -> applicationId) (\s@GetDashboardForJobRun' {} a -> s {applicationId = a} :: GetDashboardForJobRun)++-- | The ID of the job run.+getDashboardForJobRun_jobRunId :: Lens.Lens' GetDashboardForJobRun Prelude.Text+getDashboardForJobRun_jobRunId = Lens.lens (\GetDashboardForJobRun' {jobRunId} -> jobRunId) (\s@GetDashboardForJobRun' {} a -> s {jobRunId = a} :: GetDashboardForJobRun)++instance Core.AWSRequest GetDashboardForJobRun where+ type+ AWSResponse GetDashboardForJobRun =+ GetDashboardForJobRunResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDashboardForJobRunResponse'+ Prelude.<$> (x Data..?> "url")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetDashboardForJobRun where+ hashWithSalt _salt GetDashboardForJobRun' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` jobRunId++instance Prelude.NFData GetDashboardForJobRun where+ rnf GetDashboardForJobRun' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf jobRunId++instance Data.ToHeaders GetDashboardForJobRun where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDashboardForJobRun where+ toPath GetDashboardForJobRun' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/jobruns/",+ Data.toBS jobRunId,+ "/dashboard"+ ]++instance Data.ToQuery GetDashboardForJobRun where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDashboardForJobRunResponse' smart constructor.+data GetDashboardForJobRunResponse = GetDashboardForJobRunResponse'+ { -- | The URL to view job run\'s dashboard.+ url :: 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 'GetDashboardForJobRunResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'url', 'getDashboardForJobRunResponse_url' - The URL to view job run\'s dashboard.+--+-- 'httpStatus', 'getDashboardForJobRunResponse_httpStatus' - The response's http status code.+newGetDashboardForJobRunResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDashboardForJobRunResponse+newGetDashboardForJobRunResponse pHttpStatus_ =+ GetDashboardForJobRunResponse'+ { url =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The URL to view job run\'s dashboard.+getDashboardForJobRunResponse_url :: Lens.Lens' GetDashboardForJobRunResponse (Prelude.Maybe Prelude.Text)+getDashboardForJobRunResponse_url = Lens.lens (\GetDashboardForJobRunResponse' {url} -> url) (\s@GetDashboardForJobRunResponse' {} a -> s {url = a} :: GetDashboardForJobRunResponse)++-- | The response's http status code.+getDashboardForJobRunResponse_httpStatus :: Lens.Lens' GetDashboardForJobRunResponse Prelude.Int+getDashboardForJobRunResponse_httpStatus = Lens.lens (\GetDashboardForJobRunResponse' {httpStatus} -> httpStatus) (\s@GetDashboardForJobRunResponse' {} a -> s {httpStatus = a} :: GetDashboardForJobRunResponse)++instance Prelude.NFData GetDashboardForJobRunResponse where+ rnf GetDashboardForJobRunResponse' {..} =+ Prelude.rnf url+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRServerless/GetJobRun.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.EMRServerless.GetJobRun+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays detailed information about a job run.+module Amazonka.EMRServerless.GetJobRun+ ( -- * Creating a Request+ GetJobRun (..),+ newGetJobRun,++ -- * Request Lenses+ getJobRun_applicationId,+ getJobRun_jobRunId,++ -- * Destructuring the Response+ GetJobRunResponse (..),+ newGetJobRunResponse,++ -- * Response Lenses+ getJobRunResponse_httpStatus,+ getJobRunResponse_jobRun,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetJobRun' smart constructor.+data GetJobRun = GetJobRun'+ { -- | The ID of the application on which the job run is submitted.+ applicationId :: Prelude.Text,+ -- | The ID of the job run.+ jobRunId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetJobRun' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'getJobRun_applicationId' - The ID of the application on which the job run is submitted.+--+-- 'jobRunId', 'getJobRun_jobRunId' - The ID of the job run.+newGetJobRun ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'jobRunId'+ Prelude.Text ->+ GetJobRun+newGetJobRun pApplicationId_ pJobRunId_ =+ GetJobRun'+ { applicationId = pApplicationId_,+ jobRunId = pJobRunId_+ }++-- | The ID of the application on which the job run is submitted.+getJobRun_applicationId :: Lens.Lens' GetJobRun Prelude.Text+getJobRun_applicationId = Lens.lens (\GetJobRun' {applicationId} -> applicationId) (\s@GetJobRun' {} a -> s {applicationId = a} :: GetJobRun)++-- | The ID of the job run.+getJobRun_jobRunId :: Lens.Lens' GetJobRun Prelude.Text+getJobRun_jobRunId = Lens.lens (\GetJobRun' {jobRunId} -> jobRunId) (\s@GetJobRun' {} a -> s {jobRunId = a} :: GetJobRun)++instance Core.AWSRequest GetJobRun where+ type AWSResponse GetJobRun = GetJobRunResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetJobRunResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "jobRun")+ )++instance Prelude.Hashable GetJobRun where+ hashWithSalt _salt GetJobRun' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` jobRunId++instance Prelude.NFData GetJobRun where+ rnf GetJobRun' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf jobRunId++instance Data.ToHeaders GetJobRun where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetJobRun where+ toPath GetJobRun' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/jobruns/",+ Data.toBS jobRunId+ ]++instance Data.ToQuery GetJobRun where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetJobRunResponse' smart constructor.+data GetJobRunResponse = GetJobRunResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The output displays information about the job run.+ jobRun :: JobRun+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetJobRunResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getJobRunResponse_httpStatus' - The response's http status code.+--+-- 'jobRun', 'getJobRunResponse_jobRun' - The output displays information about the job run.+newGetJobRunResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'jobRun'+ JobRun ->+ GetJobRunResponse+newGetJobRunResponse pHttpStatus_ pJobRun_ =+ GetJobRunResponse'+ { httpStatus = pHttpStatus_,+ jobRun = pJobRun_+ }++-- | The response's http status code.+getJobRunResponse_httpStatus :: Lens.Lens' GetJobRunResponse Prelude.Int+getJobRunResponse_httpStatus = Lens.lens (\GetJobRunResponse' {httpStatus} -> httpStatus) (\s@GetJobRunResponse' {} a -> s {httpStatus = a} :: GetJobRunResponse)++-- | The output displays information about the job run.+getJobRunResponse_jobRun :: Lens.Lens' GetJobRunResponse JobRun+getJobRunResponse_jobRun = Lens.lens (\GetJobRunResponse' {jobRun} -> jobRun) (\s@GetJobRunResponse' {} a -> s {jobRun = a} :: GetJobRunResponse)++instance Prelude.NFData GetJobRunResponse where+ rnf GetJobRunResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf jobRun
+ gen/Amazonka/EMRServerless/Lens.hs view
@@ -0,0 +1,318 @@+{-# 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.EMRServerless.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.EMRServerless.Lens+ ( -- * Operations++ -- ** CancelJobRun+ cancelJobRun_applicationId,+ cancelJobRun_jobRunId,+ cancelJobRunResponse_httpStatus,+ cancelJobRunResponse_applicationId,+ cancelJobRunResponse_jobRunId,++ -- ** CreateApplication+ createApplication_architecture,+ createApplication_autoStartConfiguration,+ createApplication_autoStopConfiguration,+ createApplication_imageConfiguration,+ createApplication_initialCapacity,+ createApplication_maximumCapacity,+ createApplication_name,+ createApplication_networkConfiguration,+ createApplication_tags,+ createApplication_workerTypeSpecifications,+ createApplication_releaseLabel,+ createApplication_type,+ createApplication_clientToken,+ createApplicationResponse_name,+ createApplicationResponse_httpStatus,+ createApplicationResponse_applicationId,+ createApplicationResponse_arn,++ -- ** DeleteApplication+ deleteApplication_applicationId,+ deleteApplicationResponse_httpStatus,++ -- ** GetApplication+ getApplication_applicationId,+ getApplicationResponse_httpStatus,+ getApplicationResponse_application,++ -- ** GetDashboardForJobRun+ getDashboardForJobRun_applicationId,+ getDashboardForJobRun_jobRunId,+ getDashboardForJobRunResponse_url,+ getDashboardForJobRunResponse_httpStatus,++ -- ** GetJobRun+ getJobRun_applicationId,+ getJobRun_jobRunId,+ getJobRunResponse_httpStatus,+ getJobRunResponse_jobRun,++ -- ** ListApplications+ listApplications_maxResults,+ listApplications_nextToken,+ listApplications_states,+ listApplicationsResponse_nextToken,+ listApplicationsResponse_httpStatus,+ listApplicationsResponse_applications,++ -- ** ListJobRuns+ listJobRuns_createdAtAfter,+ listJobRuns_createdAtBefore,+ listJobRuns_maxResults,+ listJobRuns_nextToken,+ listJobRuns_states,+ listJobRuns_applicationId,+ listJobRunsResponse_nextToken,+ listJobRunsResponse_httpStatus,+ listJobRunsResponse_jobRuns,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** StartApplication+ startApplication_applicationId,+ startApplicationResponse_httpStatus,++ -- ** StartJobRun+ startJobRun_configurationOverrides,+ startJobRun_executionTimeoutMinutes,+ startJobRun_jobDriver,+ startJobRun_name,+ startJobRun_tags,+ startJobRun_applicationId,+ startJobRun_clientToken,+ startJobRun_executionRoleArn,+ startJobRunResponse_httpStatus,+ startJobRunResponse_applicationId,+ startJobRunResponse_jobRunId,+ startJobRunResponse_arn,++ -- ** StopApplication+ stopApplication_applicationId,+ stopApplicationResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateApplication+ updateApplication_architecture,+ updateApplication_autoStartConfiguration,+ updateApplication_autoStopConfiguration,+ updateApplication_imageConfiguration,+ updateApplication_initialCapacity,+ updateApplication_maximumCapacity,+ updateApplication_networkConfiguration,+ updateApplication_workerTypeSpecifications,+ updateApplication_applicationId,+ updateApplication_clientToken,+ updateApplicationResponse_httpStatus,+ updateApplicationResponse_application,++ -- * Types++ -- ** Application+ application_architecture,+ application_autoStartConfiguration,+ application_autoStopConfiguration,+ application_imageConfiguration,+ application_initialCapacity,+ application_maximumCapacity,+ application_name,+ application_networkConfiguration,+ application_stateDetails,+ application_tags,+ application_workerTypeSpecifications,+ application_applicationId,+ application_arn,+ application_releaseLabel,+ application_type,+ application_state,+ application_createdAt,+ application_updatedAt,++ -- ** ApplicationSummary+ applicationSummary_architecture,+ applicationSummary_name,+ applicationSummary_stateDetails,+ applicationSummary_id,+ applicationSummary_arn,+ applicationSummary_releaseLabel,+ applicationSummary_type,+ applicationSummary_state,+ applicationSummary_createdAt,+ applicationSummary_updatedAt,++ -- ** AutoStartConfig+ autoStartConfig_enabled,++ -- ** AutoStopConfig+ autoStopConfig_enabled,+ autoStopConfig_idleTimeoutMinutes,++ -- ** Configuration+ configuration_configurations,+ configuration_properties,+ configuration_classification,++ -- ** ConfigurationOverrides+ configurationOverrides_applicationConfiguration,+ configurationOverrides_monitoringConfiguration,++ -- ** Hive+ hive_initQueryFile,+ hive_parameters,+ hive_query,++ -- ** ImageConfiguration+ imageConfiguration_resolvedImageDigest,+ imageConfiguration_imageUri,++ -- ** ImageConfigurationInput+ imageConfigurationInput_imageUri,++ -- ** InitialCapacityConfig+ initialCapacityConfig_workerConfiguration,+ initialCapacityConfig_workerCount,++ -- ** JobDriver+ jobDriver_hive,+ jobDriver_sparkSubmit,++ -- ** JobRun+ jobRun_configurationOverrides,+ jobRun_name,+ jobRun_networkConfiguration,+ jobRun_tags,+ jobRun_totalExecutionDurationSeconds,+ jobRun_totalResourceUtilization,+ jobRun_applicationId,+ jobRun_jobRunId,+ jobRun_arn,+ jobRun_createdBy,+ jobRun_createdAt,+ jobRun_updatedAt,+ jobRun_executionRole,+ jobRun_state,+ jobRun_stateDetails,+ jobRun_releaseLabel,+ jobRun_jobDriver,++ -- ** JobRunSummary+ jobRunSummary_name,+ jobRunSummary_type,+ jobRunSummary_applicationId,+ jobRunSummary_id,+ jobRunSummary_arn,+ jobRunSummary_createdBy,+ jobRunSummary_createdAt,+ jobRunSummary_updatedAt,+ jobRunSummary_executionRole,+ jobRunSummary_state,+ jobRunSummary_stateDetails,+ jobRunSummary_releaseLabel,++ -- ** ManagedPersistenceMonitoringConfiguration+ managedPersistenceMonitoringConfiguration_enabled,+ managedPersistenceMonitoringConfiguration_encryptionKeyArn,++ -- ** MaximumAllowedResources+ maximumAllowedResources_disk,+ maximumAllowedResources_cpu,+ maximumAllowedResources_memory,++ -- ** MonitoringConfiguration+ monitoringConfiguration_managedPersistenceMonitoringConfiguration,+ monitoringConfiguration_s3MonitoringConfiguration,++ -- ** NetworkConfiguration+ networkConfiguration_securityGroupIds,+ networkConfiguration_subnetIds,++ -- ** S3MonitoringConfiguration+ s3MonitoringConfiguration_encryptionKeyArn,+ s3MonitoringConfiguration_logUri,++ -- ** SparkSubmit+ sparkSubmit_entryPointArguments,+ sparkSubmit_sparkSubmitParameters,+ sparkSubmit_entryPoint,++ -- ** TotalResourceUtilization+ totalResourceUtilization_memoryGBHour,+ totalResourceUtilization_storageGBHour,+ totalResourceUtilization_vCPUHour,++ -- ** WorkerResourceConfig+ workerResourceConfig_disk,+ workerResourceConfig_cpu,+ workerResourceConfig_memory,++ -- ** WorkerTypeSpecification+ workerTypeSpecification_imageConfiguration,++ -- ** WorkerTypeSpecificationInput+ workerTypeSpecificationInput_imageConfiguration,+ )+where++import Amazonka.EMRServerless.CancelJobRun+import Amazonka.EMRServerless.CreateApplication+import Amazonka.EMRServerless.DeleteApplication+import Amazonka.EMRServerless.GetApplication+import Amazonka.EMRServerless.GetDashboardForJobRun+import Amazonka.EMRServerless.GetJobRun+import Amazonka.EMRServerless.ListApplications+import Amazonka.EMRServerless.ListJobRuns+import Amazonka.EMRServerless.ListTagsForResource+import Amazonka.EMRServerless.StartApplication+import Amazonka.EMRServerless.StartJobRun+import Amazonka.EMRServerless.StopApplication+import Amazonka.EMRServerless.TagResource+import Amazonka.EMRServerless.Types.Application+import Amazonka.EMRServerless.Types.ApplicationSummary+import Amazonka.EMRServerless.Types.AutoStartConfig+import Amazonka.EMRServerless.Types.AutoStopConfig+import Amazonka.EMRServerless.Types.Configuration+import Amazonka.EMRServerless.Types.ConfigurationOverrides+import Amazonka.EMRServerless.Types.Hive+import Amazonka.EMRServerless.Types.ImageConfiguration+import Amazonka.EMRServerless.Types.ImageConfigurationInput+import Amazonka.EMRServerless.Types.InitialCapacityConfig+import Amazonka.EMRServerless.Types.JobDriver+import Amazonka.EMRServerless.Types.JobRun+import Amazonka.EMRServerless.Types.JobRunSummary+import Amazonka.EMRServerless.Types.ManagedPersistenceMonitoringConfiguration+import Amazonka.EMRServerless.Types.MaximumAllowedResources+import Amazonka.EMRServerless.Types.MonitoringConfiguration+import Amazonka.EMRServerless.Types.NetworkConfiguration+import Amazonka.EMRServerless.Types.S3MonitoringConfiguration+import Amazonka.EMRServerless.Types.SparkSubmit+import Amazonka.EMRServerless.Types.TotalResourceUtilization+import Amazonka.EMRServerless.Types.WorkerResourceConfig+import Amazonka.EMRServerless.Types.WorkerTypeSpecification+import Amazonka.EMRServerless.Types.WorkerTypeSpecificationInput+import Amazonka.EMRServerless.UntagResource+import Amazonka.EMRServerless.UpdateApplication
+ gen/Amazonka/EMRServerless/ListApplications.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.EMRServerless.ListApplications+-- 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 applications based on a set of parameters.+--+-- This operation returns paginated results.+module Amazonka.EMRServerless.ListApplications+ ( -- * Creating a Request+ ListApplications (..),+ newListApplications,++ -- * Request Lenses+ listApplications_maxResults,+ listApplications_nextToken,+ listApplications_states,++ -- * Destructuring the Response+ ListApplicationsResponse (..),+ newListApplicationsResponse,++ -- * Response Lenses+ listApplicationsResponse_nextToken,+ listApplicationsResponse_httpStatus,+ listApplicationsResponse_applications,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListApplications' smart constructor.+data ListApplications = ListApplications'+ { -- | The maximum number of applications that can be listed.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token for the next set of application results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | An optional filter for application states. Note that if this filter+ -- contains multiple states, the resulting list will be grouped by the+ -- state.+ states :: Prelude.Maybe (Prelude.NonEmpty ApplicationState)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplications' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listApplications_maxResults' - The maximum number of applications that can be listed.+--+-- 'nextToken', 'listApplications_nextToken' - The token for the next set of application results.+--+-- 'states', 'listApplications_states' - An optional filter for application states. Note that if this filter+-- contains multiple states, the resulting list will be grouped by the+-- state.+newListApplications ::+ ListApplications+newListApplications =+ ListApplications'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ states = Prelude.Nothing+ }++-- | The maximum number of applications that can be listed.+listApplications_maxResults :: Lens.Lens' ListApplications (Prelude.Maybe Prelude.Natural)+listApplications_maxResults = Lens.lens (\ListApplications' {maxResults} -> maxResults) (\s@ListApplications' {} a -> s {maxResults = a} :: ListApplications)++-- | The token for the next set of application results.+listApplications_nextToken :: Lens.Lens' ListApplications (Prelude.Maybe Prelude.Text)+listApplications_nextToken = Lens.lens (\ListApplications' {nextToken} -> nextToken) (\s@ListApplications' {} a -> s {nextToken = a} :: ListApplications)++-- | An optional filter for application states. Note that if this filter+-- contains multiple states, the resulting list will be grouped by the+-- state.+listApplications_states :: Lens.Lens' ListApplications (Prelude.Maybe (Prelude.NonEmpty ApplicationState))+listApplications_states = Lens.lens (\ListApplications' {states} -> states) (\s@ListApplications' {} a -> s {states = a} :: ListApplications) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSPager ListApplications where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listApplicationsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ (rs Lens.^. listApplicationsResponse_applications) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listApplications_nextToken+ Lens..~ rs+ Lens.^? listApplicationsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListApplications where+ type+ AWSResponse ListApplications =+ ListApplicationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListApplicationsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "applications" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListApplications where+ hashWithSalt _salt ListApplications' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` states++instance Prelude.NFData ListApplications where+ rnf ListApplications' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf states++instance Data.ToHeaders ListApplications where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListApplications where+ toPath = Prelude.const "/applications"++instance Data.ToQuery ListApplications where+ toQuery ListApplications' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "states"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> states)+ ]++-- | /See:/ 'newListApplicationsResponse' smart constructor.+data ListApplicationsResponse = ListApplicationsResponse'+ { -- | The output displays the token for the next set of application results.+ -- This is required for pagination and is available as a response of the+ -- previous request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The output lists the specified applications.+ applications :: [ApplicationSummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplicationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listApplicationsResponse_nextToken' - The output displays the token for the next set of application results.+-- This is required for pagination and is available as a response of the+-- previous request.+--+-- 'httpStatus', 'listApplicationsResponse_httpStatus' - The response's http status code.+--+-- 'applications', 'listApplicationsResponse_applications' - The output lists the specified applications.+newListApplicationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListApplicationsResponse+newListApplicationsResponse pHttpStatus_ =+ ListApplicationsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ applications = Prelude.mempty+ }++-- | The output displays the token for the next set of application results.+-- This is required for pagination and is available as a response of the+-- previous request.+listApplicationsResponse_nextToken :: Lens.Lens' ListApplicationsResponse (Prelude.Maybe Prelude.Text)+listApplicationsResponse_nextToken = Lens.lens (\ListApplicationsResponse' {nextToken} -> nextToken) (\s@ListApplicationsResponse' {} a -> s {nextToken = a} :: ListApplicationsResponse)++-- | The response's http status code.+listApplicationsResponse_httpStatus :: Lens.Lens' ListApplicationsResponse Prelude.Int+listApplicationsResponse_httpStatus = Lens.lens (\ListApplicationsResponse' {httpStatus} -> httpStatus) (\s@ListApplicationsResponse' {} a -> s {httpStatus = a} :: ListApplicationsResponse)++-- | The output lists the specified applications.+listApplicationsResponse_applications :: Lens.Lens' ListApplicationsResponse [ApplicationSummary]+listApplicationsResponse_applications = Lens.lens (\ListApplicationsResponse' {applications} -> applications) (\s@ListApplicationsResponse' {} a -> s {applications = a} :: ListApplicationsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListApplicationsResponse where+ rnf ListApplicationsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf applications
+ gen/Amazonka/EMRServerless/ListJobRuns.hs view
@@ -0,0 +1,273 @@+{-# 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.EMRServerless.ListJobRuns+-- 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 job runs based on a set of parameters.+--+-- This operation returns paginated results.+module Amazonka.EMRServerless.ListJobRuns+ ( -- * Creating a Request+ ListJobRuns (..),+ newListJobRuns,++ -- * Request Lenses+ listJobRuns_createdAtAfter,+ listJobRuns_createdAtBefore,+ listJobRuns_maxResults,+ listJobRuns_nextToken,+ listJobRuns_states,+ listJobRuns_applicationId,++ -- * Destructuring the Response+ ListJobRunsResponse (..),+ newListJobRunsResponse,++ -- * Response Lenses+ listJobRunsResponse_nextToken,+ listJobRunsResponse_httpStatus,+ listJobRunsResponse_jobRuns,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListJobRuns' smart constructor.+data ListJobRuns = ListJobRuns'+ { -- | The lower bound of the option to filter by creation date and time.+ createdAtAfter :: Prelude.Maybe Data.POSIX,+ -- | The upper bound of the option to filter by creation date and time.+ createdAtBefore :: Prelude.Maybe Data.POSIX,+ -- | The maximum number of job runs that can be listed.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token for the next set of job run results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | An optional filter for job run states. Note that if this filter contains+ -- multiple states, the resulting list will be grouped by the state.+ states :: Prelude.Maybe [JobRunState],+ -- | The ID of the application for which to list the job run.+ applicationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListJobRuns' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAtAfter', 'listJobRuns_createdAtAfter' - The lower bound of the option to filter by creation date and time.+--+-- 'createdAtBefore', 'listJobRuns_createdAtBefore' - The upper bound of the option to filter by creation date and time.+--+-- 'maxResults', 'listJobRuns_maxResults' - The maximum number of job runs that can be listed.+--+-- 'nextToken', 'listJobRuns_nextToken' - The token for the next set of job run results.+--+-- 'states', 'listJobRuns_states' - An optional filter for job run states. Note that if this filter contains+-- multiple states, the resulting list will be grouped by the state.+--+-- 'applicationId', 'listJobRuns_applicationId' - The ID of the application for which to list the job run.+newListJobRuns ::+ -- | 'applicationId'+ Prelude.Text ->+ ListJobRuns+newListJobRuns pApplicationId_ =+ ListJobRuns'+ { createdAtAfter = Prelude.Nothing,+ createdAtBefore = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ states = Prelude.Nothing,+ applicationId = pApplicationId_+ }++-- | The lower bound of the option to filter by creation date and time.+listJobRuns_createdAtAfter :: Lens.Lens' ListJobRuns (Prelude.Maybe Prelude.UTCTime)+listJobRuns_createdAtAfter = Lens.lens (\ListJobRuns' {createdAtAfter} -> createdAtAfter) (\s@ListJobRuns' {} a -> s {createdAtAfter = a} :: ListJobRuns) Prelude.. Lens.mapping Data._Time++-- | The upper bound of the option to filter by creation date and time.+listJobRuns_createdAtBefore :: Lens.Lens' ListJobRuns (Prelude.Maybe Prelude.UTCTime)+listJobRuns_createdAtBefore = Lens.lens (\ListJobRuns' {createdAtBefore} -> createdAtBefore) (\s@ListJobRuns' {} a -> s {createdAtBefore = a} :: ListJobRuns) Prelude.. Lens.mapping Data._Time++-- | The maximum number of job runs that can be listed.+listJobRuns_maxResults :: Lens.Lens' ListJobRuns (Prelude.Maybe Prelude.Natural)+listJobRuns_maxResults = Lens.lens (\ListJobRuns' {maxResults} -> maxResults) (\s@ListJobRuns' {} a -> s {maxResults = a} :: ListJobRuns)++-- | The token for the next set of job run results.+listJobRuns_nextToken :: Lens.Lens' ListJobRuns (Prelude.Maybe Prelude.Text)+listJobRuns_nextToken = Lens.lens (\ListJobRuns' {nextToken} -> nextToken) (\s@ListJobRuns' {} a -> s {nextToken = a} :: ListJobRuns)++-- | An optional filter for job run states. Note that if this filter contains+-- multiple states, the resulting list will be grouped by the state.+listJobRuns_states :: Lens.Lens' ListJobRuns (Prelude.Maybe [JobRunState])+listJobRuns_states = Lens.lens (\ListJobRuns' {states} -> states) (\s@ListJobRuns' {} a -> s {states = a} :: ListJobRuns) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the application for which to list the job run.+listJobRuns_applicationId :: Lens.Lens' ListJobRuns Prelude.Text+listJobRuns_applicationId = Lens.lens (\ListJobRuns' {applicationId} -> applicationId) (\s@ListJobRuns' {} a -> s {applicationId = a} :: ListJobRuns)++instance Core.AWSPager ListJobRuns where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listJobRunsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop (rs Lens.^. listJobRunsResponse_jobRuns) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listJobRuns_nextToken+ Lens..~ rs+ Lens.^? listJobRunsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListJobRuns where+ type AWSResponse ListJobRuns = ListJobRunsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListJobRunsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "jobRuns" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListJobRuns where+ hashWithSalt _salt ListJobRuns' {..} =+ _salt+ `Prelude.hashWithSalt` createdAtAfter+ `Prelude.hashWithSalt` createdAtBefore+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` states+ `Prelude.hashWithSalt` applicationId++instance Prelude.NFData ListJobRuns where+ rnf ListJobRuns' {..} =+ Prelude.rnf createdAtAfter+ `Prelude.seq` Prelude.rnf createdAtBefore+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf states+ `Prelude.seq` Prelude.rnf applicationId++instance Data.ToHeaders ListJobRuns where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListJobRuns where+ toPath ListJobRuns' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/jobruns"+ ]++instance Data.ToQuery ListJobRuns where+ toQuery ListJobRuns' {..} =+ Prelude.mconcat+ [ "createdAtAfter" Data.=: createdAtAfter,+ "createdAtBefore" Data.=: createdAtBefore,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "states"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> states)+ ]++-- | /See:/ 'newListJobRunsResponse' smart constructor.+data ListJobRunsResponse = ListJobRunsResponse'+ { -- | The output displays the token for the next set of job run results. This+ -- is required for pagination and is available as a response of the+ -- previous request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The output lists information about the specified job runs.+ jobRuns :: [JobRunSummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListJobRunsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listJobRunsResponse_nextToken' - The output displays the token for the next set of job run results. This+-- is required for pagination and is available as a response of the+-- previous request.+--+-- 'httpStatus', 'listJobRunsResponse_httpStatus' - The response's http status code.+--+-- 'jobRuns', 'listJobRunsResponse_jobRuns' - The output lists information about the specified job runs.+newListJobRunsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListJobRunsResponse+newListJobRunsResponse pHttpStatus_ =+ ListJobRunsResponse'+ { nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ jobRuns = Prelude.mempty+ }++-- | The output displays the token for the next set of job run results. This+-- is required for pagination and is available as a response of the+-- previous request.+listJobRunsResponse_nextToken :: Lens.Lens' ListJobRunsResponse (Prelude.Maybe Prelude.Text)+listJobRunsResponse_nextToken = Lens.lens (\ListJobRunsResponse' {nextToken} -> nextToken) (\s@ListJobRunsResponse' {} a -> s {nextToken = a} :: ListJobRunsResponse)++-- | The response's http status code.+listJobRunsResponse_httpStatus :: Lens.Lens' ListJobRunsResponse Prelude.Int+listJobRunsResponse_httpStatus = Lens.lens (\ListJobRunsResponse' {httpStatus} -> httpStatus) (\s@ListJobRunsResponse' {} a -> s {httpStatus = a} :: ListJobRunsResponse)++-- | The output lists information about the specified job runs.+listJobRunsResponse_jobRuns :: Lens.Lens' ListJobRunsResponse [JobRunSummary]+listJobRunsResponse_jobRuns = Lens.lens (\ListJobRunsResponse' {jobRuns} -> jobRuns) (\s@ListJobRunsResponse' {} a -> s {jobRuns = a} :: ListJobRunsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListJobRunsResponse where+ rnf ListJobRunsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf jobRuns
+ gen/Amazonka/EMRServerless/ListTagsForResource.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.EMRServerless.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags assigned to the resources.+module Amazonka.EMRServerless.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.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The Amazon Resource Name (ARN) that identifies the resource to list the+ -- tags for. Currently, the supported resources are Amazon EMR Serverless+ -- applications and job runs.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) that identifies the resource to list the+-- tags for. Currently, the supported resources are Amazon EMR Serverless+-- applications and job runs.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) that identifies the resource to list the+-- tags for. Currently, the supported resources are Amazon EMR Serverless+-- applications and job runs.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath ListTagsForResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The tags for the resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags for the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The tags for the resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRServerless/StartApplication.hs view
@@ -0,0 +1,151 @@+{-# 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.EMRServerless.StartApplication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts a specified application and initializes initial capacity if+-- configured.+module Amazonka.EMRServerless.StartApplication+ ( -- * Creating a Request+ StartApplication (..),+ newStartApplication,++ -- * Request Lenses+ startApplication_applicationId,++ -- * Destructuring the Response+ StartApplicationResponse (..),+ newStartApplicationResponse,++ -- * Response Lenses+ startApplicationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartApplication' smart constructor.+data StartApplication = StartApplication'+ { -- | The ID of the application to start.+ applicationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'startApplication_applicationId' - The ID of the application to start.+newStartApplication ::+ -- | 'applicationId'+ Prelude.Text ->+ StartApplication+newStartApplication pApplicationId_ =+ StartApplication' {applicationId = pApplicationId_}++-- | The ID of the application to start.+startApplication_applicationId :: Lens.Lens' StartApplication Prelude.Text+startApplication_applicationId = Lens.lens (\StartApplication' {applicationId} -> applicationId) (\s@StartApplication' {} a -> s {applicationId = a} :: StartApplication)++instance Core.AWSRequest StartApplication where+ type+ AWSResponse StartApplication =+ StartApplicationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ StartApplicationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartApplication where+ hashWithSalt _salt StartApplication' {..} =+ _salt `Prelude.hashWithSalt` applicationId++instance Prelude.NFData StartApplication where+ rnf StartApplication' {..} = Prelude.rnf applicationId++instance Data.ToHeaders StartApplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StartApplication where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath StartApplication where+ toPath StartApplication' {..} =+ Prelude.mconcat+ ["/applications/", Data.toBS applicationId, "/start"]++instance Data.ToQuery StartApplication where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartApplicationResponse' smart constructor.+data StartApplicationResponse = StartApplicationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartApplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startApplicationResponse_httpStatus' - The response's http status code.+newStartApplicationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartApplicationResponse+newStartApplicationResponse pHttpStatus_ =+ StartApplicationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+startApplicationResponse_httpStatus :: Lens.Lens' StartApplicationResponse Prelude.Int+startApplicationResponse_httpStatus = Lens.lens (\StartApplicationResponse' {httpStatus} -> httpStatus) (\s@StartApplicationResponse' {} a -> s {httpStatus = a} :: StartApplicationResponse)++instance Prelude.NFData StartApplicationResponse where+ rnf StartApplicationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/EMRServerless/StartJobRun.hs view
@@ -0,0 +1,315 @@+{-# 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.EMRServerless.StartJobRun+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts a job run.+module Amazonka.EMRServerless.StartJobRun+ ( -- * Creating a Request+ StartJobRun (..),+ newStartJobRun,++ -- * Request Lenses+ startJobRun_configurationOverrides,+ startJobRun_executionTimeoutMinutes,+ startJobRun_jobDriver,+ startJobRun_name,+ startJobRun_tags,+ startJobRun_applicationId,+ startJobRun_clientToken,+ startJobRun_executionRoleArn,++ -- * Destructuring the Response+ StartJobRunResponse (..),+ newStartJobRunResponse,++ -- * Response Lenses+ startJobRunResponse_httpStatus,+ startJobRunResponse_applicationId,+ startJobRunResponse_jobRunId,+ startJobRunResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartJobRun' smart constructor.+data StartJobRun = StartJobRun'+ { -- | The configuration overrides for the job run.+ configurationOverrides :: Prelude.Maybe ConfigurationOverrides,+ -- | The maximum duration for the job run to run. If the job run runs beyond+ -- this duration, it will be automatically cancelled.+ executionTimeoutMinutes :: Prelude.Maybe Prelude.Natural,+ -- | The job driver for the job run.+ jobDriver :: Prelude.Maybe JobDriver,+ -- | The optional job run name. This doesn\'t have to be unique.+ name :: Prelude.Maybe Prelude.Text,+ -- | The tags assigned to the job run.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ID of the application on which to run the job.+ applicationId :: Prelude.Text,+ -- | The client idempotency token of the job run to start. Its value must be+ -- unique for each request.+ clientToken :: Prelude.Text,+ -- | The execution role ARN for the job run.+ executionRoleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartJobRun' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationOverrides', 'startJobRun_configurationOverrides' - The configuration overrides for the job run.+--+-- 'executionTimeoutMinutes', 'startJobRun_executionTimeoutMinutes' - The maximum duration for the job run to run. If the job run runs beyond+-- this duration, it will be automatically cancelled.+--+-- 'jobDriver', 'startJobRun_jobDriver' - The job driver for the job run.+--+-- 'name', 'startJobRun_name' - The optional job run name. This doesn\'t have to be unique.+--+-- 'tags', 'startJobRun_tags' - The tags assigned to the job run.+--+-- 'applicationId', 'startJobRun_applicationId' - The ID of the application on which to run the job.+--+-- 'clientToken', 'startJobRun_clientToken' - The client idempotency token of the job run to start. Its value must be+-- unique for each request.+--+-- 'executionRoleArn', 'startJobRun_executionRoleArn' - The execution role ARN for the job run.+newStartJobRun ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'clientToken'+ Prelude.Text ->+ -- | 'executionRoleArn'+ Prelude.Text ->+ StartJobRun+newStartJobRun+ pApplicationId_+ pClientToken_+ pExecutionRoleArn_ =+ StartJobRun'+ { configurationOverrides =+ Prelude.Nothing,+ executionTimeoutMinutes = Prelude.Nothing,+ jobDriver = Prelude.Nothing,+ name = Prelude.Nothing,+ tags = Prelude.Nothing,+ applicationId = pApplicationId_,+ clientToken = pClientToken_,+ executionRoleArn = pExecutionRoleArn_+ }++-- | The configuration overrides for the job run.+startJobRun_configurationOverrides :: Lens.Lens' StartJobRun (Prelude.Maybe ConfigurationOverrides)+startJobRun_configurationOverrides = Lens.lens (\StartJobRun' {configurationOverrides} -> configurationOverrides) (\s@StartJobRun' {} a -> s {configurationOverrides = a} :: StartJobRun)++-- | The maximum duration for the job run to run. If the job run runs beyond+-- this duration, it will be automatically cancelled.+startJobRun_executionTimeoutMinutes :: Lens.Lens' StartJobRun (Prelude.Maybe Prelude.Natural)+startJobRun_executionTimeoutMinutes = Lens.lens (\StartJobRun' {executionTimeoutMinutes} -> executionTimeoutMinutes) (\s@StartJobRun' {} a -> s {executionTimeoutMinutes = a} :: StartJobRun)++-- | The job driver for the job run.+startJobRun_jobDriver :: Lens.Lens' StartJobRun (Prelude.Maybe JobDriver)+startJobRun_jobDriver = Lens.lens (\StartJobRun' {jobDriver} -> jobDriver) (\s@StartJobRun' {} a -> s {jobDriver = a} :: StartJobRun)++-- | The optional job run name. This doesn\'t have to be unique.+startJobRun_name :: Lens.Lens' StartJobRun (Prelude.Maybe Prelude.Text)+startJobRun_name = Lens.lens (\StartJobRun' {name} -> name) (\s@StartJobRun' {} a -> s {name = a} :: StartJobRun)++-- | The tags assigned to the job run.+startJobRun_tags :: Lens.Lens' StartJobRun (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+startJobRun_tags = Lens.lens (\StartJobRun' {tags} -> tags) (\s@StartJobRun' {} a -> s {tags = a} :: StartJobRun) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the application on which to run the job.+startJobRun_applicationId :: Lens.Lens' StartJobRun Prelude.Text+startJobRun_applicationId = Lens.lens (\StartJobRun' {applicationId} -> applicationId) (\s@StartJobRun' {} a -> s {applicationId = a} :: StartJobRun)++-- | The client idempotency token of the job run to start. Its value must be+-- unique for each request.+startJobRun_clientToken :: Lens.Lens' StartJobRun Prelude.Text+startJobRun_clientToken = Lens.lens (\StartJobRun' {clientToken} -> clientToken) (\s@StartJobRun' {} a -> s {clientToken = a} :: StartJobRun)++-- | The execution role ARN for the job run.+startJobRun_executionRoleArn :: Lens.Lens' StartJobRun Prelude.Text+startJobRun_executionRoleArn = Lens.lens (\StartJobRun' {executionRoleArn} -> executionRoleArn) (\s@StartJobRun' {} a -> s {executionRoleArn = a} :: StartJobRun)++instance Core.AWSRequest StartJobRun where+ type AWSResponse StartJobRun = StartJobRunResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartJobRunResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "applicationId")+ Prelude.<*> (x Data..:> "jobRunId")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable StartJobRun where+ hashWithSalt _salt StartJobRun' {..} =+ _salt+ `Prelude.hashWithSalt` configurationOverrides+ `Prelude.hashWithSalt` executionTimeoutMinutes+ `Prelude.hashWithSalt` jobDriver+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` executionRoleArn++instance Prelude.NFData StartJobRun where+ rnf StartJobRun' {..} =+ Prelude.rnf configurationOverrides+ `Prelude.seq` Prelude.rnf executionTimeoutMinutes+ `Prelude.seq` Prelude.rnf jobDriver+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf executionRoleArn++instance Data.ToHeaders StartJobRun where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StartJobRun where+ toJSON StartJobRun' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("configurationOverrides" Data..=)+ Prelude.<$> configurationOverrides,+ ("executionTimeoutMinutes" Data..=)+ Prelude.<$> executionTimeoutMinutes,+ ("jobDriver" Data..=) Prelude.<$> jobDriver,+ ("name" Data..=) Prelude.<$> name,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("clientToken" Data..= clientToken),+ Prelude.Just+ ("executionRoleArn" Data..= executionRoleArn)+ ]+ )++instance Data.ToPath StartJobRun where+ toPath StartJobRun' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/jobruns"+ ]++instance Data.ToQuery StartJobRun where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartJobRunResponse' smart constructor.+data StartJobRunResponse = StartJobRunResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | This output displays the application ID on which the job run was+ -- submitted.+ applicationId :: Prelude.Text,+ -- | The output contains the ID of the started job run.+ jobRunId :: Prelude.Text,+ -- | The output lists the execution role ARN of the job run.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartJobRunResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startJobRunResponse_httpStatus' - The response's http status code.+--+-- 'applicationId', 'startJobRunResponse_applicationId' - This output displays the application ID on which the job run was+-- submitted.+--+-- 'jobRunId', 'startJobRunResponse_jobRunId' - The output contains the ID of the started job run.+--+-- 'arn', 'startJobRunResponse_arn' - The output lists the execution role ARN of the job run.+newStartJobRunResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'jobRunId'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ StartJobRunResponse+newStartJobRunResponse+ pHttpStatus_+ pApplicationId_+ pJobRunId_+ pArn_ =+ StartJobRunResponse'+ { httpStatus = pHttpStatus_,+ applicationId = pApplicationId_,+ jobRunId = pJobRunId_,+ arn = pArn_+ }++-- | The response's http status code.+startJobRunResponse_httpStatus :: Lens.Lens' StartJobRunResponse Prelude.Int+startJobRunResponse_httpStatus = Lens.lens (\StartJobRunResponse' {httpStatus} -> httpStatus) (\s@StartJobRunResponse' {} a -> s {httpStatus = a} :: StartJobRunResponse)++-- | This output displays the application ID on which the job run was+-- submitted.+startJobRunResponse_applicationId :: Lens.Lens' StartJobRunResponse Prelude.Text+startJobRunResponse_applicationId = Lens.lens (\StartJobRunResponse' {applicationId} -> applicationId) (\s@StartJobRunResponse' {} a -> s {applicationId = a} :: StartJobRunResponse)++-- | The output contains the ID of the started job run.+startJobRunResponse_jobRunId :: Lens.Lens' StartJobRunResponse Prelude.Text+startJobRunResponse_jobRunId = Lens.lens (\StartJobRunResponse' {jobRunId} -> jobRunId) (\s@StartJobRunResponse' {} a -> s {jobRunId = a} :: StartJobRunResponse)++-- | The output lists the execution role ARN of the job run.+startJobRunResponse_arn :: Lens.Lens' StartJobRunResponse Prelude.Text+startJobRunResponse_arn = Lens.lens (\StartJobRunResponse' {arn} -> arn) (\s@StartJobRunResponse' {} a -> s {arn = a} :: StartJobRunResponse)++instance Prelude.NFData StartJobRunResponse where+ rnf StartJobRunResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf jobRunId+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/EMRServerless/StopApplication.hs view
@@ -0,0 +1,149 @@+{-# 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.EMRServerless.StopApplication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops a specified application and releases initial capacity if+-- configured. All scheduled and running jobs must be completed or+-- cancelled before stopping an application.+module Amazonka.EMRServerless.StopApplication+ ( -- * Creating a Request+ StopApplication (..),+ newStopApplication,++ -- * Request Lenses+ stopApplication_applicationId,++ -- * Destructuring the Response+ StopApplicationResponse (..),+ newStopApplicationResponse,++ -- * Response Lenses+ stopApplicationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopApplication' smart constructor.+data StopApplication = StopApplication'+ { -- | The ID of the application to stop.+ applicationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'stopApplication_applicationId' - The ID of the application to stop.+newStopApplication ::+ -- | 'applicationId'+ Prelude.Text ->+ StopApplication+newStopApplication pApplicationId_ =+ StopApplication' {applicationId = pApplicationId_}++-- | The ID of the application to stop.+stopApplication_applicationId :: Lens.Lens' StopApplication Prelude.Text+stopApplication_applicationId = Lens.lens (\StopApplication' {applicationId} -> applicationId) (\s@StopApplication' {} a -> s {applicationId = a} :: StopApplication)++instance Core.AWSRequest StopApplication where+ type+ AWSResponse StopApplication =+ StopApplicationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ StopApplicationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StopApplication where+ hashWithSalt _salt StopApplication' {..} =+ _salt `Prelude.hashWithSalt` applicationId++instance Prelude.NFData StopApplication where+ rnf StopApplication' {..} = Prelude.rnf applicationId++instance Data.ToHeaders StopApplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StopApplication where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath StopApplication where+ toPath StopApplication' {..} =+ Prelude.mconcat+ ["/applications/", Data.toBS applicationId, "/stop"]++instance Data.ToQuery StopApplication where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopApplicationResponse' smart constructor.+data StopApplicationResponse = StopApplicationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopApplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'stopApplicationResponse_httpStatus' - The response's http status code.+newStopApplicationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StopApplicationResponse+newStopApplicationResponse pHttpStatus_ =+ StopApplicationResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+stopApplicationResponse_httpStatus :: Lens.Lens' StopApplicationResponse Prelude.Int+stopApplicationResponse_httpStatus = Lens.lens (\StopApplicationResponse' {httpStatus} -> httpStatus) (\s@StopApplicationResponse' {} a -> s {httpStatus = a} :: StopApplicationResponse)++instance Prelude.NFData StopApplicationResponse where+ rnf StopApplicationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/EMRServerless/TagResource.hs view
@@ -0,0 +1,174 @@+{-# 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.EMRServerless.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)+--+-- Assigns tags to resources. A tag is a label that you assign to an AWS+-- resource. Each tag consists of a key and an optional value, both of+-- which you define. Tags enable you to categorize your AWS resources by+-- attributes such as purpose, owner, or environment. When you have many+-- resources of the same type, you can quickly identify a specific resource+-- based on the tags you\'ve assigned to it.+module Amazonka.EMRServerless.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The Amazon Resource Name (ARN) that identifies the resource to list the+ -- tags for. Currently, the supported resources are Amazon EMR Serverless+ -- applications and job runs.+ resourceArn :: Prelude.Text,+ -- | The tags to add to the resource. A tag is an array of key-value pairs.+ tags :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) that identifies the resource to list the+-- tags for. Currently, the supported resources are Amazon EMR Serverless+-- applications and job runs.+--+-- 'tags', 'tagResource_tags' - The tags to add to the resource. A tag is an array of key-value pairs.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) that identifies the resource to list the+-- tags for. Currently, the supported resources are Amazon EMR Serverless+-- applications and job runs.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags to add to the resource. A tag is an array of key-value pairs.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("tags" Data..= tags)]+ )++instance Data.ToPath TagResource where+ toPath TagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/EMRServerless/Types.hs view
@@ -0,0 +1,368 @@+{-# 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.EMRServerless.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.EMRServerless.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _ConflictException,+ _InternalServerException,+ _ResourceNotFoundException,+ _ServiceQuotaExceededException,+ _ValidationException,++ -- * ApplicationState+ ApplicationState (..),++ -- * Architecture+ Architecture (..),++ -- * JobRunState+ JobRunState (..),++ -- * Application+ Application (..),+ newApplication,+ application_architecture,+ application_autoStartConfiguration,+ application_autoStopConfiguration,+ application_imageConfiguration,+ application_initialCapacity,+ application_maximumCapacity,+ application_name,+ application_networkConfiguration,+ application_stateDetails,+ application_tags,+ application_workerTypeSpecifications,+ application_applicationId,+ application_arn,+ application_releaseLabel,+ application_type,+ application_state,+ application_createdAt,+ application_updatedAt,++ -- * ApplicationSummary+ ApplicationSummary (..),+ newApplicationSummary,+ applicationSummary_architecture,+ applicationSummary_name,+ applicationSummary_stateDetails,+ applicationSummary_id,+ applicationSummary_arn,+ applicationSummary_releaseLabel,+ applicationSummary_type,+ applicationSummary_state,+ applicationSummary_createdAt,+ applicationSummary_updatedAt,++ -- * AutoStartConfig+ AutoStartConfig (..),+ newAutoStartConfig,+ autoStartConfig_enabled,++ -- * AutoStopConfig+ AutoStopConfig (..),+ newAutoStopConfig,+ autoStopConfig_enabled,+ autoStopConfig_idleTimeoutMinutes,++ -- * Configuration+ Configuration (..),+ newConfiguration,+ configuration_configurations,+ configuration_properties,+ configuration_classification,++ -- * ConfigurationOverrides+ ConfigurationOverrides (..),+ newConfigurationOverrides,+ configurationOverrides_applicationConfiguration,+ configurationOverrides_monitoringConfiguration,++ -- * Hive+ Hive (..),+ newHive,+ hive_initQueryFile,+ hive_parameters,+ hive_query,++ -- * ImageConfiguration+ ImageConfiguration (..),+ newImageConfiguration,+ imageConfiguration_resolvedImageDigest,+ imageConfiguration_imageUri,++ -- * ImageConfigurationInput+ ImageConfigurationInput (..),+ newImageConfigurationInput,+ imageConfigurationInput_imageUri,++ -- * InitialCapacityConfig+ InitialCapacityConfig (..),+ newInitialCapacityConfig,+ initialCapacityConfig_workerConfiguration,+ initialCapacityConfig_workerCount,++ -- * JobDriver+ JobDriver (..),+ newJobDriver,+ jobDriver_hive,+ jobDriver_sparkSubmit,++ -- * JobRun+ JobRun (..),+ newJobRun,+ jobRun_configurationOverrides,+ jobRun_name,+ jobRun_networkConfiguration,+ jobRun_tags,+ jobRun_totalExecutionDurationSeconds,+ jobRun_totalResourceUtilization,+ jobRun_applicationId,+ jobRun_jobRunId,+ jobRun_arn,+ jobRun_createdBy,+ jobRun_createdAt,+ jobRun_updatedAt,+ jobRun_executionRole,+ jobRun_state,+ jobRun_stateDetails,+ jobRun_releaseLabel,+ jobRun_jobDriver,++ -- * JobRunSummary+ JobRunSummary (..),+ newJobRunSummary,+ jobRunSummary_name,+ jobRunSummary_type,+ jobRunSummary_applicationId,+ jobRunSummary_id,+ jobRunSummary_arn,+ jobRunSummary_createdBy,+ jobRunSummary_createdAt,+ jobRunSummary_updatedAt,+ jobRunSummary_executionRole,+ jobRunSummary_state,+ jobRunSummary_stateDetails,+ jobRunSummary_releaseLabel,++ -- * ManagedPersistenceMonitoringConfiguration+ ManagedPersistenceMonitoringConfiguration (..),+ newManagedPersistenceMonitoringConfiguration,+ managedPersistenceMonitoringConfiguration_enabled,+ managedPersistenceMonitoringConfiguration_encryptionKeyArn,++ -- * MaximumAllowedResources+ MaximumAllowedResources (..),+ newMaximumAllowedResources,+ maximumAllowedResources_disk,+ maximumAllowedResources_cpu,+ maximumAllowedResources_memory,++ -- * MonitoringConfiguration+ MonitoringConfiguration (..),+ newMonitoringConfiguration,+ monitoringConfiguration_managedPersistenceMonitoringConfiguration,+ monitoringConfiguration_s3MonitoringConfiguration,++ -- * NetworkConfiguration+ NetworkConfiguration (..),+ newNetworkConfiguration,+ networkConfiguration_securityGroupIds,+ networkConfiguration_subnetIds,++ -- * S3MonitoringConfiguration+ S3MonitoringConfiguration (..),+ newS3MonitoringConfiguration,+ s3MonitoringConfiguration_encryptionKeyArn,+ s3MonitoringConfiguration_logUri,++ -- * SparkSubmit+ SparkSubmit (..),+ newSparkSubmit,+ sparkSubmit_entryPointArguments,+ sparkSubmit_sparkSubmitParameters,+ sparkSubmit_entryPoint,++ -- * TotalResourceUtilization+ TotalResourceUtilization (..),+ newTotalResourceUtilization,+ totalResourceUtilization_memoryGBHour,+ totalResourceUtilization_storageGBHour,+ totalResourceUtilization_vCPUHour,++ -- * WorkerResourceConfig+ WorkerResourceConfig (..),+ newWorkerResourceConfig,+ workerResourceConfig_disk,+ workerResourceConfig_cpu,+ workerResourceConfig_memory,++ -- * WorkerTypeSpecification+ WorkerTypeSpecification (..),+ newWorkerTypeSpecification,+ workerTypeSpecification_imageConfiguration,++ -- * WorkerTypeSpecificationInput+ WorkerTypeSpecificationInput (..),+ newWorkerTypeSpecificationInput,+ workerTypeSpecificationInput_imageConfiguration,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.EMRServerless.Types.Application+import Amazonka.EMRServerless.Types.ApplicationState+import Amazonka.EMRServerless.Types.ApplicationSummary+import Amazonka.EMRServerless.Types.Architecture+import Amazonka.EMRServerless.Types.AutoStartConfig+import Amazonka.EMRServerless.Types.AutoStopConfig+import Amazonka.EMRServerless.Types.Configuration+import Amazonka.EMRServerless.Types.ConfigurationOverrides+import Amazonka.EMRServerless.Types.Hive+import Amazonka.EMRServerless.Types.ImageConfiguration+import Amazonka.EMRServerless.Types.ImageConfigurationInput+import Amazonka.EMRServerless.Types.InitialCapacityConfig+import Amazonka.EMRServerless.Types.JobDriver+import Amazonka.EMRServerless.Types.JobRun+import Amazonka.EMRServerless.Types.JobRunState+import Amazonka.EMRServerless.Types.JobRunSummary+import Amazonka.EMRServerless.Types.ManagedPersistenceMonitoringConfiguration+import Amazonka.EMRServerless.Types.MaximumAllowedResources+import Amazonka.EMRServerless.Types.MonitoringConfiguration+import Amazonka.EMRServerless.Types.NetworkConfiguration+import Amazonka.EMRServerless.Types.S3MonitoringConfiguration+import Amazonka.EMRServerless.Types.SparkSubmit+import Amazonka.EMRServerless.Types.TotalResourceUtilization+import Amazonka.EMRServerless.Types.WorkerResourceConfig+import Amazonka.EMRServerless.Types.WorkerTypeSpecification+import Amazonka.EMRServerless.Types.WorkerTypeSpecificationInput+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2021-07-13@ of the Amazon EMR Serverless SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "EMRServerless",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "emr-serverless",+ Core.signingName = "emr-serverless",+ Core.version = "2021-07-13",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "EMRServerless",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | The request could not be processed because of conflict in the current+-- state of the resource.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | Request processing failed because of an error or failure with the+-- service.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"+ Prelude.. Core.hasStatus 500++-- | The specified resource was not found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | The maximum number of resources per account has been reached.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"+ Prelude.. Core.hasStatus 402++-- | The input fails to satisfy the constraints specified by an AWS service.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/EMRServerless/Types/Application.hs view
@@ -0,0 +1,331 @@+{-# 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.EMRServerless.Types.Application+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.Application where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types.ApplicationState+import Amazonka.EMRServerless.Types.Architecture+import Amazonka.EMRServerless.Types.AutoStartConfig+import Amazonka.EMRServerless.Types.AutoStopConfig+import Amazonka.EMRServerless.Types.ImageConfiguration+import Amazonka.EMRServerless.Types.InitialCapacityConfig+import Amazonka.EMRServerless.Types.MaximumAllowedResources+import Amazonka.EMRServerless.Types.NetworkConfiguration+import Amazonka.EMRServerless.Types.WorkerTypeSpecification+import qualified Amazonka.Prelude as Prelude++-- | Information about an application. EMR Serverless uses applications to+-- run jobs.+--+-- /See:/ 'newApplication' smart constructor.+data Application = Application'+ { -- | The CPU architecture of an application.+ architecture :: Prelude.Maybe Architecture,+ -- | The configuration for an application to automatically start on job+ -- submission.+ autoStartConfiguration :: Prelude.Maybe AutoStartConfig,+ -- | The configuration for an application to automatically stop after a+ -- certain amount of time being idle.+ autoStopConfiguration :: Prelude.Maybe AutoStopConfig,+ -- | The image configuration applied to all worker types.+ imageConfiguration :: Prelude.Maybe ImageConfiguration,+ -- | The initial capacity of the application.+ initialCapacity :: Prelude.Maybe (Prelude.HashMap Prelude.Text InitialCapacityConfig),+ -- | The maximum capacity of the application. This is cumulative across all+ -- workers at any given point in time during the lifespan of the+ -- application is created. No new resources will be created once any one of+ -- the defined limits is hit.+ maximumCapacity :: Prelude.Maybe MaximumAllowedResources,+ -- | The name of the application.+ name :: Prelude.Maybe Prelude.Text,+ -- | The network configuration for customer VPC connectivity for the+ -- application.+ networkConfiguration :: Prelude.Maybe NetworkConfiguration,+ -- | The state details of the application.+ stateDetails :: Prelude.Maybe Prelude.Text,+ -- | The tags assigned to the application.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The specification applied to each worker type.+ workerTypeSpecifications :: Prelude.Maybe (Prelude.HashMap Prelude.Text WorkerTypeSpecification),+ -- | The ID of the application.+ applicationId :: Prelude.Text,+ -- | The ARN of the application.+ arn :: Prelude.Text,+ -- | The EMR release associated with the application.+ releaseLabel :: Prelude.Text,+ -- | The type of application, such as Spark or Hive.+ type' :: Prelude.Text,+ -- | The state of the application.+ state :: ApplicationState,+ -- | The date and time when the application run was created.+ createdAt :: Data.POSIX,+ -- | The date and time when the application run was last updated.+ updatedAt :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Application' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'architecture', 'application_architecture' - The CPU architecture of an application.+--+-- 'autoStartConfiguration', 'application_autoStartConfiguration' - The configuration for an application to automatically start on job+-- submission.+--+-- 'autoStopConfiguration', 'application_autoStopConfiguration' - The configuration for an application to automatically stop after a+-- certain amount of time being idle.+--+-- 'imageConfiguration', 'application_imageConfiguration' - The image configuration applied to all worker types.+--+-- 'initialCapacity', 'application_initialCapacity' - The initial capacity of the application.+--+-- 'maximumCapacity', 'application_maximumCapacity' - The maximum capacity of the application. This is cumulative across all+-- workers at any given point in time during the lifespan of the+-- application is created. No new resources will be created once any one of+-- the defined limits is hit.+--+-- 'name', 'application_name' - The name of the application.+--+-- 'networkConfiguration', 'application_networkConfiguration' - The network configuration for customer VPC connectivity for the+-- application.+--+-- 'stateDetails', 'application_stateDetails' - The state details of the application.+--+-- 'tags', 'application_tags' - The tags assigned to the application.+--+-- 'workerTypeSpecifications', 'application_workerTypeSpecifications' - The specification applied to each worker type.+--+-- 'applicationId', 'application_applicationId' - The ID of the application.+--+-- 'arn', 'application_arn' - The ARN of the application.+--+-- 'releaseLabel', 'application_releaseLabel' - The EMR release associated with the application.+--+-- 'type'', 'application_type' - The type of application, such as Spark or Hive.+--+-- 'state', 'application_state' - The state of the application.+--+-- 'createdAt', 'application_createdAt' - The date and time when the application run was created.+--+-- 'updatedAt', 'application_updatedAt' - The date and time when the application run was last updated.+newApplication ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'releaseLabel'+ Prelude.Text ->+ -- | 'type''+ Prelude.Text ->+ -- | 'state'+ ApplicationState ->+ -- | 'createdAt'+ Prelude.UTCTime ->+ -- | 'updatedAt'+ Prelude.UTCTime ->+ Application+newApplication+ pApplicationId_+ pArn_+ pReleaseLabel_+ pType_+ pState_+ pCreatedAt_+ pUpdatedAt_ =+ Application'+ { architecture = Prelude.Nothing,+ autoStartConfiguration = Prelude.Nothing,+ autoStopConfiguration = Prelude.Nothing,+ imageConfiguration = Prelude.Nothing,+ initialCapacity = Prelude.Nothing,+ maximumCapacity = Prelude.Nothing,+ name = Prelude.Nothing,+ networkConfiguration = Prelude.Nothing,+ stateDetails = Prelude.Nothing,+ tags = Prelude.Nothing,+ workerTypeSpecifications = Prelude.Nothing,+ applicationId = pApplicationId_,+ arn = pArn_,+ releaseLabel = pReleaseLabel_,+ type' = pType_,+ state = pState_,+ createdAt = Data._Time Lens.# pCreatedAt_,+ updatedAt = Data._Time Lens.# pUpdatedAt_+ }++-- | The CPU architecture of an application.+application_architecture :: Lens.Lens' Application (Prelude.Maybe Architecture)+application_architecture = Lens.lens (\Application' {architecture} -> architecture) (\s@Application' {} a -> s {architecture = a} :: Application)++-- | The configuration for an application to automatically start on job+-- submission.+application_autoStartConfiguration :: Lens.Lens' Application (Prelude.Maybe AutoStartConfig)+application_autoStartConfiguration = Lens.lens (\Application' {autoStartConfiguration} -> autoStartConfiguration) (\s@Application' {} a -> s {autoStartConfiguration = a} :: Application)++-- | The configuration for an application to automatically stop after a+-- certain amount of time being idle.+application_autoStopConfiguration :: Lens.Lens' Application (Prelude.Maybe AutoStopConfig)+application_autoStopConfiguration = Lens.lens (\Application' {autoStopConfiguration} -> autoStopConfiguration) (\s@Application' {} a -> s {autoStopConfiguration = a} :: Application)++-- | The image configuration applied to all worker types.+application_imageConfiguration :: Lens.Lens' Application (Prelude.Maybe ImageConfiguration)+application_imageConfiguration = Lens.lens (\Application' {imageConfiguration} -> imageConfiguration) (\s@Application' {} a -> s {imageConfiguration = a} :: Application)++-- | The initial capacity of the application.+application_initialCapacity :: Lens.Lens' Application (Prelude.Maybe (Prelude.HashMap Prelude.Text InitialCapacityConfig))+application_initialCapacity = Lens.lens (\Application' {initialCapacity} -> initialCapacity) (\s@Application' {} a -> s {initialCapacity = a} :: Application) Prelude.. Lens.mapping Lens.coerced++-- | The maximum capacity of the application. This is cumulative across all+-- workers at any given point in time during the lifespan of the+-- application is created. No new resources will be created once any one of+-- the defined limits is hit.+application_maximumCapacity :: Lens.Lens' Application (Prelude.Maybe MaximumAllowedResources)+application_maximumCapacity = Lens.lens (\Application' {maximumCapacity} -> maximumCapacity) (\s@Application' {} a -> s {maximumCapacity = a} :: Application)++-- | The name of the application.+application_name :: Lens.Lens' Application (Prelude.Maybe Prelude.Text)+application_name = Lens.lens (\Application' {name} -> name) (\s@Application' {} a -> s {name = a} :: Application)++-- | The network configuration for customer VPC connectivity for the+-- application.+application_networkConfiguration :: Lens.Lens' Application (Prelude.Maybe NetworkConfiguration)+application_networkConfiguration = Lens.lens (\Application' {networkConfiguration} -> networkConfiguration) (\s@Application' {} a -> s {networkConfiguration = a} :: Application)++-- | The state details of the application.+application_stateDetails :: Lens.Lens' Application (Prelude.Maybe Prelude.Text)+application_stateDetails = Lens.lens (\Application' {stateDetails} -> stateDetails) (\s@Application' {} a -> s {stateDetails = a} :: Application)++-- | The tags assigned to the application.+application_tags :: Lens.Lens' Application (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+application_tags = Lens.lens (\Application' {tags} -> tags) (\s@Application' {} a -> s {tags = a} :: Application) Prelude.. Lens.mapping Lens.coerced++-- | The specification applied to each worker type.+application_workerTypeSpecifications :: Lens.Lens' Application (Prelude.Maybe (Prelude.HashMap Prelude.Text WorkerTypeSpecification))+application_workerTypeSpecifications = Lens.lens (\Application' {workerTypeSpecifications} -> workerTypeSpecifications) (\s@Application' {} a -> s {workerTypeSpecifications = a} :: Application) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the application.+application_applicationId :: Lens.Lens' Application Prelude.Text+application_applicationId = Lens.lens (\Application' {applicationId} -> applicationId) (\s@Application' {} a -> s {applicationId = a} :: Application)++-- | The ARN of the application.+application_arn :: Lens.Lens' Application Prelude.Text+application_arn = Lens.lens (\Application' {arn} -> arn) (\s@Application' {} a -> s {arn = a} :: Application)++-- | The EMR release associated with the application.+application_releaseLabel :: Lens.Lens' Application Prelude.Text+application_releaseLabel = Lens.lens (\Application' {releaseLabel} -> releaseLabel) (\s@Application' {} a -> s {releaseLabel = a} :: Application)++-- | The type of application, such as Spark or Hive.+application_type :: Lens.Lens' Application Prelude.Text+application_type = Lens.lens (\Application' {type'} -> type') (\s@Application' {} a -> s {type' = a} :: Application)++-- | The state of the application.+application_state :: Lens.Lens' Application ApplicationState+application_state = Lens.lens (\Application' {state} -> state) (\s@Application' {} a -> s {state = a} :: Application)++-- | The date and time when the application run was created.+application_createdAt :: Lens.Lens' Application Prelude.UTCTime+application_createdAt = Lens.lens (\Application' {createdAt} -> createdAt) (\s@Application' {} a -> s {createdAt = a} :: Application) Prelude.. Data._Time++-- | The date and time when the application run was last updated.+application_updatedAt :: Lens.Lens' Application Prelude.UTCTime+application_updatedAt = Lens.lens (\Application' {updatedAt} -> updatedAt) (\s@Application' {} a -> s {updatedAt = a} :: Application) Prelude.. Data._Time++instance Data.FromJSON Application where+ parseJSON =+ Data.withObject+ "Application"+ ( \x ->+ Application'+ Prelude.<$> (x Data..:? "architecture")+ Prelude.<*> (x Data..:? "autoStartConfiguration")+ Prelude.<*> (x Data..:? "autoStopConfiguration")+ Prelude.<*> (x Data..:? "imageConfiguration")+ Prelude.<*> ( x+ Data..:? "initialCapacity"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "maximumCapacity")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "networkConfiguration")+ Prelude.<*> (x Data..:? "stateDetails")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> ( x+ Data..:? "workerTypeSpecifications"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..: "applicationId")+ Prelude.<*> (x Data..: "arn")+ Prelude.<*> (x Data..: "releaseLabel")+ Prelude.<*> (x Data..: "type")+ Prelude.<*> (x Data..: "state")+ Prelude.<*> (x Data..: "createdAt")+ Prelude.<*> (x Data..: "updatedAt")+ )++instance Prelude.Hashable Application where+ hashWithSalt _salt Application' {..} =+ _salt+ `Prelude.hashWithSalt` architecture+ `Prelude.hashWithSalt` autoStartConfiguration+ `Prelude.hashWithSalt` autoStopConfiguration+ `Prelude.hashWithSalt` imageConfiguration+ `Prelude.hashWithSalt` initialCapacity+ `Prelude.hashWithSalt` maximumCapacity+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` networkConfiguration+ `Prelude.hashWithSalt` stateDetails+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` workerTypeSpecifications+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` releaseLabel+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData Application where+ rnf Application' {..} =+ Prelude.rnf architecture+ `Prelude.seq` Prelude.rnf autoStartConfiguration+ `Prelude.seq` Prelude.rnf autoStopConfiguration+ `Prelude.seq` Prelude.rnf imageConfiguration+ `Prelude.seq` Prelude.rnf initialCapacity+ `Prelude.seq` Prelude.rnf maximumCapacity+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf networkConfiguration+ `Prelude.seq` Prelude.rnf stateDetails+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf workerTypeSpecifications+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf releaseLabel+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/EMRServerless/Types/ApplicationState.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.Types.ApplicationState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.ApplicationState+ ( ApplicationState+ ( ..,+ ApplicationState_CREATED,+ ApplicationState_CREATING,+ ApplicationState_STARTED,+ ApplicationState_STARTING,+ ApplicationState_STOPPED,+ ApplicationState_STOPPING,+ ApplicationState_TERMINATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ApplicationState = ApplicationState'+ { fromApplicationState ::+ 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 ApplicationState_CREATED :: ApplicationState+pattern ApplicationState_CREATED = ApplicationState' "CREATED"++pattern ApplicationState_CREATING :: ApplicationState+pattern ApplicationState_CREATING = ApplicationState' "CREATING"++pattern ApplicationState_STARTED :: ApplicationState+pattern ApplicationState_STARTED = ApplicationState' "STARTED"++pattern ApplicationState_STARTING :: ApplicationState+pattern ApplicationState_STARTING = ApplicationState' "STARTING"++pattern ApplicationState_STOPPED :: ApplicationState+pattern ApplicationState_STOPPED = ApplicationState' "STOPPED"++pattern ApplicationState_STOPPING :: ApplicationState+pattern ApplicationState_STOPPING = ApplicationState' "STOPPING"++pattern ApplicationState_TERMINATED :: ApplicationState+pattern ApplicationState_TERMINATED = ApplicationState' "TERMINATED"++{-# COMPLETE+ ApplicationState_CREATED,+ ApplicationState_CREATING,+ ApplicationState_STARTED,+ ApplicationState_STARTING,+ ApplicationState_STOPPED,+ ApplicationState_STOPPING,+ ApplicationState_TERMINATED,+ ApplicationState'+ #-}
+ gen/Amazonka/EMRServerless/Types/ApplicationSummary.hs view
@@ -0,0 +1,203 @@+{-# 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.EMRServerless.Types.ApplicationSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.ApplicationSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types.ApplicationState+import Amazonka.EMRServerless.Types.Architecture+import qualified Amazonka.Prelude as Prelude++-- | The summary of attributes associated with an application.+--+-- /See:/ 'newApplicationSummary' smart constructor.+data ApplicationSummary = ApplicationSummary'+ { -- | The CPU architecture of an application.+ architecture :: Prelude.Maybe Architecture,+ -- | The name of the application.+ name :: Prelude.Maybe Prelude.Text,+ -- | The state details of the application.+ stateDetails :: Prelude.Maybe Prelude.Text,+ -- | The ID of the application.+ id :: Prelude.Text,+ -- | The ARN of the application.+ arn :: Prelude.Text,+ -- | The EMR release associated with the application.+ releaseLabel :: Prelude.Text,+ -- | The type of application, such as Spark or Hive.+ type' :: Prelude.Text,+ -- | The state of the application.+ state :: ApplicationState,+ -- | The date and time when the application was created.+ createdAt :: Data.POSIX,+ -- | The date and time when the application was last updated.+ updatedAt :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApplicationSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'architecture', 'applicationSummary_architecture' - The CPU architecture of an application.+--+-- 'name', 'applicationSummary_name' - The name of the application.+--+-- 'stateDetails', 'applicationSummary_stateDetails' - The state details of the application.+--+-- 'id', 'applicationSummary_id' - The ID of the application.+--+-- 'arn', 'applicationSummary_arn' - The ARN of the application.+--+-- 'releaseLabel', 'applicationSummary_releaseLabel' - The EMR release associated with the application.+--+-- 'type'', 'applicationSummary_type' - The type of application, such as Spark or Hive.+--+-- 'state', 'applicationSummary_state' - The state of the application.+--+-- 'createdAt', 'applicationSummary_createdAt' - The date and time when the application was created.+--+-- 'updatedAt', 'applicationSummary_updatedAt' - The date and time when the application was last updated.+newApplicationSummary ::+ -- | 'id'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'releaseLabel'+ Prelude.Text ->+ -- | 'type''+ Prelude.Text ->+ -- | 'state'+ ApplicationState ->+ -- | 'createdAt'+ Prelude.UTCTime ->+ -- | 'updatedAt'+ Prelude.UTCTime ->+ ApplicationSummary+newApplicationSummary+ pId_+ pArn_+ pReleaseLabel_+ pType_+ pState_+ pCreatedAt_+ pUpdatedAt_ =+ ApplicationSummary'+ { architecture = Prelude.Nothing,+ name = Prelude.Nothing,+ stateDetails = Prelude.Nothing,+ id = pId_,+ arn = pArn_,+ releaseLabel = pReleaseLabel_,+ type' = pType_,+ state = pState_,+ createdAt = Data._Time Lens.# pCreatedAt_,+ updatedAt = Data._Time Lens.# pUpdatedAt_+ }++-- | The CPU architecture of an application.+applicationSummary_architecture :: Lens.Lens' ApplicationSummary (Prelude.Maybe Architecture)+applicationSummary_architecture = Lens.lens (\ApplicationSummary' {architecture} -> architecture) (\s@ApplicationSummary' {} a -> s {architecture = a} :: ApplicationSummary)++-- | The name of the application.+applicationSummary_name :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_name = Lens.lens (\ApplicationSummary' {name} -> name) (\s@ApplicationSummary' {} a -> s {name = a} :: ApplicationSummary)++-- | The state details of the application.+applicationSummary_stateDetails :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_stateDetails = Lens.lens (\ApplicationSummary' {stateDetails} -> stateDetails) (\s@ApplicationSummary' {} a -> s {stateDetails = a} :: ApplicationSummary)++-- | The ID of the application.+applicationSummary_id :: Lens.Lens' ApplicationSummary Prelude.Text+applicationSummary_id = Lens.lens (\ApplicationSummary' {id} -> id) (\s@ApplicationSummary' {} a -> s {id = a} :: ApplicationSummary)++-- | The ARN of the application.+applicationSummary_arn :: Lens.Lens' ApplicationSummary Prelude.Text+applicationSummary_arn = Lens.lens (\ApplicationSummary' {arn} -> arn) (\s@ApplicationSummary' {} a -> s {arn = a} :: ApplicationSummary)++-- | The EMR release associated with the application.+applicationSummary_releaseLabel :: Lens.Lens' ApplicationSummary Prelude.Text+applicationSummary_releaseLabel = Lens.lens (\ApplicationSummary' {releaseLabel} -> releaseLabel) (\s@ApplicationSummary' {} a -> s {releaseLabel = a} :: ApplicationSummary)++-- | The type of application, such as Spark or Hive.+applicationSummary_type :: Lens.Lens' ApplicationSummary Prelude.Text+applicationSummary_type = Lens.lens (\ApplicationSummary' {type'} -> type') (\s@ApplicationSummary' {} a -> s {type' = a} :: ApplicationSummary)++-- | The state of the application.+applicationSummary_state :: Lens.Lens' ApplicationSummary ApplicationState+applicationSummary_state = Lens.lens (\ApplicationSummary' {state} -> state) (\s@ApplicationSummary' {} a -> s {state = a} :: ApplicationSummary)++-- | The date and time when the application was created.+applicationSummary_createdAt :: Lens.Lens' ApplicationSummary Prelude.UTCTime+applicationSummary_createdAt = Lens.lens (\ApplicationSummary' {createdAt} -> createdAt) (\s@ApplicationSummary' {} a -> s {createdAt = a} :: ApplicationSummary) Prelude.. Data._Time++-- | The date and time when the application was last updated.+applicationSummary_updatedAt :: Lens.Lens' ApplicationSummary Prelude.UTCTime+applicationSummary_updatedAt = Lens.lens (\ApplicationSummary' {updatedAt} -> updatedAt) (\s@ApplicationSummary' {} a -> s {updatedAt = a} :: ApplicationSummary) Prelude.. Data._Time++instance Data.FromJSON ApplicationSummary where+ parseJSON =+ Data.withObject+ "ApplicationSummary"+ ( \x ->+ ApplicationSummary'+ Prelude.<$> (x Data..:? "architecture")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "stateDetails")+ Prelude.<*> (x Data..: "id")+ Prelude.<*> (x Data..: "arn")+ Prelude.<*> (x Data..: "releaseLabel")+ Prelude.<*> (x Data..: "type")+ Prelude.<*> (x Data..: "state")+ Prelude.<*> (x Data..: "createdAt")+ Prelude.<*> (x Data..: "updatedAt")+ )++instance Prelude.Hashable ApplicationSummary where+ hashWithSalt _salt ApplicationSummary' {..} =+ _salt+ `Prelude.hashWithSalt` architecture+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` stateDetails+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` releaseLabel+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData ApplicationSummary where+ rnf ApplicationSummary' {..} =+ Prelude.rnf architecture+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf stateDetails+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf releaseLabel+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/EMRServerless/Types/Architecture.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.EMRServerless.Types.Architecture+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.Architecture+ ( Architecture+ ( ..,+ Architecture_ARM64,+ Architecture_X86_64+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Architecture = Architecture'+ { fromArchitecture ::+ 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 Architecture_ARM64 :: Architecture+pattern Architecture_ARM64 = Architecture' "ARM64"++pattern Architecture_X86_64 :: Architecture+pattern Architecture_X86_64 = Architecture' "X86_64"++{-# COMPLETE+ Architecture_ARM64,+ Architecture_X86_64,+ Architecture'+ #-}
+ gen/Amazonka/EMRServerless/Types/AutoStartConfig.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.Types.AutoStartConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.AutoStartConfig 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 an application to automatically start on job+-- submission.+--+-- /See:/ 'newAutoStartConfig' smart constructor.+data AutoStartConfig = AutoStartConfig'+ { -- | Enables the application to automatically start on job submission.+ -- Defaults to true.+ enabled :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoStartConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabled', 'autoStartConfig_enabled' - Enables the application to automatically start on job submission.+-- Defaults to true.+newAutoStartConfig ::+ AutoStartConfig+newAutoStartConfig =+ AutoStartConfig' {enabled = Prelude.Nothing}++-- | Enables the application to automatically start on job submission.+-- Defaults to true.+autoStartConfig_enabled :: Lens.Lens' AutoStartConfig (Prelude.Maybe Prelude.Bool)+autoStartConfig_enabled = Lens.lens (\AutoStartConfig' {enabled} -> enabled) (\s@AutoStartConfig' {} a -> s {enabled = a} :: AutoStartConfig)++instance Data.FromJSON AutoStartConfig where+ parseJSON =+ Data.withObject+ "AutoStartConfig"+ ( \x ->+ AutoStartConfig' Prelude.<$> (x Data..:? "enabled")+ )++instance Prelude.Hashable AutoStartConfig where+ hashWithSalt _salt AutoStartConfig' {..} =+ _salt `Prelude.hashWithSalt` enabled++instance Prelude.NFData AutoStartConfig where+ rnf AutoStartConfig' {..} = Prelude.rnf enabled++instance Data.ToJSON AutoStartConfig where+ toJSON AutoStartConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [("enabled" Data..=) Prelude.<$> enabled]+ )
+ gen/Amazonka/EMRServerless/Types/AutoStopConfig.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.Types.AutoStopConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.AutoStopConfig 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 an application to automatically stop after a+-- certain amount of time being idle.+--+-- /See:/ 'newAutoStopConfig' smart constructor.+data AutoStopConfig = AutoStopConfig'+ { -- | Enables the application to automatically stop after a certain amount of+ -- time being idle. Defaults to true.+ enabled :: Prelude.Maybe Prelude.Bool,+ -- | The amount of idle time in minutes after which your application will+ -- automatically stop. Defaults to 15 minutes.+ idleTimeoutMinutes :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoStopConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabled', 'autoStopConfig_enabled' - Enables the application to automatically stop after a certain amount of+-- time being idle. Defaults to true.+--+-- 'idleTimeoutMinutes', 'autoStopConfig_idleTimeoutMinutes' - The amount of idle time in minutes after which your application will+-- automatically stop. Defaults to 15 minutes.+newAutoStopConfig ::+ AutoStopConfig+newAutoStopConfig =+ AutoStopConfig'+ { enabled = Prelude.Nothing,+ idleTimeoutMinutes = Prelude.Nothing+ }++-- | Enables the application to automatically stop after a certain amount of+-- time being idle. Defaults to true.+autoStopConfig_enabled :: Lens.Lens' AutoStopConfig (Prelude.Maybe Prelude.Bool)+autoStopConfig_enabled = Lens.lens (\AutoStopConfig' {enabled} -> enabled) (\s@AutoStopConfig' {} a -> s {enabled = a} :: AutoStopConfig)++-- | The amount of idle time in minutes after which your application will+-- automatically stop. Defaults to 15 minutes.+autoStopConfig_idleTimeoutMinutes :: Lens.Lens' AutoStopConfig (Prelude.Maybe Prelude.Natural)+autoStopConfig_idleTimeoutMinutes = Lens.lens (\AutoStopConfig' {idleTimeoutMinutes} -> idleTimeoutMinutes) (\s@AutoStopConfig' {} a -> s {idleTimeoutMinutes = a} :: AutoStopConfig)++instance Data.FromJSON AutoStopConfig where+ parseJSON =+ Data.withObject+ "AutoStopConfig"+ ( \x ->+ AutoStopConfig'+ Prelude.<$> (x Data..:? "enabled")+ Prelude.<*> (x Data..:? "idleTimeoutMinutes")+ )++instance Prelude.Hashable AutoStopConfig where+ hashWithSalt _salt AutoStopConfig' {..} =+ _salt+ `Prelude.hashWithSalt` enabled+ `Prelude.hashWithSalt` idleTimeoutMinutes++instance Prelude.NFData AutoStopConfig where+ rnf AutoStopConfig' {..} =+ Prelude.rnf enabled+ `Prelude.seq` Prelude.rnf idleTimeoutMinutes++instance Data.ToJSON AutoStopConfig where+ toJSON AutoStopConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("enabled" Data..=) Prelude.<$> enabled,+ ("idleTimeoutMinutes" Data..=)+ Prelude.<$> idleTimeoutMinutes+ ]+ )
+ gen/Amazonka/EMRServerless/Types/Configuration.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.Types.Configuration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.Configuration 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 configuration specification to be used when provisioning an+-- application. A configuration consists of a classification, properties,+-- and optional nested configurations. A classification refers to an+-- application-specific configuration file. Properties are the settings you+-- want to change in that file.+--+-- /See:/ 'newConfiguration' smart constructor.+data Configuration = Configuration'+ { -- | A list of additional configurations to apply within a configuration+ -- object.+ configurations :: Prelude.Maybe [Configuration],+ -- | A set of properties specified within a configuration classification.+ properties :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The classification within a configuration.+ classification :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Configuration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurations', 'configuration_configurations' - A list of additional configurations to apply within a configuration+-- object.+--+-- 'properties', 'configuration_properties' - A set of properties specified within a configuration classification.+--+-- 'classification', 'configuration_classification' - The classification within a configuration.+newConfiguration ::+ -- | 'classification'+ Prelude.Text ->+ Configuration+newConfiguration pClassification_ =+ Configuration'+ { configurations = Prelude.Nothing,+ properties = Prelude.Nothing,+ classification = pClassification_+ }++-- | A list of additional configurations to apply within a configuration+-- object.+configuration_configurations :: Lens.Lens' Configuration (Prelude.Maybe [Configuration])+configuration_configurations = Lens.lens (\Configuration' {configurations} -> configurations) (\s@Configuration' {} a -> s {configurations = a} :: Configuration) Prelude.. Lens.mapping Lens.coerced++-- | A set of properties specified within a configuration classification.+configuration_properties :: Lens.Lens' Configuration (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+configuration_properties = Lens.lens (\Configuration' {properties} -> properties) (\s@Configuration' {} a -> s {properties = a} :: Configuration) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The classification within a configuration.+configuration_classification :: Lens.Lens' Configuration Prelude.Text+configuration_classification = Lens.lens (\Configuration' {classification} -> classification) (\s@Configuration' {} a -> s {classification = a} :: Configuration)++instance Data.FromJSON Configuration where+ parseJSON =+ Data.withObject+ "Configuration"+ ( \x ->+ Configuration'+ Prelude.<$> (x Data..:? "configurations" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "properties" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "classification")+ )++instance Prelude.Hashable Configuration where+ hashWithSalt _salt Configuration' {..} =+ _salt+ `Prelude.hashWithSalt` configurations+ `Prelude.hashWithSalt` properties+ `Prelude.hashWithSalt` classification++instance Prelude.NFData Configuration where+ rnf Configuration' {..} =+ Prelude.rnf configurations+ `Prelude.seq` Prelude.rnf properties+ `Prelude.seq` Prelude.rnf classification++instance Data.ToJSON Configuration where+ toJSON Configuration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("configurations" Data..=)+ Prelude.<$> configurations,+ ("properties" Data..=) Prelude.<$> properties,+ Prelude.Just+ ("classification" Data..= classification)+ ]+ )
+ gen/Amazonka/EMRServerless/Types/ConfigurationOverrides.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.EMRServerless.Types.ConfigurationOverrides+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.ConfigurationOverrides where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types.Configuration+import Amazonka.EMRServerless.Types.MonitoringConfiguration+import qualified Amazonka.Prelude as Prelude++-- | A configuration specification to be used to override existing+-- configurations.+--+-- /See:/ 'newConfigurationOverrides' smart constructor.+data ConfigurationOverrides = ConfigurationOverrides'+ { -- | The override configurations for the application.+ applicationConfiguration :: Prelude.Maybe [Configuration],+ -- | The override configurations for monitoring.+ monitoringConfiguration :: Prelude.Maybe MonitoringConfiguration+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConfigurationOverrides' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationConfiguration', 'configurationOverrides_applicationConfiguration' - The override configurations for the application.+--+-- 'monitoringConfiguration', 'configurationOverrides_monitoringConfiguration' - The override configurations for monitoring.+newConfigurationOverrides ::+ ConfigurationOverrides+newConfigurationOverrides =+ ConfigurationOverrides'+ { applicationConfiguration =+ Prelude.Nothing,+ monitoringConfiguration = Prelude.Nothing+ }++-- | The override configurations for the application.+configurationOverrides_applicationConfiguration :: Lens.Lens' ConfigurationOverrides (Prelude.Maybe [Configuration])+configurationOverrides_applicationConfiguration = Lens.lens (\ConfigurationOverrides' {applicationConfiguration} -> applicationConfiguration) (\s@ConfigurationOverrides' {} a -> s {applicationConfiguration = a} :: ConfigurationOverrides) Prelude.. Lens.mapping Lens.coerced++-- | The override configurations for monitoring.+configurationOverrides_monitoringConfiguration :: Lens.Lens' ConfigurationOverrides (Prelude.Maybe MonitoringConfiguration)+configurationOverrides_monitoringConfiguration = Lens.lens (\ConfigurationOverrides' {monitoringConfiguration} -> monitoringConfiguration) (\s@ConfigurationOverrides' {} a -> s {monitoringConfiguration = a} :: ConfigurationOverrides)++instance Data.FromJSON ConfigurationOverrides where+ parseJSON =+ Data.withObject+ "ConfigurationOverrides"+ ( \x ->+ ConfigurationOverrides'+ Prelude.<$> ( x+ Data..:? "applicationConfiguration"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "monitoringConfiguration")+ )++instance Prelude.Hashable ConfigurationOverrides where+ hashWithSalt _salt ConfigurationOverrides' {..} =+ _salt+ `Prelude.hashWithSalt` applicationConfiguration+ `Prelude.hashWithSalt` monitoringConfiguration++instance Prelude.NFData ConfigurationOverrides where+ rnf ConfigurationOverrides' {..} =+ Prelude.rnf applicationConfiguration+ `Prelude.seq` Prelude.rnf monitoringConfiguration++instance Data.ToJSON ConfigurationOverrides where+ toJSON ConfigurationOverrides' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("applicationConfiguration" Data..=)+ Prelude.<$> applicationConfiguration,+ ("monitoringConfiguration" Data..=)+ Prelude.<$> monitoringConfiguration+ ]+ )
+ gen/Amazonka/EMRServerless/Types/Hive.hs view
@@ -0,0 +1,108 @@+{-# 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.EMRServerless.Types.Hive+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.Hive 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 configurations for the Hive job driver.+--+-- /See:/ 'newHive' smart constructor.+data Hive = Hive'+ { -- | The query file for the Hive job run.+ initQueryFile :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The parameters for the Hive job run.+ parameters :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The query for the Hive job run.+ query :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Hive' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'initQueryFile', 'hive_initQueryFile' - The query file for the Hive job run.+--+-- 'parameters', 'hive_parameters' - The parameters for the Hive job run.+--+-- 'query', 'hive_query' - The query for the Hive job run.+newHive ::+ -- | 'query'+ Prelude.Text ->+ Hive+newHive pQuery_ =+ Hive'+ { initQueryFile = Prelude.Nothing,+ parameters = Prelude.Nothing,+ query = Data._Sensitive Lens.# pQuery_+ }++-- | The query file for the Hive job run.+hive_initQueryFile :: Lens.Lens' Hive (Prelude.Maybe Prelude.Text)+hive_initQueryFile = Lens.lens (\Hive' {initQueryFile} -> initQueryFile) (\s@Hive' {} a -> s {initQueryFile = a} :: Hive) Prelude.. Lens.mapping Data._Sensitive++-- | The parameters for the Hive job run.+hive_parameters :: Lens.Lens' Hive (Prelude.Maybe Prelude.Text)+hive_parameters = Lens.lens (\Hive' {parameters} -> parameters) (\s@Hive' {} a -> s {parameters = a} :: Hive) Prelude.. Lens.mapping Data._Sensitive++-- | The query for the Hive job run.+hive_query :: Lens.Lens' Hive Prelude.Text+hive_query = Lens.lens (\Hive' {query} -> query) (\s@Hive' {} a -> s {query = a} :: Hive) Prelude.. Data._Sensitive++instance Data.FromJSON Hive where+ parseJSON =+ Data.withObject+ "Hive"+ ( \x ->+ Hive'+ Prelude.<$> (x Data..:? "initQueryFile")+ Prelude.<*> (x Data..:? "parameters")+ Prelude.<*> (x Data..: "query")+ )++instance Prelude.Hashable Hive where+ hashWithSalt _salt Hive' {..} =+ _salt+ `Prelude.hashWithSalt` initQueryFile+ `Prelude.hashWithSalt` parameters+ `Prelude.hashWithSalt` query++instance Prelude.NFData Hive where+ rnf Hive' {..} =+ Prelude.rnf initQueryFile+ `Prelude.seq` Prelude.rnf parameters+ `Prelude.seq` Prelude.rnf query++instance Data.ToJSON Hive where+ toJSON Hive' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("initQueryFile" Data..=) Prelude.<$> initQueryFile,+ ("parameters" Data..=) Prelude.<$> parameters,+ Prelude.Just ("query" Data..= query)+ ]+ )
+ gen/Amazonka/EMRServerless/Types/ImageConfiguration.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.EMRServerless.Types.ImageConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.ImageConfiguration 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 applied image configuration.+--+-- /See:/ 'newImageConfiguration' smart constructor.+data ImageConfiguration = ImageConfiguration'+ { -- | The SHA256 digest of the image URI. This indicates which specific image+ -- the application is configured for. The image digest doesn\'t exist until+ -- an application has started.+ resolvedImageDigest :: Prelude.Maybe Prelude.Text,+ -- | The image URI.+ imageUri :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImageConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolvedImageDigest', 'imageConfiguration_resolvedImageDigest' - The SHA256 digest of the image URI. This indicates which specific image+-- the application is configured for. The image digest doesn\'t exist until+-- an application has started.+--+-- 'imageUri', 'imageConfiguration_imageUri' - The image URI.+newImageConfiguration ::+ -- | 'imageUri'+ Prelude.Text ->+ ImageConfiguration+newImageConfiguration pImageUri_ =+ ImageConfiguration'+ { resolvedImageDigest =+ Prelude.Nothing,+ imageUri = pImageUri_+ }++-- | The SHA256 digest of the image URI. This indicates which specific image+-- the application is configured for. The image digest doesn\'t exist until+-- an application has started.+imageConfiguration_resolvedImageDigest :: Lens.Lens' ImageConfiguration (Prelude.Maybe Prelude.Text)+imageConfiguration_resolvedImageDigest = Lens.lens (\ImageConfiguration' {resolvedImageDigest} -> resolvedImageDigest) (\s@ImageConfiguration' {} a -> s {resolvedImageDigest = a} :: ImageConfiguration)++-- | The image URI.+imageConfiguration_imageUri :: Lens.Lens' ImageConfiguration Prelude.Text+imageConfiguration_imageUri = Lens.lens (\ImageConfiguration' {imageUri} -> imageUri) (\s@ImageConfiguration' {} a -> s {imageUri = a} :: ImageConfiguration)++instance Data.FromJSON ImageConfiguration where+ parseJSON =+ Data.withObject+ "ImageConfiguration"+ ( \x ->+ ImageConfiguration'+ Prelude.<$> (x Data..:? "resolvedImageDigest")+ Prelude.<*> (x Data..: "imageUri")+ )++instance Prelude.Hashable ImageConfiguration where+ hashWithSalt _salt ImageConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` resolvedImageDigest+ `Prelude.hashWithSalt` imageUri++instance Prelude.NFData ImageConfiguration where+ rnf ImageConfiguration' {..} =+ Prelude.rnf resolvedImageDigest+ `Prelude.seq` Prelude.rnf imageUri
+ gen/Amazonka/EMRServerless/Types/ImageConfigurationInput.hs view
@@ -0,0 +1,76 @@+{-# 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.EMRServerless.Types.ImageConfigurationInput+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.ImageConfigurationInput 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 image configuration.+--+-- /See:/ 'newImageConfigurationInput' smart constructor.+data ImageConfigurationInput = ImageConfigurationInput'+ { -- | The URI of an image in the Amazon ECR registry. This field is required+ -- when you create a new application. If you leave this field blank in an+ -- update, Amazon EMR will remove the image configuration.+ imageUri :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImageConfigurationInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'imageUri', 'imageConfigurationInput_imageUri' - The URI of an image in the Amazon ECR registry. This field is required+-- when you create a new application. If you leave this field blank in an+-- update, Amazon EMR will remove the image configuration.+newImageConfigurationInput ::+ ImageConfigurationInput+newImageConfigurationInput =+ ImageConfigurationInput'+ { imageUri =+ Prelude.Nothing+ }++-- | The URI of an image in the Amazon ECR registry. This field is required+-- when you create a new application. If you leave this field blank in an+-- update, Amazon EMR will remove the image configuration.+imageConfigurationInput_imageUri :: Lens.Lens' ImageConfigurationInput (Prelude.Maybe Prelude.Text)+imageConfigurationInput_imageUri = Lens.lens (\ImageConfigurationInput' {imageUri} -> imageUri) (\s@ImageConfigurationInput' {} a -> s {imageUri = a} :: ImageConfigurationInput)++instance Prelude.Hashable ImageConfigurationInput where+ hashWithSalt _salt ImageConfigurationInput' {..} =+ _salt `Prelude.hashWithSalt` imageUri++instance Prelude.NFData ImageConfigurationInput where+ rnf ImageConfigurationInput' {..} =+ Prelude.rnf imageUri++instance Data.ToJSON ImageConfigurationInput where+ toJSON ImageConfigurationInput' {..} =+ Data.object+ ( Prelude.catMaybes+ [("imageUri" Data..=) Prelude.<$> imageUri]+ )
+ gen/Amazonka/EMRServerless/Types/InitialCapacityConfig.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.Types.InitialCapacityConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.InitialCapacityConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types.WorkerResourceConfig+import qualified Amazonka.Prelude as Prelude++-- | The initial capacity configuration per worker.+--+-- /See:/ 'newInitialCapacityConfig' smart constructor.+data InitialCapacityConfig = InitialCapacityConfig'+ { -- | The resource configuration of the initial capacity configuration.+ workerConfiguration :: Prelude.Maybe WorkerResourceConfig,+ -- | The number of workers in the initial capacity configuration.+ workerCount :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InitialCapacityConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'workerConfiguration', 'initialCapacityConfig_workerConfiguration' - The resource configuration of the initial capacity configuration.+--+-- 'workerCount', 'initialCapacityConfig_workerCount' - The number of workers in the initial capacity configuration.+newInitialCapacityConfig ::+ -- | 'workerCount'+ Prelude.Natural ->+ InitialCapacityConfig+newInitialCapacityConfig pWorkerCount_ =+ InitialCapacityConfig'+ { workerConfiguration =+ Prelude.Nothing,+ workerCount = pWorkerCount_+ }++-- | The resource configuration of the initial capacity configuration.+initialCapacityConfig_workerConfiguration :: Lens.Lens' InitialCapacityConfig (Prelude.Maybe WorkerResourceConfig)+initialCapacityConfig_workerConfiguration = Lens.lens (\InitialCapacityConfig' {workerConfiguration} -> workerConfiguration) (\s@InitialCapacityConfig' {} a -> s {workerConfiguration = a} :: InitialCapacityConfig)++-- | The number of workers in the initial capacity configuration.+initialCapacityConfig_workerCount :: Lens.Lens' InitialCapacityConfig Prelude.Natural+initialCapacityConfig_workerCount = Lens.lens (\InitialCapacityConfig' {workerCount} -> workerCount) (\s@InitialCapacityConfig' {} a -> s {workerCount = a} :: InitialCapacityConfig)++instance Data.FromJSON InitialCapacityConfig where+ parseJSON =+ Data.withObject+ "InitialCapacityConfig"+ ( \x ->+ InitialCapacityConfig'+ Prelude.<$> (x Data..:? "workerConfiguration")+ Prelude.<*> (x Data..: "workerCount")+ )++instance Prelude.Hashable InitialCapacityConfig where+ hashWithSalt _salt InitialCapacityConfig' {..} =+ _salt+ `Prelude.hashWithSalt` workerConfiguration+ `Prelude.hashWithSalt` workerCount++instance Prelude.NFData InitialCapacityConfig where+ rnf InitialCapacityConfig' {..} =+ Prelude.rnf workerConfiguration+ `Prelude.seq` Prelude.rnf workerCount++instance Data.ToJSON InitialCapacityConfig where+ toJSON InitialCapacityConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("workerConfiguration" Data..=)+ Prelude.<$> workerConfiguration,+ Prelude.Just ("workerCount" Data..= workerCount)+ ]+ )
+ gen/Amazonka/EMRServerless/Types/JobDriver.hs view
@@ -0,0 +1,95 @@+{-# 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.EMRServerless.Types.JobDriver+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.JobDriver where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types.Hive+import Amazonka.EMRServerless.Types.SparkSubmit+import qualified Amazonka.Prelude as Prelude++-- | The driver that the job runs on.+--+-- /See:/ 'newJobDriver' smart constructor.+data JobDriver = JobDriver'+ { -- | The job driver parameters specified for Hive.+ hive :: Prelude.Maybe Hive,+ -- | The job driver parameters specified for Spark.+ sparkSubmit :: Prelude.Maybe SparkSubmit+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobDriver' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hive', 'jobDriver_hive' - The job driver parameters specified for Hive.+--+-- 'sparkSubmit', 'jobDriver_sparkSubmit' - The job driver parameters specified for Spark.+newJobDriver ::+ JobDriver+newJobDriver =+ JobDriver'+ { hive = Prelude.Nothing,+ sparkSubmit = Prelude.Nothing+ }++-- | The job driver parameters specified for Hive.+jobDriver_hive :: Lens.Lens' JobDriver (Prelude.Maybe Hive)+jobDriver_hive = Lens.lens (\JobDriver' {hive} -> hive) (\s@JobDriver' {} a -> s {hive = a} :: JobDriver)++-- | The job driver parameters specified for Spark.+jobDriver_sparkSubmit :: Lens.Lens' JobDriver (Prelude.Maybe SparkSubmit)+jobDriver_sparkSubmit = Lens.lens (\JobDriver' {sparkSubmit} -> sparkSubmit) (\s@JobDriver' {} a -> s {sparkSubmit = a} :: JobDriver)++instance Data.FromJSON JobDriver where+ parseJSON =+ Data.withObject+ "JobDriver"+ ( \x ->+ JobDriver'+ Prelude.<$> (x Data..:? "hive")+ Prelude.<*> (x Data..:? "sparkSubmit")+ )++instance Prelude.Hashable JobDriver where+ hashWithSalt _salt JobDriver' {..} =+ _salt+ `Prelude.hashWithSalt` hive+ `Prelude.hashWithSalt` sparkSubmit++instance Prelude.NFData JobDriver where+ rnf JobDriver' {..} =+ Prelude.rnf hive+ `Prelude.seq` Prelude.rnf sparkSubmit++instance Data.ToJSON JobDriver where+ toJSON JobDriver' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("hive" Data..=) Prelude.<$> hive,+ ("sparkSubmit" Data..=) Prelude.<$> sparkSubmit+ ]+ )
+ gen/Amazonka/EMRServerless/Types/JobRun.hs view
@@ -0,0 +1,315 @@+{-# 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.EMRServerless.Types.JobRun+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.JobRun where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types.ConfigurationOverrides+import Amazonka.EMRServerless.Types.JobDriver+import Amazonka.EMRServerless.Types.JobRunState+import Amazonka.EMRServerless.Types.NetworkConfiguration+import Amazonka.EMRServerless.Types.TotalResourceUtilization+import qualified Amazonka.Prelude as Prelude++-- | Information about a job run. A job run is a unit of work, such as a+-- Spark JAR, Hive query, or SparkSQL query, that you submit to an EMR+-- Serverless application.+--+-- /See:/ 'newJobRun' smart constructor.+data JobRun = JobRun'+ { -- | The configuration settings that are used to override default+ -- configuration.+ configurationOverrides :: Prelude.Maybe ConfigurationOverrides,+ -- | The optional job run name. This doesn\'t have to be unique.+ name :: Prelude.Maybe Prelude.Text,+ networkConfiguration :: Prelude.Maybe NetworkConfiguration,+ -- | The tags assigned to the job run.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The job run total execution duration in seconds. This field is only+ -- available for job runs in a @COMPLETED@, @FAILED@, or @CANCELLED@ state.+ totalExecutionDurationSeconds :: Prelude.Maybe Prelude.Int,+ -- | The aggregate vCPU, memory, and storage resources used from the time job+ -- start executing till the time job is terminated, rounded up to the+ -- nearest second.+ totalResourceUtilization :: Prelude.Maybe TotalResourceUtilization,+ -- | The ID of the application the job is running on.+ applicationId :: Prelude.Text,+ -- | The ID of the job run.+ jobRunId :: Prelude.Text,+ -- | The execution role ARN of the job run.+ arn :: Prelude.Text,+ -- | The user who created the job run.+ createdBy :: Prelude.Text,+ -- | The date and time when the job run was created.+ createdAt :: Data.POSIX,+ -- | The date and time when the job run was updated.+ updatedAt :: Data.POSIX,+ -- | The execution role ARN of the job run.+ executionRole :: Prelude.Text,+ -- | The state of the job run.+ state :: JobRunState,+ -- | The state details of the job run.+ stateDetails :: Prelude.Text,+ -- | The EMR release associated with the application your job is running on.+ releaseLabel :: Prelude.Text,+ -- | The job driver for the job run.+ jobDriver :: JobDriver+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobRun' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationOverrides', 'jobRun_configurationOverrides' - The configuration settings that are used to override default+-- configuration.+--+-- 'name', 'jobRun_name' - The optional job run name. This doesn\'t have to be unique.+--+-- 'networkConfiguration', 'jobRun_networkConfiguration' - Undocumented member.+--+-- 'tags', 'jobRun_tags' - The tags assigned to the job run.+--+-- 'totalExecutionDurationSeconds', 'jobRun_totalExecutionDurationSeconds' - The job run total execution duration in seconds. This field is only+-- available for job runs in a @COMPLETED@, @FAILED@, or @CANCELLED@ state.+--+-- 'totalResourceUtilization', 'jobRun_totalResourceUtilization' - The aggregate vCPU, memory, and storage resources used from the time job+-- start executing till the time job is terminated, rounded up to the+-- nearest second.+--+-- 'applicationId', 'jobRun_applicationId' - The ID of the application the job is running on.+--+-- 'jobRunId', 'jobRun_jobRunId' - The ID of the job run.+--+-- 'arn', 'jobRun_arn' - The execution role ARN of the job run.+--+-- 'createdBy', 'jobRun_createdBy' - The user who created the job run.+--+-- 'createdAt', 'jobRun_createdAt' - The date and time when the job run was created.+--+-- 'updatedAt', 'jobRun_updatedAt' - The date and time when the job run was updated.+--+-- 'executionRole', 'jobRun_executionRole' - The execution role ARN of the job run.+--+-- 'state', 'jobRun_state' - The state of the job run.+--+-- 'stateDetails', 'jobRun_stateDetails' - The state details of the job run.+--+-- 'releaseLabel', 'jobRun_releaseLabel' - The EMR release associated with the application your job is running on.+--+-- 'jobDriver', 'jobRun_jobDriver' - The job driver for the job run.+newJobRun ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'jobRunId'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'createdBy'+ Prelude.Text ->+ -- | 'createdAt'+ Prelude.UTCTime ->+ -- | 'updatedAt'+ Prelude.UTCTime ->+ -- | 'executionRole'+ Prelude.Text ->+ -- | 'state'+ JobRunState ->+ -- | 'stateDetails'+ Prelude.Text ->+ -- | 'releaseLabel'+ Prelude.Text ->+ -- | 'jobDriver'+ JobDriver ->+ JobRun+newJobRun+ pApplicationId_+ pJobRunId_+ pArn_+ pCreatedBy_+ pCreatedAt_+ pUpdatedAt_+ pExecutionRole_+ pState_+ pStateDetails_+ pReleaseLabel_+ pJobDriver_ =+ JobRun'+ { configurationOverrides = Prelude.Nothing,+ name = Prelude.Nothing,+ networkConfiguration = Prelude.Nothing,+ tags = Prelude.Nothing,+ totalExecutionDurationSeconds = Prelude.Nothing,+ totalResourceUtilization = Prelude.Nothing,+ applicationId = pApplicationId_,+ jobRunId = pJobRunId_,+ arn = pArn_,+ createdBy = pCreatedBy_,+ createdAt = Data._Time Lens.# pCreatedAt_,+ updatedAt = Data._Time Lens.# pUpdatedAt_,+ executionRole = pExecutionRole_,+ state = pState_,+ stateDetails = pStateDetails_,+ releaseLabel = pReleaseLabel_,+ jobDriver = pJobDriver_+ }++-- | The configuration settings that are used to override default+-- configuration.+jobRun_configurationOverrides :: Lens.Lens' JobRun (Prelude.Maybe ConfigurationOverrides)+jobRun_configurationOverrides = Lens.lens (\JobRun' {configurationOverrides} -> configurationOverrides) (\s@JobRun' {} a -> s {configurationOverrides = a} :: JobRun)++-- | The optional job run name. This doesn\'t have to be unique.+jobRun_name :: Lens.Lens' JobRun (Prelude.Maybe Prelude.Text)+jobRun_name = Lens.lens (\JobRun' {name} -> name) (\s@JobRun' {} a -> s {name = a} :: JobRun)++-- | Undocumented member.+jobRun_networkConfiguration :: Lens.Lens' JobRun (Prelude.Maybe NetworkConfiguration)+jobRun_networkConfiguration = Lens.lens (\JobRun' {networkConfiguration} -> networkConfiguration) (\s@JobRun' {} a -> s {networkConfiguration = a} :: JobRun)++-- | The tags assigned to the job run.+jobRun_tags :: Lens.Lens' JobRun (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+jobRun_tags = Lens.lens (\JobRun' {tags} -> tags) (\s@JobRun' {} a -> s {tags = a} :: JobRun) Prelude.. Lens.mapping Lens.coerced++-- | The job run total execution duration in seconds. This field is only+-- available for job runs in a @COMPLETED@, @FAILED@, or @CANCELLED@ state.+jobRun_totalExecutionDurationSeconds :: Lens.Lens' JobRun (Prelude.Maybe Prelude.Int)+jobRun_totalExecutionDurationSeconds = Lens.lens (\JobRun' {totalExecutionDurationSeconds} -> totalExecutionDurationSeconds) (\s@JobRun' {} a -> s {totalExecutionDurationSeconds = a} :: JobRun)++-- | The aggregate vCPU, memory, and storage resources used from the time job+-- start executing till the time job is terminated, rounded up to the+-- nearest second.+jobRun_totalResourceUtilization :: Lens.Lens' JobRun (Prelude.Maybe TotalResourceUtilization)+jobRun_totalResourceUtilization = Lens.lens (\JobRun' {totalResourceUtilization} -> totalResourceUtilization) (\s@JobRun' {} a -> s {totalResourceUtilization = a} :: JobRun)++-- | The ID of the application the job is running on.+jobRun_applicationId :: Lens.Lens' JobRun Prelude.Text+jobRun_applicationId = Lens.lens (\JobRun' {applicationId} -> applicationId) (\s@JobRun' {} a -> s {applicationId = a} :: JobRun)++-- | The ID of the job run.+jobRun_jobRunId :: Lens.Lens' JobRun Prelude.Text+jobRun_jobRunId = Lens.lens (\JobRun' {jobRunId} -> jobRunId) (\s@JobRun' {} a -> s {jobRunId = a} :: JobRun)++-- | The execution role ARN of the job run.+jobRun_arn :: Lens.Lens' JobRun Prelude.Text+jobRun_arn = Lens.lens (\JobRun' {arn} -> arn) (\s@JobRun' {} a -> s {arn = a} :: JobRun)++-- | The user who created the job run.+jobRun_createdBy :: Lens.Lens' JobRun Prelude.Text+jobRun_createdBy = Lens.lens (\JobRun' {createdBy} -> createdBy) (\s@JobRun' {} a -> s {createdBy = a} :: JobRun)++-- | The date and time when the job run was created.+jobRun_createdAt :: Lens.Lens' JobRun Prelude.UTCTime+jobRun_createdAt = Lens.lens (\JobRun' {createdAt} -> createdAt) (\s@JobRun' {} a -> s {createdAt = a} :: JobRun) Prelude.. Data._Time++-- | The date and time when the job run was updated.+jobRun_updatedAt :: Lens.Lens' JobRun Prelude.UTCTime+jobRun_updatedAt = Lens.lens (\JobRun' {updatedAt} -> updatedAt) (\s@JobRun' {} a -> s {updatedAt = a} :: JobRun) Prelude.. Data._Time++-- | The execution role ARN of the job run.+jobRun_executionRole :: Lens.Lens' JobRun Prelude.Text+jobRun_executionRole = Lens.lens (\JobRun' {executionRole} -> executionRole) (\s@JobRun' {} a -> s {executionRole = a} :: JobRun)++-- | The state of the job run.+jobRun_state :: Lens.Lens' JobRun JobRunState+jobRun_state = Lens.lens (\JobRun' {state} -> state) (\s@JobRun' {} a -> s {state = a} :: JobRun)++-- | The state details of the job run.+jobRun_stateDetails :: Lens.Lens' JobRun Prelude.Text+jobRun_stateDetails = Lens.lens (\JobRun' {stateDetails} -> stateDetails) (\s@JobRun' {} a -> s {stateDetails = a} :: JobRun)++-- | The EMR release associated with the application your job is running on.+jobRun_releaseLabel :: Lens.Lens' JobRun Prelude.Text+jobRun_releaseLabel = Lens.lens (\JobRun' {releaseLabel} -> releaseLabel) (\s@JobRun' {} a -> s {releaseLabel = a} :: JobRun)++-- | The job driver for the job run.+jobRun_jobDriver :: Lens.Lens' JobRun JobDriver+jobRun_jobDriver = Lens.lens (\JobRun' {jobDriver} -> jobDriver) (\s@JobRun' {} a -> s {jobDriver = a} :: JobRun)++instance Data.FromJSON JobRun where+ parseJSON =+ Data.withObject+ "JobRun"+ ( \x ->+ JobRun'+ Prelude.<$> (x Data..:? "configurationOverrides")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "networkConfiguration")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "totalExecutionDurationSeconds")+ Prelude.<*> (x Data..:? "totalResourceUtilization")+ Prelude.<*> (x Data..: "applicationId")+ Prelude.<*> (x Data..: "jobRunId")+ Prelude.<*> (x Data..: "arn")+ Prelude.<*> (x Data..: "createdBy")+ Prelude.<*> (x Data..: "createdAt")+ Prelude.<*> (x Data..: "updatedAt")+ Prelude.<*> (x Data..: "executionRole")+ Prelude.<*> (x Data..: "state")+ Prelude.<*> (x Data..: "stateDetails")+ Prelude.<*> (x Data..: "releaseLabel")+ Prelude.<*> (x Data..: "jobDriver")+ )++instance Prelude.Hashable JobRun where+ hashWithSalt _salt JobRun' {..} =+ _salt+ `Prelude.hashWithSalt` configurationOverrides+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` networkConfiguration+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` totalExecutionDurationSeconds+ `Prelude.hashWithSalt` totalResourceUtilization+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` jobRunId+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` updatedAt+ `Prelude.hashWithSalt` executionRole+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` stateDetails+ `Prelude.hashWithSalt` releaseLabel+ `Prelude.hashWithSalt` jobDriver++instance Prelude.NFData JobRun where+ rnf JobRun' {..} =+ Prelude.rnf configurationOverrides+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf networkConfiguration+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf totalExecutionDurationSeconds+ `Prelude.seq` Prelude.rnf totalResourceUtilization+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf jobRunId+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf updatedAt+ `Prelude.seq` Prelude.rnf executionRole+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf stateDetails+ `Prelude.seq` Prelude.rnf releaseLabel+ `Prelude.seq` Prelude.rnf jobDriver
+ gen/Amazonka/EMRServerless/Types/JobRunState.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.EMRServerless.Types.JobRunState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.JobRunState+ ( JobRunState+ ( ..,+ JobRunState_CANCELLED,+ JobRunState_CANCELLING,+ JobRunState_FAILED,+ JobRunState_PENDING,+ JobRunState_RUNNING,+ JobRunState_SCHEDULED,+ JobRunState_SUBMITTED,+ JobRunState_SUCCESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype JobRunState = JobRunState'+ { fromJobRunState ::+ 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 JobRunState_CANCELLED :: JobRunState+pattern JobRunState_CANCELLED = JobRunState' "CANCELLED"++pattern JobRunState_CANCELLING :: JobRunState+pattern JobRunState_CANCELLING = JobRunState' "CANCELLING"++pattern JobRunState_FAILED :: JobRunState+pattern JobRunState_FAILED = JobRunState' "FAILED"++pattern JobRunState_PENDING :: JobRunState+pattern JobRunState_PENDING = JobRunState' "PENDING"++pattern JobRunState_RUNNING :: JobRunState+pattern JobRunState_RUNNING = JobRunState' "RUNNING"++pattern JobRunState_SCHEDULED :: JobRunState+pattern JobRunState_SCHEDULED = JobRunState' "SCHEDULED"++pattern JobRunState_SUBMITTED :: JobRunState+pattern JobRunState_SUBMITTED = JobRunState' "SUBMITTED"++pattern JobRunState_SUCCESS :: JobRunState+pattern JobRunState_SUCCESS = JobRunState' "SUCCESS"++{-# COMPLETE+ JobRunState_CANCELLED,+ JobRunState_CANCELLING,+ JobRunState_FAILED,+ JobRunState_PENDING,+ JobRunState_RUNNING,+ JobRunState_SCHEDULED,+ JobRunState_SUBMITTED,+ JobRunState_SUCCESS,+ JobRunState'+ #-}
+ gen/Amazonka/EMRServerless/Types/JobRunSummary.hs view
@@ -0,0 +1,235 @@+{-# 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.EMRServerless.Types.JobRunSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.JobRunSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types.JobRunState+import qualified Amazonka.Prelude as Prelude++-- | The summary of attributes associated with a job run.+--+-- /See:/ 'newJobRunSummary' smart constructor.+data JobRunSummary = JobRunSummary'+ { -- | The optional job run name. This doesn\'t have to be unique.+ name :: Prelude.Maybe Prelude.Text,+ -- | The type of job run, such as Spark or Hive.+ type' :: Prelude.Maybe Prelude.Text,+ -- | The ID of the application the job is running on.+ applicationId :: Prelude.Text,+ -- | The ID of the job run.+ id :: Prelude.Text,+ -- | The ARN of the job run.+ arn :: Prelude.Text,+ -- | The user who created the job run.+ createdBy :: Prelude.Text,+ -- | The date and time when the job run was created.+ createdAt :: Data.POSIX,+ -- | The date and time when the job run was last updated.+ updatedAt :: Data.POSIX,+ -- | The execution role ARN of the job run.+ executionRole :: Prelude.Text,+ -- | The state of the job run.+ state :: JobRunState,+ -- | The state details of the job run.+ stateDetails :: Prelude.Text,+ -- | The EMR release associated with the application your job is running on.+ releaseLabel :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobRunSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'jobRunSummary_name' - The optional job run name. This doesn\'t have to be unique.+--+-- 'type'', 'jobRunSummary_type' - The type of job run, such as Spark or Hive.+--+-- 'applicationId', 'jobRunSummary_applicationId' - The ID of the application the job is running on.+--+-- 'id', 'jobRunSummary_id' - The ID of the job run.+--+-- 'arn', 'jobRunSummary_arn' - The ARN of the job run.+--+-- 'createdBy', 'jobRunSummary_createdBy' - The user who created the job run.+--+-- 'createdAt', 'jobRunSummary_createdAt' - The date and time when the job run was created.+--+-- 'updatedAt', 'jobRunSummary_updatedAt' - The date and time when the job run was last updated.+--+-- 'executionRole', 'jobRunSummary_executionRole' - The execution role ARN of the job run.+--+-- 'state', 'jobRunSummary_state' - The state of the job run.+--+-- 'stateDetails', 'jobRunSummary_stateDetails' - The state details of the job run.+--+-- 'releaseLabel', 'jobRunSummary_releaseLabel' - The EMR release associated with the application your job is running on.+newJobRunSummary ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'id'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'createdBy'+ Prelude.Text ->+ -- | 'createdAt'+ Prelude.UTCTime ->+ -- | 'updatedAt'+ Prelude.UTCTime ->+ -- | 'executionRole'+ Prelude.Text ->+ -- | 'state'+ JobRunState ->+ -- | 'stateDetails'+ Prelude.Text ->+ -- | 'releaseLabel'+ Prelude.Text ->+ JobRunSummary+newJobRunSummary+ pApplicationId_+ pId_+ pArn_+ pCreatedBy_+ pCreatedAt_+ pUpdatedAt_+ pExecutionRole_+ pState_+ pStateDetails_+ pReleaseLabel_ =+ JobRunSummary'+ { name = Prelude.Nothing,+ type' = Prelude.Nothing,+ applicationId = pApplicationId_,+ id = pId_,+ arn = pArn_,+ createdBy = pCreatedBy_,+ createdAt = Data._Time Lens.# pCreatedAt_,+ updatedAt = Data._Time Lens.# pUpdatedAt_,+ executionRole = pExecutionRole_,+ state = pState_,+ stateDetails = pStateDetails_,+ releaseLabel = pReleaseLabel_+ }++-- | The optional job run name. This doesn\'t have to be unique.+jobRunSummary_name :: Lens.Lens' JobRunSummary (Prelude.Maybe Prelude.Text)+jobRunSummary_name = Lens.lens (\JobRunSummary' {name} -> name) (\s@JobRunSummary' {} a -> s {name = a} :: JobRunSummary)++-- | The type of job run, such as Spark or Hive.+jobRunSummary_type :: Lens.Lens' JobRunSummary (Prelude.Maybe Prelude.Text)+jobRunSummary_type = Lens.lens (\JobRunSummary' {type'} -> type') (\s@JobRunSummary' {} a -> s {type' = a} :: JobRunSummary)++-- | The ID of the application the job is running on.+jobRunSummary_applicationId :: Lens.Lens' JobRunSummary Prelude.Text+jobRunSummary_applicationId = Lens.lens (\JobRunSummary' {applicationId} -> applicationId) (\s@JobRunSummary' {} a -> s {applicationId = a} :: JobRunSummary)++-- | The ID of the job run.+jobRunSummary_id :: Lens.Lens' JobRunSummary Prelude.Text+jobRunSummary_id = Lens.lens (\JobRunSummary' {id} -> id) (\s@JobRunSummary' {} a -> s {id = a} :: JobRunSummary)++-- | The ARN of the job run.+jobRunSummary_arn :: Lens.Lens' JobRunSummary Prelude.Text+jobRunSummary_arn = Lens.lens (\JobRunSummary' {arn} -> arn) (\s@JobRunSummary' {} a -> s {arn = a} :: JobRunSummary)++-- | The user who created the job run.+jobRunSummary_createdBy :: Lens.Lens' JobRunSummary Prelude.Text+jobRunSummary_createdBy = Lens.lens (\JobRunSummary' {createdBy} -> createdBy) (\s@JobRunSummary' {} a -> s {createdBy = a} :: JobRunSummary)++-- | The date and time when the job run was created.+jobRunSummary_createdAt :: Lens.Lens' JobRunSummary Prelude.UTCTime+jobRunSummary_createdAt = Lens.lens (\JobRunSummary' {createdAt} -> createdAt) (\s@JobRunSummary' {} a -> s {createdAt = a} :: JobRunSummary) Prelude.. Data._Time++-- | The date and time when the job run was last updated.+jobRunSummary_updatedAt :: Lens.Lens' JobRunSummary Prelude.UTCTime+jobRunSummary_updatedAt = Lens.lens (\JobRunSummary' {updatedAt} -> updatedAt) (\s@JobRunSummary' {} a -> s {updatedAt = a} :: JobRunSummary) Prelude.. Data._Time++-- | The execution role ARN of the job run.+jobRunSummary_executionRole :: Lens.Lens' JobRunSummary Prelude.Text+jobRunSummary_executionRole = Lens.lens (\JobRunSummary' {executionRole} -> executionRole) (\s@JobRunSummary' {} a -> s {executionRole = a} :: JobRunSummary)++-- | The state of the job run.+jobRunSummary_state :: Lens.Lens' JobRunSummary JobRunState+jobRunSummary_state = Lens.lens (\JobRunSummary' {state} -> state) (\s@JobRunSummary' {} a -> s {state = a} :: JobRunSummary)++-- | The state details of the job run.+jobRunSummary_stateDetails :: Lens.Lens' JobRunSummary Prelude.Text+jobRunSummary_stateDetails = Lens.lens (\JobRunSummary' {stateDetails} -> stateDetails) (\s@JobRunSummary' {} a -> s {stateDetails = a} :: JobRunSummary)++-- | The EMR release associated with the application your job is running on.+jobRunSummary_releaseLabel :: Lens.Lens' JobRunSummary Prelude.Text+jobRunSummary_releaseLabel = Lens.lens (\JobRunSummary' {releaseLabel} -> releaseLabel) (\s@JobRunSummary' {} a -> s {releaseLabel = a} :: JobRunSummary)++instance Data.FromJSON JobRunSummary where+ parseJSON =+ Data.withObject+ "JobRunSummary"+ ( \x ->+ JobRunSummary'+ Prelude.<$> (x Data..:? "name")+ Prelude.<*> (x Data..:? "type")+ Prelude.<*> (x Data..: "applicationId")+ Prelude.<*> (x Data..: "id")+ Prelude.<*> (x Data..: "arn")+ Prelude.<*> (x Data..: "createdBy")+ Prelude.<*> (x Data..: "createdAt")+ Prelude.<*> (x Data..: "updatedAt")+ Prelude.<*> (x Data..: "executionRole")+ Prelude.<*> (x Data..: "state")+ Prelude.<*> (x Data..: "stateDetails")+ Prelude.<*> (x Data..: "releaseLabel")+ )++instance Prelude.Hashable JobRunSummary where+ hashWithSalt _salt JobRunSummary' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` updatedAt+ `Prelude.hashWithSalt` executionRole+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` stateDetails+ `Prelude.hashWithSalt` releaseLabel++instance Prelude.NFData JobRunSummary where+ rnf JobRunSummary' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf updatedAt+ `Prelude.seq` Prelude.rnf executionRole+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf stateDetails+ `Prelude.seq` Prelude.rnf releaseLabel
+ gen/Amazonka/EMRServerless/Types/ManagedPersistenceMonitoringConfiguration.hs view
@@ -0,0 +1,113 @@+{-# 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.EMRServerless.Types.ManagedPersistenceMonitoringConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.ManagedPersistenceMonitoringConfiguration 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 managed log persistence configuration for a job run.+--+-- /See:/ 'newManagedPersistenceMonitoringConfiguration' smart constructor.+data ManagedPersistenceMonitoringConfiguration = ManagedPersistenceMonitoringConfiguration'+ { -- | Enables managed logging and defaults to true. If set to false, managed+ -- logging will be turned off.+ enabled :: Prelude.Maybe Prelude.Bool,+ -- | The KMS key ARN to encrypt the logs stored in managed log persistence.+ encryptionKeyArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ManagedPersistenceMonitoringConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabled', 'managedPersistenceMonitoringConfiguration_enabled' - Enables managed logging and defaults to true. If set to false, managed+-- logging will be turned off.+--+-- 'encryptionKeyArn', 'managedPersistenceMonitoringConfiguration_encryptionKeyArn' - The KMS key ARN to encrypt the logs stored in managed log persistence.+newManagedPersistenceMonitoringConfiguration ::+ ManagedPersistenceMonitoringConfiguration+newManagedPersistenceMonitoringConfiguration =+ ManagedPersistenceMonitoringConfiguration'+ { enabled =+ Prelude.Nothing,+ encryptionKeyArn =+ Prelude.Nothing+ }++-- | Enables managed logging and defaults to true. If set to false, managed+-- logging will be turned off.+managedPersistenceMonitoringConfiguration_enabled :: Lens.Lens' ManagedPersistenceMonitoringConfiguration (Prelude.Maybe Prelude.Bool)+managedPersistenceMonitoringConfiguration_enabled = Lens.lens (\ManagedPersistenceMonitoringConfiguration' {enabled} -> enabled) (\s@ManagedPersistenceMonitoringConfiguration' {} a -> s {enabled = a} :: ManagedPersistenceMonitoringConfiguration)++-- | The KMS key ARN to encrypt the logs stored in managed log persistence.+managedPersistenceMonitoringConfiguration_encryptionKeyArn :: Lens.Lens' ManagedPersistenceMonitoringConfiguration (Prelude.Maybe Prelude.Text)+managedPersistenceMonitoringConfiguration_encryptionKeyArn = Lens.lens (\ManagedPersistenceMonitoringConfiguration' {encryptionKeyArn} -> encryptionKeyArn) (\s@ManagedPersistenceMonitoringConfiguration' {} a -> s {encryptionKeyArn = a} :: ManagedPersistenceMonitoringConfiguration)++instance+ Data.FromJSON+ ManagedPersistenceMonitoringConfiguration+ where+ parseJSON =+ Data.withObject+ "ManagedPersistenceMonitoringConfiguration"+ ( \x ->+ ManagedPersistenceMonitoringConfiguration'+ Prelude.<$> (x Data..:? "enabled")+ Prelude.<*> (x Data..:? "encryptionKeyArn")+ )++instance+ Prelude.Hashable+ ManagedPersistenceMonitoringConfiguration+ where+ hashWithSalt+ _salt+ ManagedPersistenceMonitoringConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` enabled+ `Prelude.hashWithSalt` encryptionKeyArn++instance+ Prelude.NFData+ ManagedPersistenceMonitoringConfiguration+ where+ rnf ManagedPersistenceMonitoringConfiguration' {..} =+ Prelude.rnf enabled+ `Prelude.seq` Prelude.rnf encryptionKeyArn++instance+ Data.ToJSON+ ManagedPersistenceMonitoringConfiguration+ where+ toJSON ManagedPersistenceMonitoringConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("enabled" Data..=) Prelude.<$> enabled,+ ("encryptionKeyArn" Data..=)+ Prelude.<$> encryptionKeyArn+ ]+ )
+ gen/Amazonka/EMRServerless/Types/MaximumAllowedResources.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.Types.MaximumAllowedResources+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.MaximumAllowedResources 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 maximum allowed cumulative resources for an application. No new+-- resources will be created once the limit is hit.+--+-- /See:/ 'newMaximumAllowedResources' smart constructor.+data MaximumAllowedResources = MaximumAllowedResources'+ { -- | The maximum allowed disk for an application.+ disk :: Prelude.Maybe Prelude.Text,+ -- | The maximum allowed CPU for an application.+ cpu :: Prelude.Text,+ -- | The maximum allowed resources for an application.+ memory :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MaximumAllowedResources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'disk', 'maximumAllowedResources_disk' - The maximum allowed disk for an application.+--+-- 'cpu', 'maximumAllowedResources_cpu' - The maximum allowed CPU for an application.+--+-- 'memory', 'maximumAllowedResources_memory' - The maximum allowed resources for an application.+newMaximumAllowedResources ::+ -- | 'cpu'+ Prelude.Text ->+ -- | 'memory'+ Prelude.Text ->+ MaximumAllowedResources+newMaximumAllowedResources pCpu_ pMemory_ =+ MaximumAllowedResources'+ { disk = Prelude.Nothing,+ cpu = pCpu_,+ memory = pMemory_+ }++-- | The maximum allowed disk for an application.+maximumAllowedResources_disk :: Lens.Lens' MaximumAllowedResources (Prelude.Maybe Prelude.Text)+maximumAllowedResources_disk = Lens.lens (\MaximumAllowedResources' {disk} -> disk) (\s@MaximumAllowedResources' {} a -> s {disk = a} :: MaximumAllowedResources)++-- | The maximum allowed CPU for an application.+maximumAllowedResources_cpu :: Lens.Lens' MaximumAllowedResources Prelude.Text+maximumAllowedResources_cpu = Lens.lens (\MaximumAllowedResources' {cpu} -> cpu) (\s@MaximumAllowedResources' {} a -> s {cpu = a} :: MaximumAllowedResources)++-- | The maximum allowed resources for an application.+maximumAllowedResources_memory :: Lens.Lens' MaximumAllowedResources Prelude.Text+maximumAllowedResources_memory = Lens.lens (\MaximumAllowedResources' {memory} -> memory) (\s@MaximumAllowedResources' {} a -> s {memory = a} :: MaximumAllowedResources)++instance Data.FromJSON MaximumAllowedResources where+ parseJSON =+ Data.withObject+ "MaximumAllowedResources"+ ( \x ->+ MaximumAllowedResources'+ Prelude.<$> (x Data..:? "disk")+ Prelude.<*> (x Data..: "cpu")+ Prelude.<*> (x Data..: "memory")+ )++instance Prelude.Hashable MaximumAllowedResources where+ hashWithSalt _salt MaximumAllowedResources' {..} =+ _salt+ `Prelude.hashWithSalt` disk+ `Prelude.hashWithSalt` cpu+ `Prelude.hashWithSalt` memory++instance Prelude.NFData MaximumAllowedResources where+ rnf MaximumAllowedResources' {..} =+ Prelude.rnf disk+ `Prelude.seq` Prelude.rnf cpu+ `Prelude.seq` Prelude.rnf memory++instance Data.ToJSON MaximumAllowedResources where+ toJSON MaximumAllowedResources' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("disk" Data..=) Prelude.<$> disk,+ Prelude.Just ("cpu" Data..= cpu),+ Prelude.Just ("memory" Data..= memory)+ ]+ )
+ gen/Amazonka/EMRServerless/Types/MonitoringConfiguration.hs view
@@ -0,0 +1,103 @@+{-# 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.EMRServerless.Types.MonitoringConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.MonitoringConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types.ManagedPersistenceMonitoringConfiguration+import Amazonka.EMRServerless.Types.S3MonitoringConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The configuration setting for monitoring.+--+-- /See:/ 'newMonitoringConfiguration' smart constructor.+data MonitoringConfiguration = MonitoringConfiguration'+ { -- | The managed log persistence configuration for a job run.+ managedPersistenceMonitoringConfiguration :: Prelude.Maybe ManagedPersistenceMonitoringConfiguration,+ -- | The Amazon S3 configuration for monitoring log publishing.+ s3MonitoringConfiguration :: Prelude.Maybe S3MonitoringConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MonitoringConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'managedPersistenceMonitoringConfiguration', 'monitoringConfiguration_managedPersistenceMonitoringConfiguration' - The managed log persistence configuration for a job run.+--+-- 's3MonitoringConfiguration', 'monitoringConfiguration_s3MonitoringConfiguration' - The Amazon S3 configuration for monitoring log publishing.+newMonitoringConfiguration ::+ MonitoringConfiguration+newMonitoringConfiguration =+ MonitoringConfiguration'+ { managedPersistenceMonitoringConfiguration =+ Prelude.Nothing,+ s3MonitoringConfiguration = Prelude.Nothing+ }++-- | The managed log persistence configuration for a job run.+monitoringConfiguration_managedPersistenceMonitoringConfiguration :: Lens.Lens' MonitoringConfiguration (Prelude.Maybe ManagedPersistenceMonitoringConfiguration)+monitoringConfiguration_managedPersistenceMonitoringConfiguration = Lens.lens (\MonitoringConfiguration' {managedPersistenceMonitoringConfiguration} -> managedPersistenceMonitoringConfiguration) (\s@MonitoringConfiguration' {} a -> s {managedPersistenceMonitoringConfiguration = a} :: MonitoringConfiguration)++-- | The Amazon S3 configuration for monitoring log publishing.+monitoringConfiguration_s3MonitoringConfiguration :: Lens.Lens' MonitoringConfiguration (Prelude.Maybe S3MonitoringConfiguration)+monitoringConfiguration_s3MonitoringConfiguration = Lens.lens (\MonitoringConfiguration' {s3MonitoringConfiguration} -> s3MonitoringConfiguration) (\s@MonitoringConfiguration' {} a -> s {s3MonitoringConfiguration = a} :: MonitoringConfiguration)++instance Data.FromJSON MonitoringConfiguration where+ parseJSON =+ Data.withObject+ "MonitoringConfiguration"+ ( \x ->+ MonitoringConfiguration'+ Prelude.<$> ( x+ Data..:? "managedPersistenceMonitoringConfiguration"+ )+ Prelude.<*> (x Data..:? "s3MonitoringConfiguration")+ )++instance Prelude.Hashable MonitoringConfiguration where+ hashWithSalt _salt MonitoringConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` managedPersistenceMonitoringConfiguration+ `Prelude.hashWithSalt` s3MonitoringConfiguration++instance Prelude.NFData MonitoringConfiguration where+ rnf MonitoringConfiguration' {..} =+ Prelude.rnf+ managedPersistenceMonitoringConfiguration+ `Prelude.seq` Prelude.rnf s3MonitoringConfiguration++instance Data.ToJSON MonitoringConfiguration where+ toJSON MonitoringConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ( "managedPersistenceMonitoringConfiguration"+ Data..=+ )+ Prelude.<$> managedPersistenceMonitoringConfiguration,+ ("s3MonitoringConfiguration" Data..=)+ Prelude.<$> s3MonitoringConfiguration+ ]+ )
+ gen/Amazonka/EMRServerless/Types/NetworkConfiguration.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.Types.NetworkConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.NetworkConfiguration 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 network configuration for customer VPC connectivity.+--+-- /See:/ 'newNetworkConfiguration' smart constructor.+data NetworkConfiguration = NetworkConfiguration'+ { -- | The array of security group Ids for customer VPC connectivity.+ securityGroupIds :: Prelude.Maybe [Prelude.Text],+ -- | The array of subnet Ids for customer VPC connectivity.+ subnetIds :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityGroupIds', 'networkConfiguration_securityGroupIds' - The array of security group Ids for customer VPC connectivity.+--+-- 'subnetIds', 'networkConfiguration_subnetIds' - The array of subnet Ids for customer VPC connectivity.+newNetworkConfiguration ::+ NetworkConfiguration+newNetworkConfiguration =+ NetworkConfiguration'+ { securityGroupIds =+ Prelude.Nothing,+ subnetIds = Prelude.Nothing+ }++-- | The array of security group Ids for customer VPC connectivity.+networkConfiguration_securityGroupIds :: Lens.Lens' NetworkConfiguration (Prelude.Maybe [Prelude.Text])+networkConfiguration_securityGroupIds = Lens.lens (\NetworkConfiguration' {securityGroupIds} -> securityGroupIds) (\s@NetworkConfiguration' {} a -> s {securityGroupIds = a} :: NetworkConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The array of subnet Ids for customer VPC connectivity.+networkConfiguration_subnetIds :: Lens.Lens' NetworkConfiguration (Prelude.Maybe [Prelude.Text])+networkConfiguration_subnetIds = Lens.lens (\NetworkConfiguration' {subnetIds} -> subnetIds) (\s@NetworkConfiguration' {} a -> s {subnetIds = a} :: NetworkConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON NetworkConfiguration where+ parseJSON =+ Data.withObject+ "NetworkConfiguration"+ ( \x ->+ NetworkConfiguration'+ Prelude.<$> ( x+ Data..:? "securityGroupIds"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "subnetIds" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable NetworkConfiguration where+ hashWithSalt _salt NetworkConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` securityGroupIds+ `Prelude.hashWithSalt` subnetIds++instance Prelude.NFData NetworkConfiguration where+ rnf NetworkConfiguration' {..} =+ Prelude.rnf securityGroupIds+ `Prelude.seq` Prelude.rnf subnetIds++instance Data.ToJSON NetworkConfiguration where+ toJSON NetworkConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("securityGroupIds" Data..=)+ Prelude.<$> securityGroupIds,+ ("subnetIds" Data..=) Prelude.<$> subnetIds+ ]+ )
+ gen/Amazonka/EMRServerless/Types/S3MonitoringConfiguration.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.EMRServerless.Types.S3MonitoringConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.S3MonitoringConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The Amazon S3 configuration for monitoring log publishing. You can+-- configure your jobs to send log information to Amazon S3.+--+-- /See:/ 'newS3MonitoringConfiguration' smart constructor.+data S3MonitoringConfiguration = S3MonitoringConfiguration'+ { -- | The KMS key ARN to encrypt the logs published to the given Amazon S3+ -- destination.+ encryptionKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon S3 destination URI for log publishing.+ logUri :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3MonitoringConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'encryptionKeyArn', 's3MonitoringConfiguration_encryptionKeyArn' - The KMS key ARN to encrypt the logs published to the given Amazon S3+-- destination.+--+-- 'logUri', 's3MonitoringConfiguration_logUri' - The Amazon S3 destination URI for log publishing.+newS3MonitoringConfiguration ::+ S3MonitoringConfiguration+newS3MonitoringConfiguration =+ S3MonitoringConfiguration'+ { encryptionKeyArn =+ Prelude.Nothing,+ logUri = Prelude.Nothing+ }++-- | The KMS key ARN to encrypt the logs published to the given Amazon S3+-- destination.+s3MonitoringConfiguration_encryptionKeyArn :: Lens.Lens' S3MonitoringConfiguration (Prelude.Maybe Prelude.Text)+s3MonitoringConfiguration_encryptionKeyArn = Lens.lens (\S3MonitoringConfiguration' {encryptionKeyArn} -> encryptionKeyArn) (\s@S3MonitoringConfiguration' {} a -> s {encryptionKeyArn = a} :: S3MonitoringConfiguration)++-- | The Amazon S3 destination URI for log publishing.+s3MonitoringConfiguration_logUri :: Lens.Lens' S3MonitoringConfiguration (Prelude.Maybe Prelude.Text)+s3MonitoringConfiguration_logUri = Lens.lens (\S3MonitoringConfiguration' {logUri} -> logUri) (\s@S3MonitoringConfiguration' {} a -> s {logUri = a} :: S3MonitoringConfiguration)++instance Data.FromJSON S3MonitoringConfiguration where+ parseJSON =+ Data.withObject+ "S3MonitoringConfiguration"+ ( \x ->+ S3MonitoringConfiguration'+ Prelude.<$> (x Data..:? "encryptionKeyArn")+ Prelude.<*> (x Data..:? "logUri")+ )++instance Prelude.Hashable S3MonitoringConfiguration where+ hashWithSalt _salt S3MonitoringConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` encryptionKeyArn+ `Prelude.hashWithSalt` logUri++instance Prelude.NFData S3MonitoringConfiguration where+ rnf S3MonitoringConfiguration' {..} =+ Prelude.rnf encryptionKeyArn+ `Prelude.seq` Prelude.rnf logUri++instance Data.ToJSON S3MonitoringConfiguration where+ toJSON S3MonitoringConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("encryptionKeyArn" Data..=)+ Prelude.<$> encryptionKeyArn,+ ("logUri" Data..=) Prelude.<$> logUri+ ]+ )
+ gen/Amazonka/EMRServerless/Types/SparkSubmit.hs view
@@ -0,0 +1,113 @@+{-# 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.EMRServerless.Types.SparkSubmit+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.SparkSubmit 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 configurations for the Spark submit job driver.+--+-- /See:/ 'newSparkSubmit' smart constructor.+data SparkSubmit = SparkSubmit'+ { -- | The arguments for the Spark submit job run.+ entryPointArguments :: Prelude.Maybe [Data.Sensitive Prelude.Text],+ -- | The parameters for the Spark submit job run.+ sparkSubmitParameters :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The entry point for the Spark submit job run.+ entryPoint :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SparkSubmit' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'entryPointArguments', 'sparkSubmit_entryPointArguments' - The arguments for the Spark submit job run.+--+-- 'sparkSubmitParameters', 'sparkSubmit_sparkSubmitParameters' - The parameters for the Spark submit job run.+--+-- 'entryPoint', 'sparkSubmit_entryPoint' - The entry point for the Spark submit job run.+newSparkSubmit ::+ -- | 'entryPoint'+ Prelude.Text ->+ SparkSubmit+newSparkSubmit pEntryPoint_ =+ SparkSubmit'+ { entryPointArguments = Prelude.Nothing,+ sparkSubmitParameters = Prelude.Nothing,+ entryPoint = Data._Sensitive Lens.# pEntryPoint_+ }++-- | The arguments for the Spark submit job run.+sparkSubmit_entryPointArguments :: Lens.Lens' SparkSubmit (Prelude.Maybe [Prelude.Text])+sparkSubmit_entryPointArguments = Lens.lens (\SparkSubmit' {entryPointArguments} -> entryPointArguments) (\s@SparkSubmit' {} a -> s {entryPointArguments = a} :: SparkSubmit) Prelude.. Lens.mapping Lens.coerced++-- | The parameters for the Spark submit job run.+sparkSubmit_sparkSubmitParameters :: Lens.Lens' SparkSubmit (Prelude.Maybe Prelude.Text)+sparkSubmit_sparkSubmitParameters = Lens.lens (\SparkSubmit' {sparkSubmitParameters} -> sparkSubmitParameters) (\s@SparkSubmit' {} a -> s {sparkSubmitParameters = a} :: SparkSubmit) Prelude.. Lens.mapping Data._Sensitive++-- | The entry point for the Spark submit job run.+sparkSubmit_entryPoint :: Lens.Lens' SparkSubmit Prelude.Text+sparkSubmit_entryPoint = Lens.lens (\SparkSubmit' {entryPoint} -> entryPoint) (\s@SparkSubmit' {} a -> s {entryPoint = a} :: SparkSubmit) Prelude.. Data._Sensitive++instance Data.FromJSON SparkSubmit where+ parseJSON =+ Data.withObject+ "SparkSubmit"+ ( \x ->+ SparkSubmit'+ Prelude.<$> ( x+ Data..:? "entryPointArguments"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "sparkSubmitParameters")+ Prelude.<*> (x Data..: "entryPoint")+ )++instance Prelude.Hashable SparkSubmit where+ hashWithSalt _salt SparkSubmit' {..} =+ _salt+ `Prelude.hashWithSalt` entryPointArguments+ `Prelude.hashWithSalt` sparkSubmitParameters+ `Prelude.hashWithSalt` entryPoint++instance Prelude.NFData SparkSubmit where+ rnf SparkSubmit' {..} =+ Prelude.rnf entryPointArguments+ `Prelude.seq` Prelude.rnf sparkSubmitParameters+ `Prelude.seq` Prelude.rnf entryPoint++instance Data.ToJSON SparkSubmit where+ toJSON SparkSubmit' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("entryPointArguments" Data..=)+ Prelude.<$> entryPointArguments,+ ("sparkSubmitParameters" Data..=)+ Prelude.<$> sparkSubmitParameters,+ Prelude.Just ("entryPoint" Data..= entryPoint)+ ]+ )
+ gen/Amazonka/EMRServerless/Types/TotalResourceUtilization.hs view
@@ -0,0 +1,108 @@+{-# 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.EMRServerless.Types.TotalResourceUtilization+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.TotalResourceUtilization 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 aggregate vCPU, memory, and storage resources used from the time job+-- start executing till the time job is terminated, rounded up to the+-- nearest second.+--+-- /See:/ 'newTotalResourceUtilization' smart constructor.+data TotalResourceUtilization = TotalResourceUtilization'+ { -- | The aggregated memory used per hour from the time job start executing+ -- till the time job is terminated.+ memoryGBHour :: Prelude.Maybe Prelude.Double,+ -- | The aggregated storage used per hour from the time job start executing+ -- till the time job is terminated.+ storageGBHour :: Prelude.Maybe Prelude.Double,+ -- | The aggregated vCPU used per hour from the time job start executing till+ -- the time job is terminated.+ vCPUHour :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TotalResourceUtilization' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memoryGBHour', 'totalResourceUtilization_memoryGBHour' - The aggregated memory used per hour from the time job start executing+-- till the time job is terminated.+--+-- 'storageGBHour', 'totalResourceUtilization_storageGBHour' - The aggregated storage used per hour from the time job start executing+-- till the time job is terminated.+--+-- 'vCPUHour', 'totalResourceUtilization_vCPUHour' - The aggregated vCPU used per hour from the time job start executing till+-- the time job is terminated.+newTotalResourceUtilization ::+ TotalResourceUtilization+newTotalResourceUtilization =+ TotalResourceUtilization'+ { memoryGBHour =+ Prelude.Nothing,+ storageGBHour = Prelude.Nothing,+ vCPUHour = Prelude.Nothing+ }++-- | The aggregated memory used per hour from the time job start executing+-- till the time job is terminated.+totalResourceUtilization_memoryGBHour :: Lens.Lens' TotalResourceUtilization (Prelude.Maybe Prelude.Double)+totalResourceUtilization_memoryGBHour = Lens.lens (\TotalResourceUtilization' {memoryGBHour} -> memoryGBHour) (\s@TotalResourceUtilization' {} a -> s {memoryGBHour = a} :: TotalResourceUtilization)++-- | The aggregated storage used per hour from the time job start executing+-- till the time job is terminated.+totalResourceUtilization_storageGBHour :: Lens.Lens' TotalResourceUtilization (Prelude.Maybe Prelude.Double)+totalResourceUtilization_storageGBHour = Lens.lens (\TotalResourceUtilization' {storageGBHour} -> storageGBHour) (\s@TotalResourceUtilization' {} a -> s {storageGBHour = a} :: TotalResourceUtilization)++-- | The aggregated vCPU used per hour from the time job start executing till+-- the time job is terminated.+totalResourceUtilization_vCPUHour :: Lens.Lens' TotalResourceUtilization (Prelude.Maybe Prelude.Double)+totalResourceUtilization_vCPUHour = Lens.lens (\TotalResourceUtilization' {vCPUHour} -> vCPUHour) (\s@TotalResourceUtilization' {} a -> s {vCPUHour = a} :: TotalResourceUtilization)++instance Data.FromJSON TotalResourceUtilization where+ parseJSON =+ Data.withObject+ "TotalResourceUtilization"+ ( \x ->+ TotalResourceUtilization'+ Prelude.<$> (x Data..:? "memoryGBHour")+ Prelude.<*> (x Data..:? "storageGBHour")+ Prelude.<*> (x Data..:? "vCPUHour")+ )++instance Prelude.Hashable TotalResourceUtilization where+ hashWithSalt _salt TotalResourceUtilization' {..} =+ _salt+ `Prelude.hashWithSalt` memoryGBHour+ `Prelude.hashWithSalt` storageGBHour+ `Prelude.hashWithSalt` vCPUHour++instance Prelude.NFData TotalResourceUtilization where+ rnf TotalResourceUtilization' {..} =+ Prelude.rnf memoryGBHour+ `Prelude.seq` Prelude.rnf storageGBHour+ `Prelude.seq` Prelude.rnf vCPUHour
+ gen/Amazonka/EMRServerless/Types/WorkerResourceConfig.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.Types.WorkerResourceConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.WorkerResourceConfig 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 cumulative configuration requirements for every worker instance of+-- the worker type.+--+-- /See:/ 'newWorkerResourceConfig' smart constructor.+data WorkerResourceConfig = WorkerResourceConfig'+ { -- | The disk requirements for every worker instance of the worker type.+ disk :: Prelude.Maybe Prelude.Text,+ -- | The CPU requirements for every worker instance of the worker type.+ cpu :: Prelude.Text,+ -- | The memory requirements for every worker instance of the worker type.+ memory :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkerResourceConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'disk', 'workerResourceConfig_disk' - The disk requirements for every worker instance of the worker type.+--+-- 'cpu', 'workerResourceConfig_cpu' - The CPU requirements for every worker instance of the worker type.+--+-- 'memory', 'workerResourceConfig_memory' - The memory requirements for every worker instance of the worker type.+newWorkerResourceConfig ::+ -- | 'cpu'+ Prelude.Text ->+ -- | 'memory'+ Prelude.Text ->+ WorkerResourceConfig+newWorkerResourceConfig pCpu_ pMemory_ =+ WorkerResourceConfig'+ { disk = Prelude.Nothing,+ cpu = pCpu_,+ memory = pMemory_+ }++-- | The disk requirements for every worker instance of the worker type.+workerResourceConfig_disk :: Lens.Lens' WorkerResourceConfig (Prelude.Maybe Prelude.Text)+workerResourceConfig_disk = Lens.lens (\WorkerResourceConfig' {disk} -> disk) (\s@WorkerResourceConfig' {} a -> s {disk = a} :: WorkerResourceConfig)++-- | The CPU requirements for every worker instance of the worker type.+workerResourceConfig_cpu :: Lens.Lens' WorkerResourceConfig Prelude.Text+workerResourceConfig_cpu = Lens.lens (\WorkerResourceConfig' {cpu} -> cpu) (\s@WorkerResourceConfig' {} a -> s {cpu = a} :: WorkerResourceConfig)++-- | The memory requirements for every worker instance of the worker type.+workerResourceConfig_memory :: Lens.Lens' WorkerResourceConfig Prelude.Text+workerResourceConfig_memory = Lens.lens (\WorkerResourceConfig' {memory} -> memory) (\s@WorkerResourceConfig' {} a -> s {memory = a} :: WorkerResourceConfig)++instance Data.FromJSON WorkerResourceConfig where+ parseJSON =+ Data.withObject+ "WorkerResourceConfig"+ ( \x ->+ WorkerResourceConfig'+ Prelude.<$> (x Data..:? "disk")+ Prelude.<*> (x Data..: "cpu")+ Prelude.<*> (x Data..: "memory")+ )++instance Prelude.Hashable WorkerResourceConfig where+ hashWithSalt _salt WorkerResourceConfig' {..} =+ _salt+ `Prelude.hashWithSalt` disk+ `Prelude.hashWithSalt` cpu+ `Prelude.hashWithSalt` memory++instance Prelude.NFData WorkerResourceConfig where+ rnf WorkerResourceConfig' {..} =+ Prelude.rnf disk+ `Prelude.seq` Prelude.rnf cpu+ `Prelude.seq` Prelude.rnf memory++instance Data.ToJSON WorkerResourceConfig where+ toJSON WorkerResourceConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("disk" Data..=) Prelude.<$> disk,+ Prelude.Just ("cpu" Data..= cpu),+ Prelude.Just ("memory" Data..= memory)+ ]+ )
+ gen/Amazonka/EMRServerless/Types/WorkerTypeSpecification.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.Types.WorkerTypeSpecification+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.WorkerTypeSpecification where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types.ImageConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The specifications for a worker type.+--+-- /See:/ 'newWorkerTypeSpecification' smart constructor.+data WorkerTypeSpecification = WorkerTypeSpecification'+ { -- | The image configuration for a worker type.+ imageConfiguration :: Prelude.Maybe ImageConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkerTypeSpecification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'imageConfiguration', 'workerTypeSpecification_imageConfiguration' - The image configuration for a worker type.+newWorkerTypeSpecification ::+ WorkerTypeSpecification+newWorkerTypeSpecification =+ WorkerTypeSpecification'+ { imageConfiguration =+ Prelude.Nothing+ }++-- | The image configuration for a worker type.+workerTypeSpecification_imageConfiguration :: Lens.Lens' WorkerTypeSpecification (Prelude.Maybe ImageConfiguration)+workerTypeSpecification_imageConfiguration = Lens.lens (\WorkerTypeSpecification' {imageConfiguration} -> imageConfiguration) (\s@WorkerTypeSpecification' {} a -> s {imageConfiguration = a} :: WorkerTypeSpecification)++instance Data.FromJSON WorkerTypeSpecification where+ parseJSON =+ Data.withObject+ "WorkerTypeSpecification"+ ( \x ->+ WorkerTypeSpecification'+ Prelude.<$> (x Data..:? "imageConfiguration")+ )++instance Prelude.Hashable WorkerTypeSpecification where+ hashWithSalt _salt WorkerTypeSpecification' {..} =+ _salt `Prelude.hashWithSalt` imageConfiguration++instance Prelude.NFData WorkerTypeSpecification where+ rnf WorkerTypeSpecification' {..} =+ Prelude.rnf imageConfiguration
+ gen/Amazonka/EMRServerless/Types/WorkerTypeSpecificationInput.hs view
@@ -0,0 +1,76 @@+{-# 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.EMRServerless.Types.WorkerTypeSpecificationInput+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRServerless.Types.WorkerTypeSpecificationInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types.ImageConfigurationInput+import qualified Amazonka.Prelude as Prelude++-- | The specifications for a worker type.+--+-- /See:/ 'newWorkerTypeSpecificationInput' smart constructor.+data WorkerTypeSpecificationInput = WorkerTypeSpecificationInput'+ { -- | The image configuration for a worker type.+ imageConfiguration :: Prelude.Maybe ImageConfigurationInput+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkerTypeSpecificationInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'imageConfiguration', 'workerTypeSpecificationInput_imageConfiguration' - The image configuration for a worker type.+newWorkerTypeSpecificationInput ::+ WorkerTypeSpecificationInput+newWorkerTypeSpecificationInput =+ WorkerTypeSpecificationInput'+ { imageConfiguration =+ Prelude.Nothing+ }++-- | The image configuration for a worker type.+workerTypeSpecificationInput_imageConfiguration :: Lens.Lens' WorkerTypeSpecificationInput (Prelude.Maybe ImageConfigurationInput)+workerTypeSpecificationInput_imageConfiguration = Lens.lens (\WorkerTypeSpecificationInput' {imageConfiguration} -> imageConfiguration) (\s@WorkerTypeSpecificationInput' {} a -> s {imageConfiguration = a} :: WorkerTypeSpecificationInput)++instance+ Prelude.Hashable+ WorkerTypeSpecificationInput+ where+ hashWithSalt _salt WorkerTypeSpecificationInput' {..} =+ _salt `Prelude.hashWithSalt` imageConfiguration++instance Prelude.NFData WorkerTypeSpecificationInput where+ rnf WorkerTypeSpecificationInput' {..} =+ Prelude.rnf imageConfiguration++instance Data.ToJSON WorkerTypeSpecificationInput where+ toJSON WorkerTypeSpecificationInput' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("imageConfiguration" Data..=)+ Prelude.<$> imageConfiguration+ ]+ )
+ gen/Amazonka/EMRServerless/UntagResource.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes tags from resources.+module Amazonka.EMRServerless.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.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The Amazon Resource Name (ARN) that identifies the resource to list the+ -- tags for. Currently, the supported resources are Amazon EMR Serverless+ -- applications and job runs.+ resourceArn :: Prelude.Text,+ -- | The keys of the tags to be removed.+ tagKeys :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) that identifies the resource to list the+-- tags for. Currently, the supported resources are Amazon EMR Serverless+-- applications and job runs.+--+-- 'tagKeys', 'untagResource_tagKeys' - The keys of the tags to be removed.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ -- | 'tagKeys'+ Prelude.NonEmpty Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Lens.coerced Lens.# pTagKeys_+ }++-- | The Amazon Resource Name (ARN) that identifies the resource to list the+-- tags for. Currently, the supported resources are Amazon EMR Serverless+-- applications and job runs.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The keys of the tags to be removed.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath UntagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/EMRServerless/UpdateApplication.hs view
@@ -0,0 +1,342 @@+{-# 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.EMRServerless.UpdateApplication+-- 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 specified application. An application has to be in a stopped+-- or created state in order to be updated.+module Amazonka.EMRServerless.UpdateApplication+ ( -- * Creating a Request+ UpdateApplication (..),+ newUpdateApplication,++ -- * Request Lenses+ updateApplication_architecture,+ updateApplication_autoStartConfiguration,+ updateApplication_autoStopConfiguration,+ updateApplication_imageConfiguration,+ updateApplication_initialCapacity,+ updateApplication_maximumCapacity,+ updateApplication_networkConfiguration,+ updateApplication_workerTypeSpecifications,+ updateApplication_applicationId,+ updateApplication_clientToken,++ -- * Destructuring the Response+ UpdateApplicationResponse (..),+ newUpdateApplicationResponse,++ -- * Response Lenses+ updateApplicationResponse_httpStatus,+ updateApplicationResponse_application,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateApplication' smart constructor.+data UpdateApplication = UpdateApplication'+ { -- | The CPU architecture of an application.+ architecture :: Prelude.Maybe Architecture,+ -- | The configuration for an application to automatically start on job+ -- submission.+ autoStartConfiguration :: Prelude.Maybe AutoStartConfig,+ -- | The configuration for an application to automatically stop after a+ -- certain amount of time being idle.+ autoStopConfiguration :: Prelude.Maybe AutoStopConfig,+ -- | The image configuration to be used for all worker types. You can either+ -- set this parameter or @imageConfiguration@ for each worker type in+ -- @WorkerTypeSpecificationInput@.+ imageConfiguration :: Prelude.Maybe ImageConfigurationInput,+ -- | The capacity to initialize when the application is updated.+ initialCapacity :: Prelude.Maybe (Prelude.HashMap Prelude.Text InitialCapacityConfig),+ -- | The maximum capacity to allocate when the application is updated. This+ -- is cumulative across all workers at any given point in time during the+ -- lifespan of the application. No new resources will be created once any+ -- one of the defined limits is hit.+ maximumCapacity :: Prelude.Maybe MaximumAllowedResources,+ networkConfiguration :: Prelude.Maybe NetworkConfiguration,+ -- | The key-value pairs that specify worker type to+ -- @WorkerTypeSpecificationInput@. This parameter must contain all valid+ -- worker types for a Spark or Hive application. Valid worker types include+ -- @Driver@ and @Executor@ for Spark applications and @HiveDriver@ and+ -- @TezTask@ for Hive applications. You can either set image details in+ -- this parameter for each worker type, or in @imageConfiguration@ for all+ -- worker types.+ workerTypeSpecifications :: Prelude.Maybe (Prelude.HashMap Prelude.Text WorkerTypeSpecificationInput),+ -- | The ID of the application to update.+ applicationId :: Prelude.Text,+ -- | The client idempotency token of the application to update. Its value+ -- must be unique for each request.+ clientToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'architecture', 'updateApplication_architecture' - The CPU architecture of an application.+--+-- 'autoStartConfiguration', 'updateApplication_autoStartConfiguration' - The configuration for an application to automatically start on job+-- submission.+--+-- 'autoStopConfiguration', 'updateApplication_autoStopConfiguration' - The configuration for an application to automatically stop after a+-- certain amount of time being idle.+--+-- 'imageConfiguration', 'updateApplication_imageConfiguration' - The image configuration to be used for all worker types. You can either+-- set this parameter or @imageConfiguration@ for each worker type in+-- @WorkerTypeSpecificationInput@.+--+-- 'initialCapacity', 'updateApplication_initialCapacity' - The capacity to initialize when the application is updated.+--+-- 'maximumCapacity', 'updateApplication_maximumCapacity' - The maximum capacity to allocate when the application is updated. This+-- is cumulative across all workers at any given point in time during the+-- lifespan of the application. No new resources will be created once any+-- one of the defined limits is hit.+--+-- 'networkConfiguration', 'updateApplication_networkConfiguration' - Undocumented member.+--+-- 'workerTypeSpecifications', 'updateApplication_workerTypeSpecifications' - The key-value pairs that specify worker type to+-- @WorkerTypeSpecificationInput@. This parameter must contain all valid+-- worker types for a Spark or Hive application. Valid worker types include+-- @Driver@ and @Executor@ for Spark applications and @HiveDriver@ and+-- @TezTask@ for Hive applications. You can either set image details in+-- this parameter for each worker type, or in @imageConfiguration@ for all+-- worker types.+--+-- 'applicationId', 'updateApplication_applicationId' - The ID of the application to update.+--+-- 'clientToken', 'updateApplication_clientToken' - The client idempotency token of the application to update. Its value+-- must be unique for each request.+newUpdateApplication ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'clientToken'+ Prelude.Text ->+ UpdateApplication+newUpdateApplication pApplicationId_ pClientToken_ =+ UpdateApplication'+ { architecture = Prelude.Nothing,+ autoStartConfiguration = Prelude.Nothing,+ autoStopConfiguration = Prelude.Nothing,+ imageConfiguration = Prelude.Nothing,+ initialCapacity = Prelude.Nothing,+ maximumCapacity = Prelude.Nothing,+ networkConfiguration = Prelude.Nothing,+ workerTypeSpecifications = Prelude.Nothing,+ applicationId = pApplicationId_,+ clientToken = pClientToken_+ }++-- | The CPU architecture of an application.+updateApplication_architecture :: Lens.Lens' UpdateApplication (Prelude.Maybe Architecture)+updateApplication_architecture = Lens.lens (\UpdateApplication' {architecture} -> architecture) (\s@UpdateApplication' {} a -> s {architecture = a} :: UpdateApplication)++-- | The configuration for an application to automatically start on job+-- submission.+updateApplication_autoStartConfiguration :: Lens.Lens' UpdateApplication (Prelude.Maybe AutoStartConfig)+updateApplication_autoStartConfiguration = Lens.lens (\UpdateApplication' {autoStartConfiguration} -> autoStartConfiguration) (\s@UpdateApplication' {} a -> s {autoStartConfiguration = a} :: UpdateApplication)++-- | The configuration for an application to automatically stop after a+-- certain amount of time being idle.+updateApplication_autoStopConfiguration :: Lens.Lens' UpdateApplication (Prelude.Maybe AutoStopConfig)+updateApplication_autoStopConfiguration = Lens.lens (\UpdateApplication' {autoStopConfiguration} -> autoStopConfiguration) (\s@UpdateApplication' {} a -> s {autoStopConfiguration = a} :: UpdateApplication)++-- | The image configuration to be used for all worker types. You can either+-- set this parameter or @imageConfiguration@ for each worker type in+-- @WorkerTypeSpecificationInput@.+updateApplication_imageConfiguration :: Lens.Lens' UpdateApplication (Prelude.Maybe ImageConfigurationInput)+updateApplication_imageConfiguration = Lens.lens (\UpdateApplication' {imageConfiguration} -> imageConfiguration) (\s@UpdateApplication' {} a -> s {imageConfiguration = a} :: UpdateApplication)++-- | The capacity to initialize when the application is updated.+updateApplication_initialCapacity :: Lens.Lens' UpdateApplication (Prelude.Maybe (Prelude.HashMap Prelude.Text InitialCapacityConfig))+updateApplication_initialCapacity = Lens.lens (\UpdateApplication' {initialCapacity} -> initialCapacity) (\s@UpdateApplication' {} a -> s {initialCapacity = a} :: UpdateApplication) Prelude.. Lens.mapping Lens.coerced++-- | The maximum capacity to allocate when the application is updated. This+-- is cumulative across all workers at any given point in time during the+-- lifespan of the application. No new resources will be created once any+-- one of the defined limits is hit.+updateApplication_maximumCapacity :: Lens.Lens' UpdateApplication (Prelude.Maybe MaximumAllowedResources)+updateApplication_maximumCapacity = Lens.lens (\UpdateApplication' {maximumCapacity} -> maximumCapacity) (\s@UpdateApplication' {} a -> s {maximumCapacity = a} :: UpdateApplication)++-- | Undocumented member.+updateApplication_networkConfiguration :: Lens.Lens' UpdateApplication (Prelude.Maybe NetworkConfiguration)+updateApplication_networkConfiguration = Lens.lens (\UpdateApplication' {networkConfiguration} -> networkConfiguration) (\s@UpdateApplication' {} a -> s {networkConfiguration = a} :: UpdateApplication)++-- | The key-value pairs that specify worker type to+-- @WorkerTypeSpecificationInput@. This parameter must contain all valid+-- worker types for a Spark or Hive application. Valid worker types include+-- @Driver@ and @Executor@ for Spark applications and @HiveDriver@ and+-- @TezTask@ for Hive applications. You can either set image details in+-- this parameter for each worker type, or in @imageConfiguration@ for all+-- worker types.+updateApplication_workerTypeSpecifications :: Lens.Lens' UpdateApplication (Prelude.Maybe (Prelude.HashMap Prelude.Text WorkerTypeSpecificationInput))+updateApplication_workerTypeSpecifications = Lens.lens (\UpdateApplication' {workerTypeSpecifications} -> workerTypeSpecifications) (\s@UpdateApplication' {} a -> s {workerTypeSpecifications = a} :: UpdateApplication) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the application to update.+updateApplication_applicationId :: Lens.Lens' UpdateApplication Prelude.Text+updateApplication_applicationId = Lens.lens (\UpdateApplication' {applicationId} -> applicationId) (\s@UpdateApplication' {} a -> s {applicationId = a} :: UpdateApplication)++-- | The client idempotency token of the application to update. Its value+-- must be unique for each request.+updateApplication_clientToken :: Lens.Lens' UpdateApplication Prelude.Text+updateApplication_clientToken = Lens.lens (\UpdateApplication' {clientToken} -> clientToken) (\s@UpdateApplication' {} a -> s {clientToken = a} :: UpdateApplication)++instance Core.AWSRequest UpdateApplication where+ type+ AWSResponse UpdateApplication =+ UpdateApplicationResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateApplicationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "application")+ )++instance Prelude.Hashable UpdateApplication where+ hashWithSalt _salt UpdateApplication' {..} =+ _salt+ `Prelude.hashWithSalt` architecture+ `Prelude.hashWithSalt` autoStartConfiguration+ `Prelude.hashWithSalt` autoStopConfiguration+ `Prelude.hashWithSalt` imageConfiguration+ `Prelude.hashWithSalt` initialCapacity+ `Prelude.hashWithSalt` maximumCapacity+ `Prelude.hashWithSalt` networkConfiguration+ `Prelude.hashWithSalt` workerTypeSpecifications+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` clientToken++instance Prelude.NFData UpdateApplication where+ rnf UpdateApplication' {..} =+ Prelude.rnf architecture+ `Prelude.seq` Prelude.rnf autoStartConfiguration+ `Prelude.seq` Prelude.rnf autoStopConfiguration+ `Prelude.seq` Prelude.rnf imageConfiguration+ `Prelude.seq` Prelude.rnf initialCapacity+ `Prelude.seq` Prelude.rnf maximumCapacity+ `Prelude.seq` Prelude.rnf networkConfiguration+ `Prelude.seq` Prelude.rnf workerTypeSpecifications+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf clientToken++instance Data.ToHeaders UpdateApplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateApplication where+ toJSON UpdateApplication' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("architecture" Data..=) Prelude.<$> architecture,+ ("autoStartConfiguration" Data..=)+ Prelude.<$> autoStartConfiguration,+ ("autoStopConfiguration" Data..=)+ Prelude.<$> autoStopConfiguration,+ ("imageConfiguration" Data..=)+ Prelude.<$> imageConfiguration,+ ("initialCapacity" Data..=)+ Prelude.<$> initialCapacity,+ ("maximumCapacity" Data..=)+ Prelude.<$> maximumCapacity,+ ("networkConfiguration" Data..=)+ Prelude.<$> networkConfiguration,+ ("workerTypeSpecifications" Data..=)+ Prelude.<$> workerTypeSpecifications,+ Prelude.Just ("clientToken" Data..= clientToken)+ ]+ )++instance Data.ToPath UpdateApplication where+ toPath UpdateApplication' {..} =+ Prelude.mconcat+ ["/applications/", Data.toBS applicationId]++instance Data.ToQuery UpdateApplication where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateApplicationResponse' smart constructor.+data UpdateApplicationResponse = UpdateApplicationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Information about the updated application.+ application :: Application+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateApplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateApplicationResponse_httpStatus' - The response's http status code.+--+-- 'application', 'updateApplicationResponse_application' - Information about the updated application.+newUpdateApplicationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'application'+ Application ->+ UpdateApplicationResponse+newUpdateApplicationResponse+ pHttpStatus_+ pApplication_ =+ UpdateApplicationResponse'+ { httpStatus =+ pHttpStatus_,+ application = pApplication_+ }++-- | The response's http status code.+updateApplicationResponse_httpStatus :: Lens.Lens' UpdateApplicationResponse Prelude.Int+updateApplicationResponse_httpStatus = Lens.lens (\UpdateApplicationResponse' {httpStatus} -> httpStatus) (\s@UpdateApplicationResponse' {} a -> s {httpStatus = a} :: UpdateApplicationResponse)++-- | Information about the updated application.+updateApplicationResponse_application :: Lens.Lens' UpdateApplicationResponse Application+updateApplicationResponse_application = Lens.lens (\UpdateApplicationResponse' {application} -> application) (\s@UpdateApplicationResponse' {} a -> s {application = a} :: UpdateApplicationResponse)++instance Prelude.NFData UpdateApplicationResponse where+ rnf UpdateApplicationResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf application
+ gen/Amazonka/EMRServerless/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRServerless.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.EMRServerless.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRServerless.Lens+import Amazonka.EMRServerless.Types+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.EMRServerless+import Test.Amazonka.EMRServerless.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "EMRServerless"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/EMRServerless.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.EMRServerless+-- Copyright : (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.EMRServerless+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/EMRServerless/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.EMRServerless.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.EMRServerless.Internal where
+ test/Test/Amazonka/Gen/EMRServerless.hs view
@@ -0,0 +1,338 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.Amazonka.Gen.EMRServerless+-- Copyright : (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.EMRServerless where++import Amazonka.EMRServerless+import qualified Data.Proxy as Proxy+import Test.Amazonka.EMRServerless.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestCancelJobRun $+-- newCancelJobRun+--+-- , requestCreateApplication $+-- newCreateApplication+--+-- , requestDeleteApplication $+-- newDeleteApplication+--+-- , requestGetApplication $+-- newGetApplication+--+-- , requestGetDashboardForJobRun $+-- newGetDashboardForJobRun+--+-- , requestGetJobRun $+-- newGetJobRun+--+-- , requestListApplications $+-- newListApplications+--+-- , requestListJobRuns $+-- newListJobRuns+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestStartApplication $+-- newStartApplication+--+-- , requestStartJobRun $+-- newStartJobRun+--+-- , requestStopApplication $+-- newStopApplication+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateApplication $+-- newUpdateApplication+--+-- ]++-- , testGroup "response"+-- [ responseCancelJobRun $+-- newCancelJobRunResponse+--+-- , responseCreateApplication $+-- newCreateApplicationResponse+--+-- , responseDeleteApplication $+-- newDeleteApplicationResponse+--+-- , responseGetApplication $+-- newGetApplicationResponse+--+-- , responseGetDashboardForJobRun $+-- newGetDashboardForJobRunResponse+--+-- , responseGetJobRun $+-- newGetJobRunResponse+--+-- , responseListApplications $+-- newListApplicationsResponse+--+-- , responseListJobRuns $+-- newListJobRunsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseStartApplication $+-- newStartApplicationResponse+--+-- , responseStartJobRun $+-- newStartJobRunResponse+--+-- , responseStopApplication $+-- newStopApplicationResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateApplication $+-- newUpdateApplicationResponse+--+-- ]+-- ]++-- Requests++requestCancelJobRun :: CancelJobRun -> TestTree+requestCancelJobRun =+ req+ "CancelJobRun"+ "fixture/CancelJobRun.yaml"++requestCreateApplication :: CreateApplication -> TestTree+requestCreateApplication =+ req+ "CreateApplication"+ "fixture/CreateApplication.yaml"++requestDeleteApplication :: DeleteApplication -> TestTree+requestDeleteApplication =+ req+ "DeleteApplication"+ "fixture/DeleteApplication.yaml"++requestGetApplication :: GetApplication -> TestTree+requestGetApplication =+ req+ "GetApplication"+ "fixture/GetApplication.yaml"++requestGetDashboardForJobRun :: GetDashboardForJobRun -> TestTree+requestGetDashboardForJobRun =+ req+ "GetDashboardForJobRun"+ "fixture/GetDashboardForJobRun.yaml"++requestGetJobRun :: GetJobRun -> TestTree+requestGetJobRun =+ req+ "GetJobRun"+ "fixture/GetJobRun.yaml"++requestListApplications :: ListApplications -> TestTree+requestListApplications =+ req+ "ListApplications"+ "fixture/ListApplications.yaml"++requestListJobRuns :: ListJobRuns -> TestTree+requestListJobRuns =+ req+ "ListJobRuns"+ "fixture/ListJobRuns.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestStartApplication :: StartApplication -> TestTree+requestStartApplication =+ req+ "StartApplication"+ "fixture/StartApplication.yaml"++requestStartJobRun :: StartJobRun -> TestTree+requestStartJobRun =+ req+ "StartJobRun"+ "fixture/StartJobRun.yaml"++requestStopApplication :: StopApplication -> TestTree+requestStopApplication =+ req+ "StopApplication"+ "fixture/StopApplication.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateApplication :: UpdateApplication -> TestTree+requestUpdateApplication =+ req+ "UpdateApplication"+ "fixture/UpdateApplication.yaml"++-- Responses++responseCancelJobRun :: CancelJobRunResponse -> TestTree+responseCancelJobRun =+ res+ "CancelJobRunResponse"+ "fixture/CancelJobRunResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CancelJobRun)++responseCreateApplication :: CreateApplicationResponse -> TestTree+responseCreateApplication =+ res+ "CreateApplicationResponse"+ "fixture/CreateApplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateApplication)++responseDeleteApplication :: DeleteApplicationResponse -> TestTree+responseDeleteApplication =+ res+ "DeleteApplicationResponse"+ "fixture/DeleteApplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteApplication)++responseGetApplication :: GetApplicationResponse -> TestTree+responseGetApplication =+ res+ "GetApplicationResponse"+ "fixture/GetApplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetApplication)++responseGetDashboardForJobRun :: GetDashboardForJobRunResponse -> TestTree+responseGetDashboardForJobRun =+ res+ "GetDashboardForJobRunResponse"+ "fixture/GetDashboardForJobRunResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDashboardForJobRun)++responseGetJobRun :: GetJobRunResponse -> TestTree+responseGetJobRun =+ res+ "GetJobRunResponse"+ "fixture/GetJobRunResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetJobRun)++responseListApplications :: ListApplicationsResponse -> TestTree+responseListApplications =+ res+ "ListApplicationsResponse"+ "fixture/ListApplicationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListApplications)++responseListJobRuns :: ListJobRunsResponse -> TestTree+responseListJobRuns =+ res+ "ListJobRunsResponse"+ "fixture/ListJobRunsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListJobRuns)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseStartApplication :: StartApplicationResponse -> TestTree+responseStartApplication =+ res+ "StartApplicationResponse"+ "fixture/StartApplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartApplication)++responseStartJobRun :: StartJobRunResponse -> TestTree+responseStartJobRun =+ res+ "StartJobRunResponse"+ "fixture/StartJobRunResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartJobRun)++responseStopApplication :: StopApplicationResponse -> TestTree+responseStopApplication =+ res+ "StopApplicationResponse"+ "fixture/StopApplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StopApplication)++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)++responseUpdateApplication :: UpdateApplicationResponse -> TestTree+responseUpdateApplication =+ res+ "UpdateApplicationResponse"+ "fixture/UpdateApplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateApplication)