amazonka-emr-containers (empty) → 2.0
raw patch · 98 files changed
+9792/−0 lines, 98 filesdep +amazonka-coredep +amazonka-emr-containersdep +amazonka-test
Dependencies added: amazonka-core, amazonka-emr-containers, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-emr-containers.cabal +131/−0
- fixture/CancelJobRun.yaml +10/−0
- fixture/CancelJobRunResponse.proto +0/−0
- fixture/CreateJobTemplate.yaml +10/−0
- fixture/CreateJobTemplateResponse.proto +0/−0
- fixture/CreateManagedEndpoint.yaml +10/−0
- fixture/CreateManagedEndpointResponse.proto +0/−0
- fixture/CreateVirtualCluster.yaml +10/−0
- fixture/CreateVirtualClusterResponse.proto +0/−0
- fixture/DeleteJobTemplate.yaml +10/−0
- fixture/DeleteJobTemplateResponse.proto +0/−0
- fixture/DeleteManagedEndpoint.yaml +10/−0
- fixture/DeleteManagedEndpointResponse.proto +0/−0
- fixture/DeleteVirtualCluster.yaml +10/−0
- fixture/DeleteVirtualClusterResponse.proto +0/−0
- fixture/DescribeJobRun.yaml +10/−0
- fixture/DescribeJobRunResponse.proto +0/−0
- fixture/DescribeJobTemplate.yaml +10/−0
- fixture/DescribeJobTemplateResponse.proto +0/−0
- fixture/DescribeManagedEndpoint.yaml +10/−0
- fixture/DescribeManagedEndpointResponse.proto +0/−0
- fixture/DescribeVirtualCluster.yaml +10/−0
- fixture/DescribeVirtualClusterResponse.proto +0/−0
- fixture/ListJobRuns.yaml +10/−0
- fixture/ListJobRunsResponse.proto +0/−0
- fixture/ListJobTemplates.yaml +10/−0
- fixture/ListJobTemplatesResponse.proto +0/−0
- fixture/ListManagedEndpoints.yaml +10/−0
- fixture/ListManagedEndpointsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/ListVirtualClusters.yaml +10/−0
- fixture/ListVirtualClustersResponse.proto +0/−0
- fixture/StartJobRun.yaml +10/−0
- fixture/StartJobRunResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- gen/Amazonka/EMRContainers.hs +334/−0
- gen/Amazonka/EMRContainers/CancelJobRun.hs +194/−0
- gen/Amazonka/EMRContainers/CreateJobTemplate.hs +270/−0
- gen/Amazonka/EMRContainers/CreateManagedEndpoint.hs +341/−0
- gen/Amazonka/EMRContainers/CreateVirtualCluster.hs +245/−0
- gen/Amazonka/EMRContainers/DeleteJobTemplate.hs +159/−0
- gen/Amazonka/EMRContainers/DeleteManagedEndpoint.hs +195/−0
- gen/Amazonka/EMRContainers/DeleteVirtualCluster.hs +161/−0
- gen/Amazonka/EMRContainers/DescribeJobRun.hs +182/−0
- gen/Amazonka/EMRContainers/DescribeJobTemplate.hs +162/−0
- gen/Amazonka/EMRContainers/DescribeManagedEndpoint.hs +186/−0
- gen/Amazonka/EMRContainers/DescribeVirtualCluster.hs +167/−0
- gen/Amazonka/EMRContainers/Lens.hs +357/−0
- gen/Amazonka/EMRContainers/ListJobRuns.hs +283/−0
- gen/Amazonka/EMRContainers/ListJobTemplates.hs +241/−0
- gen/Amazonka/EMRContainers/ListManagedEndpoints.hs +289/−0
- gen/Amazonka/EMRContainers/ListTagsForResource.hs +159/−0
- gen/Amazonka/EMRContainers/ListVirtualClusters.hs +291/−0
- gen/Amazonka/EMRContainers/StartJobRun.hs +333/−0
- gen/Amazonka/EMRContainers/TagResource.hs +172/−0
- gen/Amazonka/EMRContainers/Types.hs +353/−0
- gen/Amazonka/EMRContainers/Types/Certificate.hs +84/−0
- gen/Amazonka/EMRContainers/Types/CloudWatchMonitoringConfiguration.hs +112/−0
- gen/Amazonka/EMRContainers/Types/Configuration.hs +118/−0
- gen/Amazonka/EMRContainers/Types/ConfigurationOverrides.hs +102/−0
- gen/Amazonka/EMRContainers/Types/ContainerInfo.hs +76/−0
- gen/Amazonka/EMRContainers/Types/ContainerProvider.hs +115/−0
- gen/Amazonka/EMRContainers/Types/ContainerProviderType.hs +66/−0
- gen/Amazonka/EMRContainers/Types/EksInfo.hs +73/−0
- gen/Amazonka/EMRContainers/Types/Endpoint.hs +290/−0
- gen/Amazonka/EMRContainers/Types/EndpointState.hs +86/−0
- gen/Amazonka/EMRContainers/Types/FailureReason.hs +81/−0
- gen/Amazonka/EMRContainers/Types/JobDriver.hs +99/−0
- gen/Amazonka/EMRContainers/Types/JobRun.hs +261/−0
- gen/Amazonka/EMRContainers/Types/JobRunState.hs +96/−0
- gen/Amazonka/EMRContainers/Types/JobTemplate.hs +175/−0
- gen/Amazonka/EMRContainers/Types/JobTemplateData.hs +167/−0
- gen/Amazonka/EMRContainers/Types/MonitoringConfiguration.hs +113/−0
- gen/Amazonka/EMRContainers/Types/ParametricCloudWatchMonitoringConfiguration.hs +113/−0
- gen/Amazonka/EMRContainers/Types/ParametricConfigurationOverrides.hs +114/−0
- gen/Amazonka/EMRContainers/Types/ParametricMonitoringConfiguration.hs +128/−0
- gen/Amazonka/EMRContainers/Types/ParametricS3MonitoringConfiguration.hs +95/−0
- gen/Amazonka/EMRContainers/Types/PersistentAppUI.hs +71/−0
- gen/Amazonka/EMRContainers/Types/S3MonitoringConfiguration.hs +79/−0
- gen/Amazonka/EMRContainers/Types/SparkSqlJobDriver.hs +94/−0
- gen/Amazonka/EMRContainers/Types/SparkSubmitJobDriver.hs +114/−0
- gen/Amazonka/EMRContainers/Types/TemplateParameterConfiguration.hs +106/−0
- gen/Amazonka/EMRContainers/Types/TemplateParameterDataType.hs +71/−0
- gen/Amazonka/EMRContainers/Types/VirtualCluster.hs +152/−0
- gen/Amazonka/EMRContainers/Types/VirtualClusterState.hs +81/−0
- gen/Amazonka/EMRContainers/UntagResource.hs +161/−0
- gen/Amazonka/EMRContainers/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/EMRContainers.hs +20/−0
- test/Test/Amazonka/EMRContainers/Internal.hs +8/−0
- test/Test/Amazonka/Gen/EMRContainers.hs +418/−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 Containers SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-10-01@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-emr-containers)+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.EMRContainers](http://hackage.haskell.org/package/amazonka-emr-containers/docs/Amazonka-EMRContainers.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-containers` 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-containers.cabal view
@@ -0,0 +1,131 @@+cabal-version: 2.2+name: amazonka-emr-containers+version: 2.0+synopsis: Amazon EMR Containers SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2020-10-01@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+ which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.EMRContainers.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.EMRContainers" 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-containers++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.EMRContainers+ Amazonka.EMRContainers.CancelJobRun+ Amazonka.EMRContainers.CreateJobTemplate+ Amazonka.EMRContainers.CreateManagedEndpoint+ Amazonka.EMRContainers.CreateVirtualCluster+ Amazonka.EMRContainers.DeleteJobTemplate+ Amazonka.EMRContainers.DeleteManagedEndpoint+ Amazonka.EMRContainers.DeleteVirtualCluster+ Amazonka.EMRContainers.DescribeJobRun+ Amazonka.EMRContainers.DescribeJobTemplate+ Amazonka.EMRContainers.DescribeManagedEndpoint+ Amazonka.EMRContainers.DescribeVirtualCluster+ Amazonka.EMRContainers.Lens+ Amazonka.EMRContainers.ListJobRuns+ Amazonka.EMRContainers.ListJobTemplates+ Amazonka.EMRContainers.ListManagedEndpoints+ Amazonka.EMRContainers.ListTagsForResource+ Amazonka.EMRContainers.ListVirtualClusters+ Amazonka.EMRContainers.StartJobRun+ Amazonka.EMRContainers.TagResource+ Amazonka.EMRContainers.Types+ Amazonka.EMRContainers.Types.Certificate+ Amazonka.EMRContainers.Types.CloudWatchMonitoringConfiguration+ Amazonka.EMRContainers.Types.Configuration+ Amazonka.EMRContainers.Types.ConfigurationOverrides+ Amazonka.EMRContainers.Types.ContainerInfo+ Amazonka.EMRContainers.Types.ContainerProvider+ Amazonka.EMRContainers.Types.ContainerProviderType+ Amazonka.EMRContainers.Types.EksInfo+ Amazonka.EMRContainers.Types.Endpoint+ Amazonka.EMRContainers.Types.EndpointState+ Amazonka.EMRContainers.Types.FailureReason+ Amazonka.EMRContainers.Types.JobDriver+ Amazonka.EMRContainers.Types.JobRun+ Amazonka.EMRContainers.Types.JobRunState+ Amazonka.EMRContainers.Types.JobTemplate+ Amazonka.EMRContainers.Types.JobTemplateData+ Amazonka.EMRContainers.Types.MonitoringConfiguration+ Amazonka.EMRContainers.Types.ParametricCloudWatchMonitoringConfiguration+ Amazonka.EMRContainers.Types.ParametricConfigurationOverrides+ Amazonka.EMRContainers.Types.ParametricMonitoringConfiguration+ Amazonka.EMRContainers.Types.ParametricS3MonitoringConfiguration+ Amazonka.EMRContainers.Types.PersistentAppUI+ Amazonka.EMRContainers.Types.S3MonitoringConfiguration+ Amazonka.EMRContainers.Types.SparkSqlJobDriver+ Amazonka.EMRContainers.Types.SparkSubmitJobDriver+ Amazonka.EMRContainers.Types.TemplateParameterConfiguration+ Amazonka.EMRContainers.Types.TemplateParameterDataType+ Amazonka.EMRContainers.Types.VirtualCluster+ Amazonka.EMRContainers.Types.VirtualClusterState+ Amazonka.EMRContainers.UntagResource+ Amazonka.EMRContainers.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-emr-containers-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.EMRContainers+ Test.Amazonka.EMRContainers.Internal+ Test.Amazonka.Gen.EMRContainers++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-emr-containers+ , 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-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/CreateJobTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/CreateJobTemplateResponse.proto view
+ fixture/CreateManagedEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/CreateManagedEndpointResponse.proto view
+ fixture/CreateVirtualCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/CreateVirtualClusterResponse.proto view
+ fixture/DeleteJobTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/DeleteJobTemplateResponse.proto view
+ fixture/DeleteManagedEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/DeleteManagedEndpointResponse.proto view
+ fixture/DeleteVirtualCluster.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/DeleteVirtualClusterResponse.proto view
+ fixture/DescribeJobRun.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/DescribeJobRunResponse.proto view
+ fixture/DescribeJobTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/DescribeJobTemplateResponse.proto view
+ fixture/DescribeManagedEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/DescribeManagedEndpointResponse.proto view
+ fixture/DescribeVirtualCluster.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/DescribeVirtualClusterResponse.proto view
+ fixture/ListJobRuns.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/ListJobTemplates.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/ListJobTemplatesResponse.proto view
+ fixture/ListManagedEndpoints.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/ListManagedEndpointsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/ListVirtualClusters.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/ListVirtualClustersResponse.proto view
+ fixture/StartJobRun.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/emr-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.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-containers/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: emr-containers.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UntagResourceResponse.proto view
+ gen/Amazonka/EMRContainers.hs view
@@ -0,0 +1,334 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.EMRContainers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2020-10-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon EMR on EKS provides a deployment option for Amazon EMR that+-- allows you to run open-source big data frameworks on Amazon Elastic+-- Kubernetes Service (Amazon EKS). With this deployment option, you can+-- focus on running analytics workloads while Amazon EMR on EKS builds,+-- configures, and manages containers for open-source applications. For+-- more information about Amazon EMR on EKS concepts and tasks, see+-- <https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/emr-eks.html What is Amazon EMR on EKS>.+--+-- /Amazon EMR containers/ is the API name for Amazon EMR on EKS. The+-- @emr-containers@ prefix is used in the following scenarios:+--+-- - It is the prefix in the CLI commands for Amazon EMR on EKS. For+-- example, @aws emr-containers start-job-run@.+--+-- - It is the prefix before IAM policy actions for Amazon EMR on EKS.+-- For example, @\"Action\": [ \"emr-containers:StartJobRun\"]@. For+-- more information, see+-- <https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-actions Policy actions for Amazon EMR on EKS>.+--+-- - It is the prefix used in Amazon EMR on EKS service endpoints. For+-- example, @emr-containers.us-east-2.amazonaws.com@. For more+-- information, see+-- <https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/service-quotas.html#service-endpoints Amazon EMR on EKS Service Endpoints>.+module Amazonka.EMRContainers+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** InternalServerException+ _InternalServerException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CancelJobRun+ CancelJobRun (CancelJobRun'),+ newCancelJobRun,+ CancelJobRunResponse (CancelJobRunResponse'),+ newCancelJobRunResponse,++ -- ** CreateJobTemplate+ CreateJobTemplate (CreateJobTemplate'),+ newCreateJobTemplate,+ CreateJobTemplateResponse (CreateJobTemplateResponse'),+ newCreateJobTemplateResponse,++ -- ** CreateManagedEndpoint+ CreateManagedEndpoint (CreateManagedEndpoint'),+ newCreateManagedEndpoint,+ CreateManagedEndpointResponse (CreateManagedEndpointResponse'),+ newCreateManagedEndpointResponse,++ -- ** CreateVirtualCluster+ CreateVirtualCluster (CreateVirtualCluster'),+ newCreateVirtualCluster,+ CreateVirtualClusterResponse (CreateVirtualClusterResponse'),+ newCreateVirtualClusterResponse,++ -- ** DeleteJobTemplate+ DeleteJobTemplate (DeleteJobTemplate'),+ newDeleteJobTemplate,+ DeleteJobTemplateResponse (DeleteJobTemplateResponse'),+ newDeleteJobTemplateResponse,++ -- ** DeleteManagedEndpoint+ DeleteManagedEndpoint (DeleteManagedEndpoint'),+ newDeleteManagedEndpoint,+ DeleteManagedEndpointResponse (DeleteManagedEndpointResponse'),+ newDeleteManagedEndpointResponse,++ -- ** DeleteVirtualCluster+ DeleteVirtualCluster (DeleteVirtualCluster'),+ newDeleteVirtualCluster,+ DeleteVirtualClusterResponse (DeleteVirtualClusterResponse'),+ newDeleteVirtualClusterResponse,++ -- ** DescribeJobRun+ DescribeJobRun (DescribeJobRun'),+ newDescribeJobRun,+ DescribeJobRunResponse (DescribeJobRunResponse'),+ newDescribeJobRunResponse,++ -- ** DescribeJobTemplate+ DescribeJobTemplate (DescribeJobTemplate'),+ newDescribeJobTemplate,+ DescribeJobTemplateResponse (DescribeJobTemplateResponse'),+ newDescribeJobTemplateResponse,++ -- ** DescribeManagedEndpoint+ DescribeManagedEndpoint (DescribeManagedEndpoint'),+ newDescribeManagedEndpoint,+ DescribeManagedEndpointResponse (DescribeManagedEndpointResponse'),+ newDescribeManagedEndpointResponse,++ -- ** DescribeVirtualCluster+ DescribeVirtualCluster (DescribeVirtualCluster'),+ newDescribeVirtualCluster,+ DescribeVirtualClusterResponse (DescribeVirtualClusterResponse'),+ newDescribeVirtualClusterResponse,++ -- ** ListJobRuns (Paginated)+ ListJobRuns (ListJobRuns'),+ newListJobRuns,+ ListJobRunsResponse (ListJobRunsResponse'),+ newListJobRunsResponse,++ -- ** ListJobTemplates (Paginated)+ ListJobTemplates (ListJobTemplates'),+ newListJobTemplates,+ ListJobTemplatesResponse (ListJobTemplatesResponse'),+ newListJobTemplatesResponse,++ -- ** ListManagedEndpoints (Paginated)+ ListManagedEndpoints (ListManagedEndpoints'),+ newListManagedEndpoints,+ ListManagedEndpointsResponse (ListManagedEndpointsResponse'),+ newListManagedEndpointsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** ListVirtualClusters (Paginated)+ ListVirtualClusters (ListVirtualClusters'),+ newListVirtualClusters,+ ListVirtualClustersResponse (ListVirtualClustersResponse'),+ newListVirtualClustersResponse,++ -- ** StartJobRun+ StartJobRun (StartJobRun'),+ newStartJobRun,+ StartJobRunResponse (StartJobRunResponse'),+ newStartJobRunResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- * Types++ -- ** ContainerProviderType+ ContainerProviderType (..),++ -- ** EndpointState+ EndpointState (..),++ -- ** FailureReason+ FailureReason (..),++ -- ** JobRunState+ JobRunState (..),++ -- ** PersistentAppUI+ PersistentAppUI (..),++ -- ** TemplateParameterDataType+ TemplateParameterDataType (..),++ -- ** VirtualClusterState+ VirtualClusterState (..),++ -- ** Certificate+ Certificate (Certificate'),+ newCertificate,++ -- ** CloudWatchMonitoringConfiguration+ CloudWatchMonitoringConfiguration (CloudWatchMonitoringConfiguration'),+ newCloudWatchMonitoringConfiguration,++ -- ** Configuration+ Configuration (Configuration'),+ newConfiguration,++ -- ** ConfigurationOverrides+ ConfigurationOverrides (ConfigurationOverrides'),+ newConfigurationOverrides,++ -- ** ContainerInfo+ ContainerInfo (ContainerInfo'),+ newContainerInfo,++ -- ** ContainerProvider+ ContainerProvider (ContainerProvider'),+ newContainerProvider,++ -- ** EksInfo+ EksInfo (EksInfo'),+ newEksInfo,++ -- ** Endpoint+ Endpoint (Endpoint'),+ newEndpoint,++ -- ** JobDriver+ JobDriver (JobDriver'),+ newJobDriver,++ -- ** JobRun+ JobRun (JobRun'),+ newJobRun,++ -- ** JobTemplate+ JobTemplate (JobTemplate'),+ newJobTemplate,++ -- ** JobTemplateData+ JobTemplateData (JobTemplateData'),+ newJobTemplateData,++ -- ** MonitoringConfiguration+ MonitoringConfiguration (MonitoringConfiguration'),+ newMonitoringConfiguration,++ -- ** ParametricCloudWatchMonitoringConfiguration+ ParametricCloudWatchMonitoringConfiguration (ParametricCloudWatchMonitoringConfiguration'),+ newParametricCloudWatchMonitoringConfiguration,++ -- ** ParametricConfigurationOverrides+ ParametricConfigurationOverrides (ParametricConfigurationOverrides'),+ newParametricConfigurationOverrides,++ -- ** ParametricMonitoringConfiguration+ ParametricMonitoringConfiguration (ParametricMonitoringConfiguration'),+ newParametricMonitoringConfiguration,++ -- ** ParametricS3MonitoringConfiguration+ ParametricS3MonitoringConfiguration (ParametricS3MonitoringConfiguration'),+ newParametricS3MonitoringConfiguration,++ -- ** S3MonitoringConfiguration+ S3MonitoringConfiguration (S3MonitoringConfiguration'),+ newS3MonitoringConfiguration,++ -- ** SparkSqlJobDriver+ SparkSqlJobDriver (SparkSqlJobDriver'),+ newSparkSqlJobDriver,++ -- ** SparkSubmitJobDriver+ SparkSubmitJobDriver (SparkSubmitJobDriver'),+ newSparkSubmitJobDriver,++ -- ** TemplateParameterConfiguration+ TemplateParameterConfiguration (TemplateParameterConfiguration'),+ newTemplateParameterConfiguration,++ -- ** VirtualCluster+ VirtualCluster (VirtualCluster'),+ newVirtualCluster,+ )+where++import Amazonka.EMRContainers.CancelJobRun+import Amazonka.EMRContainers.CreateJobTemplate+import Amazonka.EMRContainers.CreateManagedEndpoint+import Amazonka.EMRContainers.CreateVirtualCluster+import Amazonka.EMRContainers.DeleteJobTemplate+import Amazonka.EMRContainers.DeleteManagedEndpoint+import Amazonka.EMRContainers.DeleteVirtualCluster+import Amazonka.EMRContainers.DescribeJobRun+import Amazonka.EMRContainers.DescribeJobTemplate+import Amazonka.EMRContainers.DescribeManagedEndpoint+import Amazonka.EMRContainers.DescribeVirtualCluster+import Amazonka.EMRContainers.Lens+import Amazonka.EMRContainers.ListJobRuns+import Amazonka.EMRContainers.ListJobTemplates+import Amazonka.EMRContainers.ListManagedEndpoints+import Amazonka.EMRContainers.ListTagsForResource+import Amazonka.EMRContainers.ListVirtualClusters+import Amazonka.EMRContainers.StartJobRun+import Amazonka.EMRContainers.TagResource+import Amazonka.EMRContainers.Types+import Amazonka.EMRContainers.UntagResource+import Amazonka.EMRContainers.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 'EMRContainers'.++-- $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/EMRContainers/CancelJobRun.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.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. A job run is a unit of work, such as a Spark jar,+-- PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS.+module Amazonka.EMRContainers.CancelJobRun+ ( -- * Creating a Request+ CancelJobRun (..),+ newCancelJobRun,++ -- * Request Lenses+ cancelJobRun_id,+ cancelJobRun_virtualClusterId,++ -- * Destructuring the Response+ CancelJobRunResponse (..),+ newCancelJobRunResponse,++ -- * Response Lenses+ cancelJobRunResponse_id,+ cancelJobRunResponse_virtualClusterId,+ cancelJobRunResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.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 job run to cancel.+ id :: Prelude.Text,+ -- | The ID of the virtual cluster for which the job run will be canceled.+ virtualClusterId :: 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:+--+-- 'id', 'cancelJobRun_id' - The ID of the job run to cancel.+--+-- 'virtualClusterId', 'cancelJobRun_virtualClusterId' - The ID of the virtual cluster for which the job run will be canceled.+newCancelJobRun ::+ -- | 'id'+ Prelude.Text ->+ -- | 'virtualClusterId'+ Prelude.Text ->+ CancelJobRun+newCancelJobRun pId_ pVirtualClusterId_ =+ CancelJobRun'+ { id = pId_,+ virtualClusterId = pVirtualClusterId_+ }++-- | The ID of the job run to cancel.+cancelJobRun_id :: Lens.Lens' CancelJobRun Prelude.Text+cancelJobRun_id = Lens.lens (\CancelJobRun' {id} -> id) (\s@CancelJobRun' {} a -> s {id = a} :: CancelJobRun)++-- | The ID of the virtual cluster for which the job run will be canceled.+cancelJobRun_virtualClusterId :: Lens.Lens' CancelJobRun Prelude.Text+cancelJobRun_virtualClusterId = Lens.lens (\CancelJobRun' {virtualClusterId} -> virtualClusterId) (\s@CancelJobRun' {} a -> s {virtualClusterId = 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.<$> (x Data..?> "id")+ Prelude.<*> (x Data..?> "virtualClusterId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CancelJobRun where+ hashWithSalt _salt CancelJobRun' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` virtualClusterId++instance Prelude.NFData CancelJobRun where+ rnf CancelJobRun' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf virtualClusterId++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+ [ "/virtualclusters/",+ Data.toBS virtualClusterId,+ "/jobruns/",+ Data.toBS id+ ]++instance Data.ToQuery CancelJobRun where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCancelJobRunResponse' smart constructor.+data CancelJobRunResponse = CancelJobRunResponse'+ { -- | The output contains the ID of the cancelled job run.+ id :: Prelude.Maybe Prelude.Text,+ -- | The output contains the virtual cluster ID for which the job run is+ -- cancelled.+ virtualClusterId :: 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 '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:+--+-- 'id', 'cancelJobRunResponse_id' - The output contains the ID of the cancelled job run.+--+-- 'virtualClusterId', 'cancelJobRunResponse_virtualClusterId' - The output contains the virtual cluster ID for which the job run is+-- cancelled.+--+-- 'httpStatus', 'cancelJobRunResponse_httpStatus' - The response's http status code.+newCancelJobRunResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CancelJobRunResponse+newCancelJobRunResponse pHttpStatus_ =+ CancelJobRunResponse'+ { id = Prelude.Nothing,+ virtualClusterId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The output contains the ID of the cancelled job run.+cancelJobRunResponse_id :: Lens.Lens' CancelJobRunResponse (Prelude.Maybe Prelude.Text)+cancelJobRunResponse_id = Lens.lens (\CancelJobRunResponse' {id} -> id) (\s@CancelJobRunResponse' {} a -> s {id = a} :: CancelJobRunResponse)++-- | The output contains the virtual cluster ID for which the job run is+-- cancelled.+cancelJobRunResponse_virtualClusterId :: Lens.Lens' CancelJobRunResponse (Prelude.Maybe Prelude.Text)+cancelJobRunResponse_virtualClusterId = Lens.lens (\CancelJobRunResponse' {virtualClusterId} -> virtualClusterId) (\s@CancelJobRunResponse' {} a -> s {virtualClusterId = a} :: CancelJobRunResponse)++-- | 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)++instance Prelude.NFData CancelJobRunResponse where+ rnf CancelJobRunResponse' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf virtualClusterId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/CreateJobTemplate.hs view
@@ -0,0 +1,270 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.CreateJobTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a job template. Job template stores values of StartJobRun API+-- request in a template and can be used to start a job run. Job template+-- allows two use cases: avoid repeating recurring StartJobRun API request+-- values, enforcing certain values in StartJobRun API request.+module Amazonka.EMRContainers.CreateJobTemplate+ ( -- * Creating a Request+ CreateJobTemplate (..),+ newCreateJobTemplate,++ -- * Request Lenses+ createJobTemplate_kmsKeyArn,+ createJobTemplate_tags,+ createJobTemplate_name,+ createJobTemplate_clientToken,+ createJobTemplate_jobTemplateData,++ -- * Destructuring the Response+ CreateJobTemplateResponse (..),+ newCreateJobTemplateResponse,++ -- * Response Lenses+ createJobTemplateResponse_arn,+ createJobTemplateResponse_createdAt,+ createJobTemplateResponse_id,+ createJobTemplateResponse_name,+ createJobTemplateResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateJobTemplate' smart constructor.+data CreateJobTemplate = CreateJobTemplate'+ { -- | The KMS key ARN used to encrypt the job template.+ kmsKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The tags that are associated with the job template.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The specified name of the job template.+ name :: Prelude.Text,+ -- | The client token of the job template.+ clientToken :: Prelude.Text,+ -- | The job template data which holds values of StartJobRun API request.+ jobTemplateData :: JobTemplateData+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateJobTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKeyArn', 'createJobTemplate_kmsKeyArn' - The KMS key ARN used to encrypt the job template.+--+-- 'tags', 'createJobTemplate_tags' - The tags that are associated with the job template.+--+-- 'name', 'createJobTemplate_name' - The specified name of the job template.+--+-- 'clientToken', 'createJobTemplate_clientToken' - The client token of the job template.+--+-- 'jobTemplateData', 'createJobTemplate_jobTemplateData' - The job template data which holds values of StartJobRun API request.+newCreateJobTemplate ::+ -- | 'name'+ Prelude.Text ->+ -- | 'clientToken'+ Prelude.Text ->+ -- | 'jobTemplateData'+ JobTemplateData ->+ CreateJobTemplate+newCreateJobTemplate+ pName_+ pClientToken_+ pJobTemplateData_ =+ CreateJobTemplate'+ { kmsKeyArn = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_,+ clientToken = pClientToken_,+ jobTemplateData = pJobTemplateData_+ }++-- | The KMS key ARN used to encrypt the job template.+createJobTemplate_kmsKeyArn :: Lens.Lens' CreateJobTemplate (Prelude.Maybe Prelude.Text)+createJobTemplate_kmsKeyArn = Lens.lens (\CreateJobTemplate' {kmsKeyArn} -> kmsKeyArn) (\s@CreateJobTemplate' {} a -> s {kmsKeyArn = a} :: CreateJobTemplate)++-- | The tags that are associated with the job template.+createJobTemplate_tags :: Lens.Lens' CreateJobTemplate (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createJobTemplate_tags = Lens.lens (\CreateJobTemplate' {tags} -> tags) (\s@CreateJobTemplate' {} a -> s {tags = a} :: CreateJobTemplate) Prelude.. Lens.mapping Lens.coerced++-- | The specified name of the job template.+createJobTemplate_name :: Lens.Lens' CreateJobTemplate Prelude.Text+createJobTemplate_name = Lens.lens (\CreateJobTemplate' {name} -> name) (\s@CreateJobTemplate' {} a -> s {name = a} :: CreateJobTemplate)++-- | The client token of the job template.+createJobTemplate_clientToken :: Lens.Lens' CreateJobTemplate Prelude.Text+createJobTemplate_clientToken = Lens.lens (\CreateJobTemplate' {clientToken} -> clientToken) (\s@CreateJobTemplate' {} a -> s {clientToken = a} :: CreateJobTemplate)++-- | The job template data which holds values of StartJobRun API request.+createJobTemplate_jobTemplateData :: Lens.Lens' CreateJobTemplate JobTemplateData+createJobTemplate_jobTemplateData = Lens.lens (\CreateJobTemplate' {jobTemplateData} -> jobTemplateData) (\s@CreateJobTemplate' {} a -> s {jobTemplateData = a} :: CreateJobTemplate)++instance Core.AWSRequest CreateJobTemplate where+ type+ AWSResponse CreateJobTemplate =+ CreateJobTemplateResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateJobTemplateResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "createdAt")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateJobTemplate where+ hashWithSalt _salt CreateJobTemplate' {..} =+ _salt+ `Prelude.hashWithSalt` kmsKeyArn+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` jobTemplateData++instance Prelude.NFData CreateJobTemplate where+ rnf CreateJobTemplate' {..} =+ Prelude.rnf kmsKeyArn+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf jobTemplateData++instance Data.ToHeaders CreateJobTemplate where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateJobTemplate where+ toJSON CreateJobTemplate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("kmsKeyArn" Data..=) Prelude.<$> kmsKeyArn,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("clientToken" Data..= clientToken),+ Prelude.Just+ ("jobTemplateData" Data..= jobTemplateData)+ ]+ )++instance Data.ToPath CreateJobTemplate where+ toPath = Prelude.const "/jobtemplates"++instance Data.ToQuery CreateJobTemplate where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateJobTemplateResponse' smart constructor.+data CreateJobTemplateResponse = CreateJobTemplateResponse'+ { -- | This output display the ARN of the created job template.+ arn :: Prelude.Maybe Prelude.Text,+ -- | This output displays the date and time when the job template was+ -- created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | This output display the created job template ID.+ id :: Prelude.Maybe Prelude.Text,+ -- | This output displays the name of the created job template.+ name :: 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 'CreateJobTemplateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createJobTemplateResponse_arn' - This output display the ARN of the created job template.+--+-- 'createdAt', 'createJobTemplateResponse_createdAt' - This output displays the date and time when the job template was+-- created.+--+-- 'id', 'createJobTemplateResponse_id' - This output display the created job template ID.+--+-- 'name', 'createJobTemplateResponse_name' - This output displays the name of the created job template.+--+-- 'httpStatus', 'createJobTemplateResponse_httpStatus' - The response's http status code.+newCreateJobTemplateResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateJobTemplateResponse+newCreateJobTemplateResponse pHttpStatus_ =+ CreateJobTemplateResponse'+ { arn = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | This output display the ARN of the created job template.+createJobTemplateResponse_arn :: Lens.Lens' CreateJobTemplateResponse (Prelude.Maybe Prelude.Text)+createJobTemplateResponse_arn = Lens.lens (\CreateJobTemplateResponse' {arn} -> arn) (\s@CreateJobTemplateResponse' {} a -> s {arn = a} :: CreateJobTemplateResponse)++-- | This output displays the date and time when the job template was+-- created.+createJobTemplateResponse_createdAt :: Lens.Lens' CreateJobTemplateResponse (Prelude.Maybe Prelude.UTCTime)+createJobTemplateResponse_createdAt = Lens.lens (\CreateJobTemplateResponse' {createdAt} -> createdAt) (\s@CreateJobTemplateResponse' {} a -> s {createdAt = a} :: CreateJobTemplateResponse) Prelude.. Lens.mapping Data._Time++-- | This output display the created job template ID.+createJobTemplateResponse_id :: Lens.Lens' CreateJobTemplateResponse (Prelude.Maybe Prelude.Text)+createJobTemplateResponse_id = Lens.lens (\CreateJobTemplateResponse' {id} -> id) (\s@CreateJobTemplateResponse' {} a -> s {id = a} :: CreateJobTemplateResponse)++-- | This output displays the name of the created job template.+createJobTemplateResponse_name :: Lens.Lens' CreateJobTemplateResponse (Prelude.Maybe Prelude.Text)+createJobTemplateResponse_name = Lens.lens (\CreateJobTemplateResponse' {name} -> name) (\s@CreateJobTemplateResponse' {} a -> s {name = a} :: CreateJobTemplateResponse)++-- | The response's http status code.+createJobTemplateResponse_httpStatus :: Lens.Lens' CreateJobTemplateResponse Prelude.Int+createJobTemplateResponse_httpStatus = Lens.lens (\CreateJobTemplateResponse' {httpStatus} -> httpStatus) (\s@CreateJobTemplateResponse' {} a -> s {httpStatus = a} :: CreateJobTemplateResponse)++instance Prelude.NFData CreateJobTemplateResponse where+ rnf CreateJobTemplateResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/CreateManagedEndpoint.hs view
@@ -0,0 +1,341 @@+{-# 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.EMRContainers.CreateManagedEndpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a managed endpoint. A managed endpoint is a gateway that+-- connects EMR Studio to Amazon EMR on EKS so that EMR Studio can+-- communicate with your virtual cluster.+module Amazonka.EMRContainers.CreateManagedEndpoint+ ( -- * Creating a Request+ CreateManagedEndpoint (..),+ newCreateManagedEndpoint,++ -- * Request Lenses+ createManagedEndpoint_certificateArn,+ createManagedEndpoint_configurationOverrides,+ createManagedEndpoint_tags,+ createManagedEndpoint_name,+ createManagedEndpoint_virtualClusterId,+ createManagedEndpoint_type,+ createManagedEndpoint_releaseLabel,+ createManagedEndpoint_executionRoleArn,+ createManagedEndpoint_clientToken,++ -- * Destructuring the Response+ CreateManagedEndpointResponse (..),+ newCreateManagedEndpointResponse,++ -- * Response Lenses+ createManagedEndpointResponse_arn,+ createManagedEndpointResponse_id,+ createManagedEndpointResponse_name,+ createManagedEndpointResponse_virtualClusterId,+ createManagedEndpointResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateManagedEndpoint' smart constructor.+data CreateManagedEndpoint = CreateManagedEndpoint'+ { -- | The certificate ARN provided by users for the managed endpoint. This+ -- field is under deprecation and will be removed in future releases.+ certificateArn :: Prelude.Maybe Prelude.Text,+ -- | The configuration settings that will be used to override existing+ -- configurations.+ configurationOverrides :: Prelude.Maybe ConfigurationOverrides,+ -- | The tags of the managed endpoint.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the managed endpoint.+ name :: Prelude.Text,+ -- | The ID of the virtual cluster for which a managed endpoint is created.+ virtualClusterId :: Prelude.Text,+ -- | The type of the managed endpoint.+ type' :: Prelude.Text,+ -- | The Amazon EMR release version.+ releaseLabel :: Prelude.Text,+ -- | The ARN of the execution role.+ executionRoleArn :: Prelude.Text,+ -- | The client idempotency token for this create call.+ clientToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateManagedEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'certificateArn', 'createManagedEndpoint_certificateArn' - The certificate ARN provided by users for the managed endpoint. This+-- field is under deprecation and will be removed in future releases.+--+-- 'configurationOverrides', 'createManagedEndpoint_configurationOverrides' - The configuration settings that will be used to override existing+-- configurations.+--+-- 'tags', 'createManagedEndpoint_tags' - The tags of the managed endpoint.+--+-- 'name', 'createManagedEndpoint_name' - The name of the managed endpoint.+--+-- 'virtualClusterId', 'createManagedEndpoint_virtualClusterId' - The ID of the virtual cluster for which a managed endpoint is created.+--+-- 'type'', 'createManagedEndpoint_type' - The type of the managed endpoint.+--+-- 'releaseLabel', 'createManagedEndpoint_releaseLabel' - The Amazon EMR release version.+--+-- 'executionRoleArn', 'createManagedEndpoint_executionRoleArn' - The ARN of the execution role.+--+-- 'clientToken', 'createManagedEndpoint_clientToken' - The client idempotency token for this create call.+newCreateManagedEndpoint ::+ -- | 'name'+ Prelude.Text ->+ -- | 'virtualClusterId'+ Prelude.Text ->+ -- | 'type''+ Prelude.Text ->+ -- | 'releaseLabel'+ Prelude.Text ->+ -- | 'executionRoleArn'+ Prelude.Text ->+ -- | 'clientToken'+ Prelude.Text ->+ CreateManagedEndpoint+newCreateManagedEndpoint+ pName_+ pVirtualClusterId_+ pType_+ pReleaseLabel_+ pExecutionRoleArn_+ pClientToken_ =+ CreateManagedEndpoint'+ { certificateArn =+ Prelude.Nothing,+ configurationOverrides = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_,+ virtualClusterId = pVirtualClusterId_,+ type' = pType_,+ releaseLabel = pReleaseLabel_,+ executionRoleArn = pExecutionRoleArn_,+ clientToken = pClientToken_+ }++-- | The certificate ARN provided by users for the managed endpoint. This+-- field is under deprecation and will be removed in future releases.+createManagedEndpoint_certificateArn :: Lens.Lens' CreateManagedEndpoint (Prelude.Maybe Prelude.Text)+createManagedEndpoint_certificateArn = Lens.lens (\CreateManagedEndpoint' {certificateArn} -> certificateArn) (\s@CreateManagedEndpoint' {} a -> s {certificateArn = a} :: CreateManagedEndpoint)++-- | The configuration settings that will be used to override existing+-- configurations.+createManagedEndpoint_configurationOverrides :: Lens.Lens' CreateManagedEndpoint (Prelude.Maybe ConfigurationOverrides)+createManagedEndpoint_configurationOverrides = Lens.lens (\CreateManagedEndpoint' {configurationOverrides} -> configurationOverrides) (\s@CreateManagedEndpoint' {} a -> s {configurationOverrides = a} :: CreateManagedEndpoint)++-- | The tags of the managed endpoint.+createManagedEndpoint_tags :: Lens.Lens' CreateManagedEndpoint (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createManagedEndpoint_tags = Lens.lens (\CreateManagedEndpoint' {tags} -> tags) (\s@CreateManagedEndpoint' {} a -> s {tags = a} :: CreateManagedEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | The name of the managed endpoint.+createManagedEndpoint_name :: Lens.Lens' CreateManagedEndpoint Prelude.Text+createManagedEndpoint_name = Lens.lens (\CreateManagedEndpoint' {name} -> name) (\s@CreateManagedEndpoint' {} a -> s {name = a} :: CreateManagedEndpoint)++-- | The ID of the virtual cluster for which a managed endpoint is created.+createManagedEndpoint_virtualClusterId :: Lens.Lens' CreateManagedEndpoint Prelude.Text+createManagedEndpoint_virtualClusterId = Lens.lens (\CreateManagedEndpoint' {virtualClusterId} -> virtualClusterId) (\s@CreateManagedEndpoint' {} a -> s {virtualClusterId = a} :: CreateManagedEndpoint)++-- | The type of the managed endpoint.+createManagedEndpoint_type :: Lens.Lens' CreateManagedEndpoint Prelude.Text+createManagedEndpoint_type = Lens.lens (\CreateManagedEndpoint' {type'} -> type') (\s@CreateManagedEndpoint' {} a -> s {type' = a} :: CreateManagedEndpoint)++-- | The Amazon EMR release version.+createManagedEndpoint_releaseLabel :: Lens.Lens' CreateManagedEndpoint Prelude.Text+createManagedEndpoint_releaseLabel = Lens.lens (\CreateManagedEndpoint' {releaseLabel} -> releaseLabel) (\s@CreateManagedEndpoint' {} a -> s {releaseLabel = a} :: CreateManagedEndpoint)++-- | The ARN of the execution role.+createManagedEndpoint_executionRoleArn :: Lens.Lens' CreateManagedEndpoint Prelude.Text+createManagedEndpoint_executionRoleArn = Lens.lens (\CreateManagedEndpoint' {executionRoleArn} -> executionRoleArn) (\s@CreateManagedEndpoint' {} a -> s {executionRoleArn = a} :: CreateManagedEndpoint)++-- | The client idempotency token for this create call.+createManagedEndpoint_clientToken :: Lens.Lens' CreateManagedEndpoint Prelude.Text+createManagedEndpoint_clientToken = Lens.lens (\CreateManagedEndpoint' {clientToken} -> clientToken) (\s@CreateManagedEndpoint' {} a -> s {clientToken = a} :: CreateManagedEndpoint)++instance Core.AWSRequest CreateManagedEndpoint where+ type+ AWSResponse CreateManagedEndpoint =+ CreateManagedEndpointResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateManagedEndpointResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "virtualClusterId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateManagedEndpoint where+ hashWithSalt _salt CreateManagedEndpoint' {..} =+ _salt+ `Prelude.hashWithSalt` certificateArn+ `Prelude.hashWithSalt` configurationOverrides+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` virtualClusterId+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` releaseLabel+ `Prelude.hashWithSalt` executionRoleArn+ `Prelude.hashWithSalt` clientToken++instance Prelude.NFData CreateManagedEndpoint where+ rnf CreateManagedEndpoint' {..} =+ Prelude.rnf certificateArn+ `Prelude.seq` Prelude.rnf configurationOverrides+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf virtualClusterId+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf releaseLabel+ `Prelude.seq` Prelude.rnf executionRoleArn+ `Prelude.seq` Prelude.rnf clientToken++instance Data.ToHeaders CreateManagedEndpoint where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateManagedEndpoint where+ toJSON CreateManagedEndpoint' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("certificateArn" Data..=)+ Prelude.<$> certificateArn,+ ("configurationOverrides" Data..=)+ Prelude.<$> configurationOverrides,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("type" Data..= type'),+ Prelude.Just ("releaseLabel" Data..= releaseLabel),+ Prelude.Just+ ("executionRoleArn" Data..= executionRoleArn),+ Prelude.Just ("clientToken" Data..= clientToken)+ ]+ )++instance Data.ToPath CreateManagedEndpoint where+ toPath CreateManagedEndpoint' {..} =+ Prelude.mconcat+ [ "/virtualclusters/",+ Data.toBS virtualClusterId,+ "/endpoints"+ ]++instance Data.ToQuery CreateManagedEndpoint where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateManagedEndpointResponse' smart constructor.+data CreateManagedEndpointResponse = CreateManagedEndpointResponse'+ { -- | The output contains the ARN of the managed endpoint.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The output contains the ID of the managed endpoint.+ id :: Prelude.Maybe Prelude.Text,+ -- | The output contains the name of the managed endpoint.+ name :: Prelude.Maybe Prelude.Text,+ -- | The output contains the ID of the virtual cluster.+ virtualClusterId :: 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 'CreateManagedEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createManagedEndpointResponse_arn' - The output contains the ARN of the managed endpoint.+--+-- 'id', 'createManagedEndpointResponse_id' - The output contains the ID of the managed endpoint.+--+-- 'name', 'createManagedEndpointResponse_name' - The output contains the name of the managed endpoint.+--+-- 'virtualClusterId', 'createManagedEndpointResponse_virtualClusterId' - The output contains the ID of the virtual cluster.+--+-- 'httpStatus', 'createManagedEndpointResponse_httpStatus' - The response's http status code.+newCreateManagedEndpointResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateManagedEndpointResponse+newCreateManagedEndpointResponse pHttpStatus_ =+ CreateManagedEndpointResponse'+ { arn =+ Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ virtualClusterId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The output contains the ARN of the managed endpoint.+createManagedEndpointResponse_arn :: Lens.Lens' CreateManagedEndpointResponse (Prelude.Maybe Prelude.Text)+createManagedEndpointResponse_arn = Lens.lens (\CreateManagedEndpointResponse' {arn} -> arn) (\s@CreateManagedEndpointResponse' {} a -> s {arn = a} :: CreateManagedEndpointResponse)++-- | The output contains the ID of the managed endpoint.+createManagedEndpointResponse_id :: Lens.Lens' CreateManagedEndpointResponse (Prelude.Maybe Prelude.Text)+createManagedEndpointResponse_id = Lens.lens (\CreateManagedEndpointResponse' {id} -> id) (\s@CreateManagedEndpointResponse' {} a -> s {id = a} :: CreateManagedEndpointResponse)++-- | The output contains the name of the managed endpoint.+createManagedEndpointResponse_name :: Lens.Lens' CreateManagedEndpointResponse (Prelude.Maybe Prelude.Text)+createManagedEndpointResponse_name = Lens.lens (\CreateManagedEndpointResponse' {name} -> name) (\s@CreateManagedEndpointResponse' {} a -> s {name = a} :: CreateManagedEndpointResponse)++-- | The output contains the ID of the virtual cluster.+createManagedEndpointResponse_virtualClusterId :: Lens.Lens' CreateManagedEndpointResponse (Prelude.Maybe Prelude.Text)+createManagedEndpointResponse_virtualClusterId = Lens.lens (\CreateManagedEndpointResponse' {virtualClusterId} -> virtualClusterId) (\s@CreateManagedEndpointResponse' {} a -> s {virtualClusterId = a} :: CreateManagedEndpointResponse)++-- | The response's http status code.+createManagedEndpointResponse_httpStatus :: Lens.Lens' CreateManagedEndpointResponse Prelude.Int+createManagedEndpointResponse_httpStatus = Lens.lens (\CreateManagedEndpointResponse' {httpStatus} -> httpStatus) (\s@CreateManagedEndpointResponse' {} a -> s {httpStatus = a} :: CreateManagedEndpointResponse)++instance Prelude.NFData CreateManagedEndpointResponse where+ rnf CreateManagedEndpointResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf virtualClusterId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/CreateVirtualCluster.hs view
@@ -0,0 +1,245 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.CreateVirtualCluster+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a virtual cluster. Virtual cluster is a managed entity on Amazon+-- EMR on EKS. You can create, describe, list and delete virtual clusters.+-- They do not consume any additional resource in your system. A single+-- virtual cluster maps to a single Kubernetes namespace. Given this+-- relationship, you can model virtual clusters the same way you model+-- Kubernetes namespaces to meet your requirements.+module Amazonka.EMRContainers.CreateVirtualCluster+ ( -- * Creating a Request+ CreateVirtualCluster (..),+ newCreateVirtualCluster,++ -- * Request Lenses+ createVirtualCluster_tags,+ createVirtualCluster_name,+ createVirtualCluster_containerProvider,+ createVirtualCluster_clientToken,++ -- * Destructuring the Response+ CreateVirtualClusterResponse (..),+ newCreateVirtualClusterResponse,++ -- * Response Lenses+ createVirtualClusterResponse_arn,+ createVirtualClusterResponse_id,+ createVirtualClusterResponse_name,+ createVirtualClusterResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateVirtualCluster' smart constructor.+data CreateVirtualCluster = CreateVirtualCluster'+ { -- | The tags assigned to the virtual cluster.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The specified name of the virtual cluster.+ name :: Prelude.Text,+ -- | The container provider of the virtual cluster.+ containerProvider :: ContainerProvider,+ -- | The client token of the virtual cluster.+ clientToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVirtualCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createVirtualCluster_tags' - The tags assigned to the virtual cluster.+--+-- 'name', 'createVirtualCluster_name' - The specified name of the virtual cluster.+--+-- 'containerProvider', 'createVirtualCluster_containerProvider' - The container provider of the virtual cluster.+--+-- 'clientToken', 'createVirtualCluster_clientToken' - The client token of the virtual cluster.+newCreateVirtualCluster ::+ -- | 'name'+ Prelude.Text ->+ -- | 'containerProvider'+ ContainerProvider ->+ -- | 'clientToken'+ Prelude.Text ->+ CreateVirtualCluster+newCreateVirtualCluster+ pName_+ pContainerProvider_+ pClientToken_ =+ CreateVirtualCluster'+ { tags = Prelude.Nothing,+ name = pName_,+ containerProvider = pContainerProvider_,+ clientToken = pClientToken_+ }++-- | The tags assigned to the virtual cluster.+createVirtualCluster_tags :: Lens.Lens' CreateVirtualCluster (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createVirtualCluster_tags = Lens.lens (\CreateVirtualCluster' {tags} -> tags) (\s@CreateVirtualCluster' {} a -> s {tags = a} :: CreateVirtualCluster) Prelude.. Lens.mapping Lens.coerced++-- | The specified name of the virtual cluster.+createVirtualCluster_name :: Lens.Lens' CreateVirtualCluster Prelude.Text+createVirtualCluster_name = Lens.lens (\CreateVirtualCluster' {name} -> name) (\s@CreateVirtualCluster' {} a -> s {name = a} :: CreateVirtualCluster)++-- | The container provider of the virtual cluster.+createVirtualCluster_containerProvider :: Lens.Lens' CreateVirtualCluster ContainerProvider+createVirtualCluster_containerProvider = Lens.lens (\CreateVirtualCluster' {containerProvider} -> containerProvider) (\s@CreateVirtualCluster' {} a -> s {containerProvider = a} :: CreateVirtualCluster)++-- | The client token of the virtual cluster.+createVirtualCluster_clientToken :: Lens.Lens' CreateVirtualCluster Prelude.Text+createVirtualCluster_clientToken = Lens.lens (\CreateVirtualCluster' {clientToken} -> clientToken) (\s@CreateVirtualCluster' {} a -> s {clientToken = a} :: CreateVirtualCluster)++instance Core.AWSRequest CreateVirtualCluster where+ type+ AWSResponse CreateVirtualCluster =+ CreateVirtualClusterResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateVirtualClusterResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateVirtualCluster where+ hashWithSalt _salt CreateVirtualCluster' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` containerProvider+ `Prelude.hashWithSalt` clientToken++instance Prelude.NFData CreateVirtualCluster where+ rnf CreateVirtualCluster' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf containerProvider+ `Prelude.seq` Prelude.rnf clientToken++instance Data.ToHeaders CreateVirtualCluster where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateVirtualCluster where+ toJSON CreateVirtualCluster' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("name" Data..= name),+ Prelude.Just+ ("containerProvider" Data..= containerProvider),+ Prelude.Just ("clientToken" Data..= clientToken)+ ]+ )++instance Data.ToPath CreateVirtualCluster where+ toPath = Prelude.const "/virtualclusters"++instance Data.ToQuery CreateVirtualCluster where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateVirtualClusterResponse' smart constructor.+data CreateVirtualClusterResponse = CreateVirtualClusterResponse'+ { -- | This output contains the ARN of virtual cluster.+ arn :: Prelude.Maybe Prelude.Text,+ -- | This output contains the virtual cluster ID.+ id :: Prelude.Maybe Prelude.Text,+ -- | This output contains the name of the virtual cluster.+ name :: 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 'CreateVirtualClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createVirtualClusterResponse_arn' - This output contains the ARN of virtual cluster.+--+-- 'id', 'createVirtualClusterResponse_id' - This output contains the virtual cluster ID.+--+-- 'name', 'createVirtualClusterResponse_name' - This output contains the name of the virtual cluster.+--+-- 'httpStatus', 'createVirtualClusterResponse_httpStatus' - The response's http status code.+newCreateVirtualClusterResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateVirtualClusterResponse+newCreateVirtualClusterResponse pHttpStatus_ =+ CreateVirtualClusterResponse'+ { arn =+ Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | This output contains the ARN of virtual cluster.+createVirtualClusterResponse_arn :: Lens.Lens' CreateVirtualClusterResponse (Prelude.Maybe Prelude.Text)+createVirtualClusterResponse_arn = Lens.lens (\CreateVirtualClusterResponse' {arn} -> arn) (\s@CreateVirtualClusterResponse' {} a -> s {arn = a} :: CreateVirtualClusterResponse)++-- | This output contains the virtual cluster ID.+createVirtualClusterResponse_id :: Lens.Lens' CreateVirtualClusterResponse (Prelude.Maybe Prelude.Text)+createVirtualClusterResponse_id = Lens.lens (\CreateVirtualClusterResponse' {id} -> id) (\s@CreateVirtualClusterResponse' {} a -> s {id = a} :: CreateVirtualClusterResponse)++-- | This output contains the name of the virtual cluster.+createVirtualClusterResponse_name :: Lens.Lens' CreateVirtualClusterResponse (Prelude.Maybe Prelude.Text)+createVirtualClusterResponse_name = Lens.lens (\CreateVirtualClusterResponse' {name} -> name) (\s@CreateVirtualClusterResponse' {} a -> s {name = a} :: CreateVirtualClusterResponse)++-- | The response's http status code.+createVirtualClusterResponse_httpStatus :: Lens.Lens' CreateVirtualClusterResponse Prelude.Int+createVirtualClusterResponse_httpStatus = Lens.lens (\CreateVirtualClusterResponse' {httpStatus} -> httpStatus) (\s@CreateVirtualClusterResponse' {} a -> s {httpStatus = a} :: CreateVirtualClusterResponse)++instance Prelude.NFData CreateVirtualClusterResponse where+ rnf CreateVirtualClusterResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/DeleteJobTemplate.hs view
@@ -0,0 +1,159 @@+{-# 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.EMRContainers.DeleteJobTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a job template. Job template stores values of StartJobRun API+-- request in a template and can be used to start a job run. Job template+-- allows two use cases: avoid repeating recurring StartJobRun API request+-- values, enforcing certain values in StartJobRun API request.+module Amazonka.EMRContainers.DeleteJobTemplate+ ( -- * Creating a Request+ DeleteJobTemplate (..),+ newDeleteJobTemplate,++ -- * Request Lenses+ deleteJobTemplate_id,++ -- * Destructuring the Response+ DeleteJobTemplateResponse (..),+ newDeleteJobTemplateResponse,++ -- * Response Lenses+ deleteJobTemplateResponse_id,+ deleteJobTemplateResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteJobTemplate' smart constructor.+data DeleteJobTemplate = DeleteJobTemplate'+ { -- | The ID of the job template that will be deleted.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteJobTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteJobTemplate_id' - The ID of the job template that will be deleted.+newDeleteJobTemplate ::+ -- | 'id'+ Prelude.Text ->+ DeleteJobTemplate+newDeleteJobTemplate pId_ =+ DeleteJobTemplate' {id = pId_}++-- | The ID of the job template that will be deleted.+deleteJobTemplate_id :: Lens.Lens' DeleteJobTemplate Prelude.Text+deleteJobTemplate_id = Lens.lens (\DeleteJobTemplate' {id} -> id) (\s@DeleteJobTemplate' {} a -> s {id = a} :: DeleteJobTemplate)++instance Core.AWSRequest DeleteJobTemplate where+ type+ AWSResponse DeleteJobTemplate =+ DeleteJobTemplateResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteJobTemplateResponse'+ Prelude.<$> (x Data..?> "id")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteJobTemplate where+ hashWithSalt _salt DeleteJobTemplate' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteJobTemplate where+ rnf DeleteJobTemplate' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteJobTemplate where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteJobTemplate where+ toPath DeleteJobTemplate' {..} =+ Prelude.mconcat ["/jobtemplates/", Data.toBS id]++instance Data.ToQuery DeleteJobTemplate where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteJobTemplateResponse' smart constructor.+data DeleteJobTemplateResponse = DeleteJobTemplateResponse'+ { -- | This output contains the ID of the job template that was deleted.+ id :: 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 'DeleteJobTemplateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteJobTemplateResponse_id' - This output contains the ID of the job template that was deleted.+--+-- 'httpStatus', 'deleteJobTemplateResponse_httpStatus' - The response's http status code.+newDeleteJobTemplateResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteJobTemplateResponse+newDeleteJobTemplateResponse pHttpStatus_ =+ DeleteJobTemplateResponse'+ { id = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | This output contains the ID of the job template that was deleted.+deleteJobTemplateResponse_id :: Lens.Lens' DeleteJobTemplateResponse (Prelude.Maybe Prelude.Text)+deleteJobTemplateResponse_id = Lens.lens (\DeleteJobTemplateResponse' {id} -> id) (\s@DeleteJobTemplateResponse' {} a -> s {id = a} :: DeleteJobTemplateResponse)++-- | The response's http status code.+deleteJobTemplateResponse_httpStatus :: Lens.Lens' DeleteJobTemplateResponse Prelude.Int+deleteJobTemplateResponse_httpStatus = Lens.lens (\DeleteJobTemplateResponse' {httpStatus} -> httpStatus) (\s@DeleteJobTemplateResponse' {} a -> s {httpStatus = a} :: DeleteJobTemplateResponse)++instance Prelude.NFData DeleteJobTemplateResponse where+ rnf DeleteJobTemplateResponse' {..} =+ Prelude.rnf id `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/DeleteManagedEndpoint.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.DeleteManagedEndpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a managed endpoint. A managed endpoint is a gateway that+-- connects EMR Studio to Amazon EMR on EKS so that EMR Studio can+-- communicate with your virtual cluster.+module Amazonka.EMRContainers.DeleteManagedEndpoint+ ( -- * Creating a Request+ DeleteManagedEndpoint (..),+ newDeleteManagedEndpoint,++ -- * Request Lenses+ deleteManagedEndpoint_id,+ deleteManagedEndpoint_virtualClusterId,++ -- * Destructuring the Response+ DeleteManagedEndpointResponse (..),+ newDeleteManagedEndpointResponse,++ -- * Response Lenses+ deleteManagedEndpointResponse_id,+ deleteManagedEndpointResponse_virtualClusterId,+ deleteManagedEndpointResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteManagedEndpoint' smart constructor.+data DeleteManagedEndpoint = DeleteManagedEndpoint'+ { -- | The ID of the managed endpoint.+ id :: Prelude.Text,+ -- | The ID of the endpoint\'s virtual cluster.+ virtualClusterId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteManagedEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteManagedEndpoint_id' - The ID of the managed endpoint.+--+-- 'virtualClusterId', 'deleteManagedEndpoint_virtualClusterId' - The ID of the endpoint\'s virtual cluster.+newDeleteManagedEndpoint ::+ -- | 'id'+ Prelude.Text ->+ -- | 'virtualClusterId'+ Prelude.Text ->+ DeleteManagedEndpoint+newDeleteManagedEndpoint pId_ pVirtualClusterId_ =+ DeleteManagedEndpoint'+ { id = pId_,+ virtualClusterId = pVirtualClusterId_+ }++-- | The ID of the managed endpoint.+deleteManagedEndpoint_id :: Lens.Lens' DeleteManagedEndpoint Prelude.Text+deleteManagedEndpoint_id = Lens.lens (\DeleteManagedEndpoint' {id} -> id) (\s@DeleteManagedEndpoint' {} a -> s {id = a} :: DeleteManagedEndpoint)++-- | The ID of the endpoint\'s virtual cluster.+deleteManagedEndpoint_virtualClusterId :: Lens.Lens' DeleteManagedEndpoint Prelude.Text+deleteManagedEndpoint_virtualClusterId = Lens.lens (\DeleteManagedEndpoint' {virtualClusterId} -> virtualClusterId) (\s@DeleteManagedEndpoint' {} a -> s {virtualClusterId = a} :: DeleteManagedEndpoint)++instance Core.AWSRequest DeleteManagedEndpoint where+ type+ AWSResponse DeleteManagedEndpoint =+ DeleteManagedEndpointResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteManagedEndpointResponse'+ Prelude.<$> (x Data..?> "id")+ Prelude.<*> (x Data..?> "virtualClusterId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteManagedEndpoint where+ hashWithSalt _salt DeleteManagedEndpoint' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` virtualClusterId++instance Prelude.NFData DeleteManagedEndpoint where+ rnf DeleteManagedEndpoint' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf virtualClusterId++instance Data.ToHeaders DeleteManagedEndpoint where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteManagedEndpoint where+ toPath DeleteManagedEndpoint' {..} =+ Prelude.mconcat+ [ "/virtualclusters/",+ Data.toBS virtualClusterId,+ "/endpoints/",+ Data.toBS id+ ]++instance Data.ToQuery DeleteManagedEndpoint where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteManagedEndpointResponse' smart constructor.+data DeleteManagedEndpointResponse = DeleteManagedEndpointResponse'+ { -- | The output displays the ID of the managed endpoint.+ id :: Prelude.Maybe Prelude.Text,+ -- | The output displays the ID of the endpoint\'s virtual cluster.+ virtualClusterId :: 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 'DeleteManagedEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteManagedEndpointResponse_id' - The output displays the ID of the managed endpoint.+--+-- 'virtualClusterId', 'deleteManagedEndpointResponse_virtualClusterId' - The output displays the ID of the endpoint\'s virtual cluster.+--+-- 'httpStatus', 'deleteManagedEndpointResponse_httpStatus' - The response's http status code.+newDeleteManagedEndpointResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteManagedEndpointResponse+newDeleteManagedEndpointResponse pHttpStatus_ =+ DeleteManagedEndpointResponse'+ { id =+ Prelude.Nothing,+ virtualClusterId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The output displays the ID of the managed endpoint.+deleteManagedEndpointResponse_id :: Lens.Lens' DeleteManagedEndpointResponse (Prelude.Maybe Prelude.Text)+deleteManagedEndpointResponse_id = Lens.lens (\DeleteManagedEndpointResponse' {id} -> id) (\s@DeleteManagedEndpointResponse' {} a -> s {id = a} :: DeleteManagedEndpointResponse)++-- | The output displays the ID of the endpoint\'s virtual cluster.+deleteManagedEndpointResponse_virtualClusterId :: Lens.Lens' DeleteManagedEndpointResponse (Prelude.Maybe Prelude.Text)+deleteManagedEndpointResponse_virtualClusterId = Lens.lens (\DeleteManagedEndpointResponse' {virtualClusterId} -> virtualClusterId) (\s@DeleteManagedEndpointResponse' {} a -> s {virtualClusterId = a} :: DeleteManagedEndpointResponse)++-- | The response's http status code.+deleteManagedEndpointResponse_httpStatus :: Lens.Lens' DeleteManagedEndpointResponse Prelude.Int+deleteManagedEndpointResponse_httpStatus = Lens.lens (\DeleteManagedEndpointResponse' {httpStatus} -> httpStatus) (\s@DeleteManagedEndpointResponse' {} a -> s {httpStatus = a} :: DeleteManagedEndpointResponse)++instance Prelude.NFData DeleteManagedEndpointResponse where+ rnf DeleteManagedEndpointResponse' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf virtualClusterId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/DeleteVirtualCluster.hs view
@@ -0,0 +1,161 @@+{-# 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.EMRContainers.DeleteVirtualCluster+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a virtual cluster. Virtual cluster is a managed entity on Amazon+-- EMR on EKS. You can create, describe, list and delete virtual clusters.+-- They do not consume any additional resource in your system. A single+-- virtual cluster maps to a single Kubernetes namespace. Given this+-- relationship, you can model virtual clusters the same way you model+-- Kubernetes namespaces to meet your requirements.+module Amazonka.EMRContainers.DeleteVirtualCluster+ ( -- * Creating a Request+ DeleteVirtualCluster (..),+ newDeleteVirtualCluster,++ -- * Request Lenses+ deleteVirtualCluster_id,++ -- * Destructuring the Response+ DeleteVirtualClusterResponse (..),+ newDeleteVirtualClusterResponse,++ -- * Response Lenses+ deleteVirtualClusterResponse_id,+ deleteVirtualClusterResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteVirtualCluster' smart constructor.+data DeleteVirtualCluster = DeleteVirtualCluster'+ { -- | The ID of the virtual cluster that will be deleted.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVirtualCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteVirtualCluster_id' - The ID of the virtual cluster that will be deleted.+newDeleteVirtualCluster ::+ -- | 'id'+ Prelude.Text ->+ DeleteVirtualCluster+newDeleteVirtualCluster pId_ =+ DeleteVirtualCluster' {id = pId_}++-- | The ID of the virtual cluster that will be deleted.+deleteVirtualCluster_id :: Lens.Lens' DeleteVirtualCluster Prelude.Text+deleteVirtualCluster_id = Lens.lens (\DeleteVirtualCluster' {id} -> id) (\s@DeleteVirtualCluster' {} a -> s {id = a} :: DeleteVirtualCluster)++instance Core.AWSRequest DeleteVirtualCluster where+ type+ AWSResponse DeleteVirtualCluster =+ DeleteVirtualClusterResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteVirtualClusterResponse'+ Prelude.<$> (x Data..?> "id")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteVirtualCluster where+ hashWithSalt _salt DeleteVirtualCluster' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteVirtualCluster where+ rnf DeleteVirtualCluster' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteVirtualCluster where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteVirtualCluster where+ toPath DeleteVirtualCluster' {..} =+ Prelude.mconcat ["/virtualclusters/", Data.toBS id]++instance Data.ToQuery DeleteVirtualCluster where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVirtualClusterResponse' smart constructor.+data DeleteVirtualClusterResponse = DeleteVirtualClusterResponse'+ { -- | This output contains the ID of the virtual cluster that will be deleted.+ id :: 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 'DeleteVirtualClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteVirtualClusterResponse_id' - This output contains the ID of the virtual cluster that will be deleted.+--+-- 'httpStatus', 'deleteVirtualClusterResponse_httpStatus' - The response's http status code.+newDeleteVirtualClusterResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteVirtualClusterResponse+newDeleteVirtualClusterResponse pHttpStatus_ =+ DeleteVirtualClusterResponse'+ { id = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | This output contains the ID of the virtual cluster that will be deleted.+deleteVirtualClusterResponse_id :: Lens.Lens' DeleteVirtualClusterResponse (Prelude.Maybe Prelude.Text)+deleteVirtualClusterResponse_id = Lens.lens (\DeleteVirtualClusterResponse' {id} -> id) (\s@DeleteVirtualClusterResponse' {} a -> s {id = a} :: DeleteVirtualClusterResponse)++-- | The response's http status code.+deleteVirtualClusterResponse_httpStatus :: Lens.Lens' DeleteVirtualClusterResponse Prelude.Int+deleteVirtualClusterResponse_httpStatus = Lens.lens (\DeleteVirtualClusterResponse' {httpStatus} -> httpStatus) (\s@DeleteVirtualClusterResponse' {} a -> s {httpStatus = a} :: DeleteVirtualClusterResponse)++instance Prelude.NFData DeleteVirtualClusterResponse where+ rnf DeleteVirtualClusterResponse' {..} =+ Prelude.rnf id `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/DescribeJobRun.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.DescribeJobRun+-- 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. A job run is a unit of+-- work, such as a Spark jar, PySpark script, or SparkSQL query, that you+-- submit to Amazon EMR on EKS.+module Amazonka.EMRContainers.DescribeJobRun+ ( -- * Creating a Request+ DescribeJobRun (..),+ newDescribeJobRun,++ -- * Request Lenses+ describeJobRun_id,+ describeJobRun_virtualClusterId,++ -- * Destructuring the Response+ DescribeJobRunResponse (..),+ newDescribeJobRunResponse,++ -- * Response Lenses+ describeJobRunResponse_jobRun,+ describeJobRunResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeJobRun' smart constructor.+data DescribeJobRun = DescribeJobRun'+ { -- | The ID of the job run request.+ id :: Prelude.Text,+ -- | The ID of the virtual cluster for which the job run is submitted.+ virtualClusterId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeJobRun' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'describeJobRun_id' - The ID of the job run request.+--+-- 'virtualClusterId', 'describeJobRun_virtualClusterId' - The ID of the virtual cluster for which the job run is submitted.+newDescribeJobRun ::+ -- | 'id'+ Prelude.Text ->+ -- | 'virtualClusterId'+ Prelude.Text ->+ DescribeJobRun+newDescribeJobRun pId_ pVirtualClusterId_ =+ DescribeJobRun'+ { id = pId_,+ virtualClusterId = pVirtualClusterId_+ }++-- | The ID of the job run request.+describeJobRun_id :: Lens.Lens' DescribeJobRun Prelude.Text+describeJobRun_id = Lens.lens (\DescribeJobRun' {id} -> id) (\s@DescribeJobRun' {} a -> s {id = a} :: DescribeJobRun)++-- | The ID of the virtual cluster for which the job run is submitted.+describeJobRun_virtualClusterId :: Lens.Lens' DescribeJobRun Prelude.Text+describeJobRun_virtualClusterId = Lens.lens (\DescribeJobRun' {virtualClusterId} -> virtualClusterId) (\s@DescribeJobRun' {} a -> s {virtualClusterId = a} :: DescribeJobRun)++instance Core.AWSRequest DescribeJobRun where+ type+ AWSResponse DescribeJobRun =+ DescribeJobRunResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeJobRunResponse'+ Prelude.<$> (x Data..?> "jobRun")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeJobRun where+ hashWithSalt _salt DescribeJobRun' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` virtualClusterId++instance Prelude.NFData DescribeJobRun where+ rnf DescribeJobRun' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf virtualClusterId++instance Data.ToHeaders DescribeJobRun where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeJobRun where+ toPath DescribeJobRun' {..} =+ Prelude.mconcat+ [ "/virtualclusters/",+ Data.toBS virtualClusterId,+ "/jobruns/",+ Data.toBS id+ ]++instance Data.ToQuery DescribeJobRun where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeJobRunResponse' smart constructor.+data DescribeJobRunResponse = DescribeJobRunResponse'+ { -- | The output displays information about a job run.+ jobRun :: Prelude.Maybe JobRun,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeJobRunResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobRun', 'describeJobRunResponse_jobRun' - The output displays information about a job run.+--+-- 'httpStatus', 'describeJobRunResponse_httpStatus' - The response's http status code.+newDescribeJobRunResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeJobRunResponse+newDescribeJobRunResponse pHttpStatus_ =+ DescribeJobRunResponse'+ { jobRun = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The output displays information about a job run.+describeJobRunResponse_jobRun :: Lens.Lens' DescribeJobRunResponse (Prelude.Maybe JobRun)+describeJobRunResponse_jobRun = Lens.lens (\DescribeJobRunResponse' {jobRun} -> jobRun) (\s@DescribeJobRunResponse' {} a -> s {jobRun = a} :: DescribeJobRunResponse)++-- | The response's http status code.+describeJobRunResponse_httpStatus :: Lens.Lens' DescribeJobRunResponse Prelude.Int+describeJobRunResponse_httpStatus = Lens.lens (\DescribeJobRunResponse' {httpStatus} -> httpStatus) (\s@DescribeJobRunResponse' {} a -> s {httpStatus = a} :: DescribeJobRunResponse)++instance Prelude.NFData DescribeJobRunResponse where+ rnf DescribeJobRunResponse' {..} =+ Prelude.rnf jobRun+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/DescribeJobTemplate.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.DescribeJobTemplate+-- 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 job template. Job+-- template stores values of StartJobRun API request in a template and can+-- be used to start a job run. Job template allows two use cases: avoid+-- repeating recurring StartJobRun API request values, enforcing certain+-- values in StartJobRun API request.+module Amazonka.EMRContainers.DescribeJobTemplate+ ( -- * Creating a Request+ DescribeJobTemplate (..),+ newDescribeJobTemplate,++ -- * Request Lenses+ describeJobTemplate_id,++ -- * Destructuring the Response+ DescribeJobTemplateResponse (..),+ newDescribeJobTemplateResponse,++ -- * Response Lenses+ describeJobTemplateResponse_jobTemplate,+ describeJobTemplateResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeJobTemplate' smart constructor.+data DescribeJobTemplate = DescribeJobTemplate'+ { -- | The ID of the job template that will be described.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeJobTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'describeJobTemplate_id' - The ID of the job template that will be described.+newDescribeJobTemplate ::+ -- | 'id'+ Prelude.Text ->+ DescribeJobTemplate+newDescribeJobTemplate pId_ =+ DescribeJobTemplate' {id = pId_}++-- | The ID of the job template that will be described.+describeJobTemplate_id :: Lens.Lens' DescribeJobTemplate Prelude.Text+describeJobTemplate_id = Lens.lens (\DescribeJobTemplate' {id} -> id) (\s@DescribeJobTemplate' {} a -> s {id = a} :: DescribeJobTemplate)++instance Core.AWSRequest DescribeJobTemplate where+ type+ AWSResponse DescribeJobTemplate =+ DescribeJobTemplateResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeJobTemplateResponse'+ Prelude.<$> (x Data..?> "jobTemplate")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeJobTemplate where+ hashWithSalt _salt DescribeJobTemplate' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DescribeJobTemplate where+ rnf DescribeJobTemplate' {..} = Prelude.rnf id++instance Data.ToHeaders DescribeJobTemplate where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeJobTemplate where+ toPath DescribeJobTemplate' {..} =+ Prelude.mconcat ["/jobtemplates/", Data.toBS id]++instance Data.ToQuery DescribeJobTemplate where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeJobTemplateResponse' smart constructor.+data DescribeJobTemplateResponse = DescribeJobTemplateResponse'+ { -- | This output displays information about the specified job template.+ jobTemplate :: Prelude.Maybe JobTemplate,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeJobTemplateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobTemplate', 'describeJobTemplateResponse_jobTemplate' - This output displays information about the specified job template.+--+-- 'httpStatus', 'describeJobTemplateResponse_httpStatus' - The response's http status code.+newDescribeJobTemplateResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeJobTemplateResponse+newDescribeJobTemplateResponse pHttpStatus_ =+ DescribeJobTemplateResponse'+ { jobTemplate =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | This output displays information about the specified job template.+describeJobTemplateResponse_jobTemplate :: Lens.Lens' DescribeJobTemplateResponse (Prelude.Maybe JobTemplate)+describeJobTemplateResponse_jobTemplate = Lens.lens (\DescribeJobTemplateResponse' {jobTemplate} -> jobTemplate) (\s@DescribeJobTemplateResponse' {} a -> s {jobTemplate = a} :: DescribeJobTemplateResponse)++-- | The response's http status code.+describeJobTemplateResponse_httpStatus :: Lens.Lens' DescribeJobTemplateResponse Prelude.Int+describeJobTemplateResponse_httpStatus = Lens.lens (\DescribeJobTemplateResponse' {httpStatus} -> httpStatus) (\s@DescribeJobTemplateResponse' {} a -> s {httpStatus = a} :: DescribeJobTemplateResponse)++instance Prelude.NFData DescribeJobTemplateResponse where+ rnf DescribeJobTemplateResponse' {..} =+ Prelude.rnf jobTemplate+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/DescribeManagedEndpoint.hs view
@@ -0,0 +1,186 @@+{-# 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.EMRContainers.DescribeManagedEndpoint+-- 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 managed endpoint. A managed+-- endpoint is a gateway that connects EMR Studio to Amazon EMR on EKS so+-- that EMR Studio can communicate with your virtual cluster.+module Amazonka.EMRContainers.DescribeManagedEndpoint+ ( -- * Creating a Request+ DescribeManagedEndpoint (..),+ newDescribeManagedEndpoint,++ -- * Request Lenses+ describeManagedEndpoint_id,+ describeManagedEndpoint_virtualClusterId,++ -- * Destructuring the Response+ DescribeManagedEndpointResponse (..),+ newDescribeManagedEndpointResponse,++ -- * Response Lenses+ describeManagedEndpointResponse_endpoint,+ describeManagedEndpointResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeManagedEndpoint' smart constructor.+data DescribeManagedEndpoint = DescribeManagedEndpoint'+ { -- | This output displays ID of the managed endpoint.+ id :: Prelude.Text,+ -- | The ID of the endpoint\'s virtual cluster.+ virtualClusterId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeManagedEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'describeManagedEndpoint_id' - This output displays ID of the managed endpoint.+--+-- 'virtualClusterId', 'describeManagedEndpoint_virtualClusterId' - The ID of the endpoint\'s virtual cluster.+newDescribeManagedEndpoint ::+ -- | 'id'+ Prelude.Text ->+ -- | 'virtualClusterId'+ Prelude.Text ->+ DescribeManagedEndpoint+newDescribeManagedEndpoint pId_ pVirtualClusterId_ =+ DescribeManagedEndpoint'+ { id = pId_,+ virtualClusterId = pVirtualClusterId_+ }++-- | This output displays ID of the managed endpoint.+describeManagedEndpoint_id :: Lens.Lens' DescribeManagedEndpoint Prelude.Text+describeManagedEndpoint_id = Lens.lens (\DescribeManagedEndpoint' {id} -> id) (\s@DescribeManagedEndpoint' {} a -> s {id = a} :: DescribeManagedEndpoint)++-- | The ID of the endpoint\'s virtual cluster.+describeManagedEndpoint_virtualClusterId :: Lens.Lens' DescribeManagedEndpoint Prelude.Text+describeManagedEndpoint_virtualClusterId = Lens.lens (\DescribeManagedEndpoint' {virtualClusterId} -> virtualClusterId) (\s@DescribeManagedEndpoint' {} a -> s {virtualClusterId = a} :: DescribeManagedEndpoint)++instance Core.AWSRequest DescribeManagedEndpoint where+ type+ AWSResponse DescribeManagedEndpoint =+ DescribeManagedEndpointResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeManagedEndpointResponse'+ Prelude.<$> (x Data..?> "endpoint")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeManagedEndpoint where+ hashWithSalt _salt DescribeManagedEndpoint' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` virtualClusterId++instance Prelude.NFData DescribeManagedEndpoint where+ rnf DescribeManagedEndpoint' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf virtualClusterId++instance Data.ToHeaders DescribeManagedEndpoint where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeManagedEndpoint where+ toPath DescribeManagedEndpoint' {..} =+ Prelude.mconcat+ [ "/virtualclusters/",+ Data.toBS virtualClusterId,+ "/endpoints/",+ Data.toBS id+ ]++instance Data.ToQuery DescribeManagedEndpoint where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeManagedEndpointResponse' smart constructor.+data DescribeManagedEndpointResponse = DescribeManagedEndpointResponse'+ { -- | This output displays information about a managed endpoint.+ endpoint :: Prelude.Maybe Endpoint,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeManagedEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endpoint', 'describeManagedEndpointResponse_endpoint' - This output displays information about a managed endpoint.+--+-- 'httpStatus', 'describeManagedEndpointResponse_httpStatus' - The response's http status code.+newDescribeManagedEndpointResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeManagedEndpointResponse+newDescribeManagedEndpointResponse pHttpStatus_ =+ DescribeManagedEndpointResponse'+ { endpoint =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | This output displays information about a managed endpoint.+describeManagedEndpointResponse_endpoint :: Lens.Lens' DescribeManagedEndpointResponse (Prelude.Maybe Endpoint)+describeManagedEndpointResponse_endpoint = Lens.lens (\DescribeManagedEndpointResponse' {endpoint} -> endpoint) (\s@DescribeManagedEndpointResponse' {} a -> s {endpoint = a} :: DescribeManagedEndpointResponse)++-- | The response's http status code.+describeManagedEndpointResponse_httpStatus :: Lens.Lens' DescribeManagedEndpointResponse Prelude.Int+describeManagedEndpointResponse_httpStatus = Lens.lens (\DescribeManagedEndpointResponse' {httpStatus} -> httpStatus) (\s@DescribeManagedEndpointResponse' {} a -> s {httpStatus = a} :: DescribeManagedEndpointResponse)++instance+ Prelude.NFData+ DescribeManagedEndpointResponse+ where+ rnf DescribeManagedEndpointResponse' {..} =+ Prelude.rnf endpoint+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/DescribeVirtualCluster.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.DescribeVirtualCluster+-- 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 virtual cluster. Virtual+-- cluster is a managed entity on Amazon EMR on EKS. You can create,+-- describe, list and delete virtual clusters. They do not consume any+-- additional resource in your system. A single virtual cluster maps to a+-- single Kubernetes namespace. Given this relationship, you can model+-- virtual clusters the same way you model Kubernetes namespaces to meet+-- your requirements.+module Amazonka.EMRContainers.DescribeVirtualCluster+ ( -- * Creating a Request+ DescribeVirtualCluster (..),+ newDescribeVirtualCluster,++ -- * Request Lenses+ describeVirtualCluster_id,++ -- * Destructuring the Response+ DescribeVirtualClusterResponse (..),+ newDescribeVirtualClusterResponse,++ -- * Response Lenses+ describeVirtualClusterResponse_virtualCluster,+ describeVirtualClusterResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeVirtualCluster' smart constructor.+data DescribeVirtualCluster = DescribeVirtualCluster'+ { -- | The ID of the virtual cluster that will be described.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeVirtualCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'describeVirtualCluster_id' - The ID of the virtual cluster that will be described.+newDescribeVirtualCluster ::+ -- | 'id'+ Prelude.Text ->+ DescribeVirtualCluster+newDescribeVirtualCluster pId_ =+ DescribeVirtualCluster' {id = pId_}++-- | The ID of the virtual cluster that will be described.+describeVirtualCluster_id :: Lens.Lens' DescribeVirtualCluster Prelude.Text+describeVirtualCluster_id = Lens.lens (\DescribeVirtualCluster' {id} -> id) (\s@DescribeVirtualCluster' {} a -> s {id = a} :: DescribeVirtualCluster)++instance Core.AWSRequest DescribeVirtualCluster where+ type+ AWSResponse DescribeVirtualCluster =+ DescribeVirtualClusterResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeVirtualClusterResponse'+ Prelude.<$> (x Data..?> "virtualCluster")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeVirtualCluster where+ hashWithSalt _salt DescribeVirtualCluster' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DescribeVirtualCluster where+ rnf DescribeVirtualCluster' {..} = Prelude.rnf id++instance Data.ToHeaders DescribeVirtualCluster where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeVirtualCluster where+ toPath DescribeVirtualCluster' {..} =+ Prelude.mconcat ["/virtualclusters/", Data.toBS id]++instance Data.ToQuery DescribeVirtualCluster where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeVirtualClusterResponse' smart constructor.+data DescribeVirtualClusterResponse = DescribeVirtualClusterResponse'+ { -- | This output displays information about the specified virtual cluster.+ virtualCluster :: Prelude.Maybe VirtualCluster,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeVirtualClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'virtualCluster', 'describeVirtualClusterResponse_virtualCluster' - This output displays information about the specified virtual cluster.+--+-- 'httpStatus', 'describeVirtualClusterResponse_httpStatus' - The response's http status code.+newDescribeVirtualClusterResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeVirtualClusterResponse+newDescribeVirtualClusterResponse pHttpStatus_ =+ DescribeVirtualClusterResponse'+ { virtualCluster =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | This output displays information about the specified virtual cluster.+describeVirtualClusterResponse_virtualCluster :: Lens.Lens' DescribeVirtualClusterResponse (Prelude.Maybe VirtualCluster)+describeVirtualClusterResponse_virtualCluster = Lens.lens (\DescribeVirtualClusterResponse' {virtualCluster} -> virtualCluster) (\s@DescribeVirtualClusterResponse' {} a -> s {virtualCluster = a} :: DescribeVirtualClusterResponse)++-- | The response's http status code.+describeVirtualClusterResponse_httpStatus :: Lens.Lens' DescribeVirtualClusterResponse Prelude.Int+describeVirtualClusterResponse_httpStatus = Lens.lens (\DescribeVirtualClusterResponse' {httpStatus} -> httpStatus) (\s@DescribeVirtualClusterResponse' {} a -> s {httpStatus = a} :: DescribeVirtualClusterResponse)++instance+ Prelude.NFData+ DescribeVirtualClusterResponse+ where+ rnf DescribeVirtualClusterResponse' {..} =+ Prelude.rnf virtualCluster+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/Lens.hs view
@@ -0,0 +1,357 @@+{-# 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.EMRContainers.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.EMRContainers.Lens+ ( -- * Operations++ -- ** CancelJobRun+ cancelJobRun_id,+ cancelJobRun_virtualClusterId,+ cancelJobRunResponse_id,+ cancelJobRunResponse_virtualClusterId,+ cancelJobRunResponse_httpStatus,++ -- ** CreateJobTemplate+ createJobTemplate_kmsKeyArn,+ createJobTemplate_tags,+ createJobTemplate_name,+ createJobTemplate_clientToken,+ createJobTemplate_jobTemplateData,+ createJobTemplateResponse_arn,+ createJobTemplateResponse_createdAt,+ createJobTemplateResponse_id,+ createJobTemplateResponse_name,+ createJobTemplateResponse_httpStatus,++ -- ** CreateManagedEndpoint+ createManagedEndpoint_certificateArn,+ createManagedEndpoint_configurationOverrides,+ createManagedEndpoint_tags,+ createManagedEndpoint_name,+ createManagedEndpoint_virtualClusterId,+ createManagedEndpoint_type,+ createManagedEndpoint_releaseLabel,+ createManagedEndpoint_executionRoleArn,+ createManagedEndpoint_clientToken,+ createManagedEndpointResponse_arn,+ createManagedEndpointResponse_id,+ createManagedEndpointResponse_name,+ createManagedEndpointResponse_virtualClusterId,+ createManagedEndpointResponse_httpStatus,++ -- ** CreateVirtualCluster+ createVirtualCluster_tags,+ createVirtualCluster_name,+ createVirtualCluster_containerProvider,+ createVirtualCluster_clientToken,+ createVirtualClusterResponse_arn,+ createVirtualClusterResponse_id,+ createVirtualClusterResponse_name,+ createVirtualClusterResponse_httpStatus,++ -- ** DeleteJobTemplate+ deleteJobTemplate_id,+ deleteJobTemplateResponse_id,+ deleteJobTemplateResponse_httpStatus,++ -- ** DeleteManagedEndpoint+ deleteManagedEndpoint_id,+ deleteManagedEndpoint_virtualClusterId,+ deleteManagedEndpointResponse_id,+ deleteManagedEndpointResponse_virtualClusterId,+ deleteManagedEndpointResponse_httpStatus,++ -- ** DeleteVirtualCluster+ deleteVirtualCluster_id,+ deleteVirtualClusterResponse_id,+ deleteVirtualClusterResponse_httpStatus,++ -- ** DescribeJobRun+ describeJobRun_id,+ describeJobRun_virtualClusterId,+ describeJobRunResponse_jobRun,+ describeJobRunResponse_httpStatus,++ -- ** DescribeJobTemplate+ describeJobTemplate_id,+ describeJobTemplateResponse_jobTemplate,+ describeJobTemplateResponse_httpStatus,++ -- ** DescribeManagedEndpoint+ describeManagedEndpoint_id,+ describeManagedEndpoint_virtualClusterId,+ describeManagedEndpointResponse_endpoint,+ describeManagedEndpointResponse_httpStatus,++ -- ** DescribeVirtualCluster+ describeVirtualCluster_id,+ describeVirtualClusterResponse_virtualCluster,+ describeVirtualClusterResponse_httpStatus,++ -- ** ListJobRuns+ listJobRuns_createdAfter,+ listJobRuns_createdBefore,+ listJobRuns_maxResults,+ listJobRuns_name,+ listJobRuns_nextToken,+ listJobRuns_states,+ listJobRuns_virtualClusterId,+ listJobRunsResponse_jobRuns,+ listJobRunsResponse_nextToken,+ listJobRunsResponse_httpStatus,++ -- ** ListJobTemplates+ listJobTemplates_createdAfter,+ listJobTemplates_createdBefore,+ listJobTemplates_maxResults,+ listJobTemplates_nextToken,+ listJobTemplatesResponse_nextToken,+ listJobTemplatesResponse_templates,+ listJobTemplatesResponse_httpStatus,++ -- ** ListManagedEndpoints+ listManagedEndpoints_createdAfter,+ listManagedEndpoints_createdBefore,+ listManagedEndpoints_maxResults,+ listManagedEndpoints_nextToken,+ listManagedEndpoints_states,+ listManagedEndpoints_types,+ listManagedEndpoints_virtualClusterId,+ listManagedEndpointsResponse_endpoints,+ listManagedEndpointsResponse_nextToken,+ listManagedEndpointsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** ListVirtualClusters+ listVirtualClusters_containerProviderId,+ listVirtualClusters_containerProviderType,+ listVirtualClusters_createdAfter,+ listVirtualClusters_createdBefore,+ listVirtualClusters_maxResults,+ listVirtualClusters_nextToken,+ listVirtualClusters_states,+ listVirtualClustersResponse_nextToken,+ listVirtualClustersResponse_virtualClusters,+ listVirtualClustersResponse_httpStatus,++ -- ** StartJobRun+ startJobRun_configurationOverrides,+ startJobRun_executionRoleArn,+ startJobRun_jobDriver,+ startJobRun_jobTemplateId,+ startJobRun_jobTemplateParameters,+ startJobRun_name,+ startJobRun_releaseLabel,+ startJobRun_tags,+ startJobRun_virtualClusterId,+ startJobRun_clientToken,+ startJobRunResponse_arn,+ startJobRunResponse_id,+ startJobRunResponse_name,+ startJobRunResponse_virtualClusterId,+ startJobRunResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- * Types++ -- ** Certificate+ certificate_certificateArn,+ certificate_certificateData,++ -- ** CloudWatchMonitoringConfiguration+ cloudWatchMonitoringConfiguration_logStreamNamePrefix,+ cloudWatchMonitoringConfiguration_logGroupName,++ -- ** Configuration+ configuration_configurations,+ configuration_properties,+ configuration_classification,++ -- ** ConfigurationOverrides+ configurationOverrides_applicationConfiguration,+ configurationOverrides_monitoringConfiguration,++ -- ** ContainerInfo+ containerInfo_eksInfo,++ -- ** ContainerProvider+ containerProvider_info,+ containerProvider_type,+ containerProvider_id,++ -- ** EksInfo+ eksInfo_namespace,++ -- ** Endpoint+ endpoint_arn,+ endpoint_certificateArn,+ endpoint_certificateAuthority,+ endpoint_configurationOverrides,+ endpoint_createdAt,+ endpoint_executionRoleArn,+ endpoint_failureReason,+ endpoint_id,+ endpoint_name,+ endpoint_releaseLabel,+ endpoint_securityGroup,+ endpoint_serverUrl,+ endpoint_state,+ endpoint_stateDetails,+ endpoint_subnetIds,+ endpoint_tags,+ endpoint_type,+ endpoint_virtualClusterId,++ -- ** JobDriver+ jobDriver_sparkSqlJobDriver,+ jobDriver_sparkSubmitJobDriver,++ -- ** JobRun+ jobRun_arn,+ jobRun_clientToken,+ jobRun_configurationOverrides,+ jobRun_createdAt,+ jobRun_createdBy,+ jobRun_executionRoleArn,+ jobRun_failureReason,+ jobRun_finishedAt,+ jobRun_id,+ jobRun_jobDriver,+ jobRun_name,+ jobRun_releaseLabel,+ jobRun_state,+ jobRun_stateDetails,+ jobRun_tags,+ jobRun_virtualClusterId,++ -- ** JobTemplate+ jobTemplate_arn,+ jobTemplate_createdAt,+ jobTemplate_createdBy,+ jobTemplate_decryptionError,+ jobTemplate_id,+ jobTemplate_kmsKeyArn,+ jobTemplate_name,+ jobTemplate_tags,+ jobTemplate_jobTemplateData,++ -- ** JobTemplateData+ jobTemplateData_configurationOverrides,+ jobTemplateData_jobTags,+ jobTemplateData_parameterConfiguration,+ jobTemplateData_executionRoleArn,+ jobTemplateData_releaseLabel,+ jobTemplateData_jobDriver,++ -- ** MonitoringConfiguration+ monitoringConfiguration_cloudWatchMonitoringConfiguration,+ monitoringConfiguration_persistentAppUI,+ monitoringConfiguration_s3MonitoringConfiguration,++ -- ** ParametricCloudWatchMonitoringConfiguration+ parametricCloudWatchMonitoringConfiguration_logGroupName,+ parametricCloudWatchMonitoringConfiguration_logStreamNamePrefix,++ -- ** ParametricConfigurationOverrides+ parametricConfigurationOverrides_applicationConfiguration,+ parametricConfigurationOverrides_monitoringConfiguration,++ -- ** ParametricMonitoringConfiguration+ parametricMonitoringConfiguration_cloudWatchMonitoringConfiguration,+ parametricMonitoringConfiguration_persistentAppUI,+ parametricMonitoringConfiguration_s3MonitoringConfiguration,++ -- ** ParametricS3MonitoringConfiguration+ parametricS3MonitoringConfiguration_logUri,++ -- ** S3MonitoringConfiguration+ s3MonitoringConfiguration_logUri,++ -- ** SparkSqlJobDriver+ sparkSqlJobDriver_entryPoint,+ sparkSqlJobDriver_sparkSqlParameters,++ -- ** SparkSubmitJobDriver+ sparkSubmitJobDriver_entryPointArguments,+ sparkSubmitJobDriver_sparkSubmitParameters,+ sparkSubmitJobDriver_entryPoint,++ -- ** TemplateParameterConfiguration+ templateParameterConfiguration_defaultValue,+ templateParameterConfiguration_type,++ -- ** VirtualCluster+ virtualCluster_arn,+ virtualCluster_containerProvider,+ virtualCluster_createdAt,+ virtualCluster_id,+ virtualCluster_name,+ virtualCluster_state,+ virtualCluster_tags,+ )+where++import Amazonka.EMRContainers.CancelJobRun+import Amazonka.EMRContainers.CreateJobTemplate+import Amazonka.EMRContainers.CreateManagedEndpoint+import Amazonka.EMRContainers.CreateVirtualCluster+import Amazonka.EMRContainers.DeleteJobTemplate+import Amazonka.EMRContainers.DeleteManagedEndpoint+import Amazonka.EMRContainers.DeleteVirtualCluster+import Amazonka.EMRContainers.DescribeJobRun+import Amazonka.EMRContainers.DescribeJobTemplate+import Amazonka.EMRContainers.DescribeManagedEndpoint+import Amazonka.EMRContainers.DescribeVirtualCluster+import Amazonka.EMRContainers.ListJobRuns+import Amazonka.EMRContainers.ListJobTemplates+import Amazonka.EMRContainers.ListManagedEndpoints+import Amazonka.EMRContainers.ListTagsForResource+import Amazonka.EMRContainers.ListVirtualClusters+import Amazonka.EMRContainers.StartJobRun+import Amazonka.EMRContainers.TagResource+import Amazonka.EMRContainers.Types.Certificate+import Amazonka.EMRContainers.Types.CloudWatchMonitoringConfiguration+import Amazonka.EMRContainers.Types.Configuration+import Amazonka.EMRContainers.Types.ConfigurationOverrides+import Amazonka.EMRContainers.Types.ContainerInfo+import Amazonka.EMRContainers.Types.ContainerProvider+import Amazonka.EMRContainers.Types.EksInfo+import Amazonka.EMRContainers.Types.Endpoint+import Amazonka.EMRContainers.Types.JobDriver+import Amazonka.EMRContainers.Types.JobRun+import Amazonka.EMRContainers.Types.JobTemplate+import Amazonka.EMRContainers.Types.JobTemplateData+import Amazonka.EMRContainers.Types.MonitoringConfiguration+import Amazonka.EMRContainers.Types.ParametricCloudWatchMonitoringConfiguration+import Amazonka.EMRContainers.Types.ParametricConfigurationOverrides+import Amazonka.EMRContainers.Types.ParametricMonitoringConfiguration+import Amazonka.EMRContainers.Types.ParametricS3MonitoringConfiguration+import Amazonka.EMRContainers.Types.S3MonitoringConfiguration+import Amazonka.EMRContainers.Types.SparkSqlJobDriver+import Amazonka.EMRContainers.Types.SparkSubmitJobDriver+import Amazonka.EMRContainers.Types.TemplateParameterConfiguration+import Amazonka.EMRContainers.Types.VirtualCluster+import Amazonka.EMRContainers.UntagResource
+ gen/Amazonka/EMRContainers/ListJobRuns.hs view
@@ -0,0 +1,283 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.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. A job run is a unit of+-- work, such as a Spark jar, PySpark script, or SparkSQL query, that you+-- submit to Amazon EMR on EKS.+--+-- This operation returns paginated results.+module Amazonka.EMRContainers.ListJobRuns+ ( -- * Creating a Request+ ListJobRuns (..),+ newListJobRuns,++ -- * Request Lenses+ listJobRuns_createdAfter,+ listJobRuns_createdBefore,+ listJobRuns_maxResults,+ listJobRuns_name,+ listJobRuns_nextToken,+ listJobRuns_states,+ listJobRuns_virtualClusterId,++ -- * Destructuring the Response+ ListJobRunsResponse (..),+ newListJobRunsResponse,++ -- * Response Lenses+ listJobRunsResponse_jobRuns,+ listJobRunsResponse_nextToken,+ listJobRunsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.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 date and time after which the job runs were submitted.+ createdAfter :: Prelude.Maybe Data.ISO8601,+ -- | The date and time before which the job runs were submitted.+ createdBefore :: Prelude.Maybe Data.ISO8601,+ -- | The maximum number of job runs that can be listed.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | The name of the job run.+ name :: Prelude.Maybe Prelude.Text,+ -- | The token for the next set of job runs to return.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The states of the job run.+ states :: Prelude.Maybe [JobRunState],+ -- | The ID of the virtual cluster for which to list the job run.+ virtualClusterId :: 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:+--+-- 'createdAfter', 'listJobRuns_createdAfter' - The date and time after which the job runs were submitted.+--+-- 'createdBefore', 'listJobRuns_createdBefore' - The date and time before which the job runs were submitted.+--+-- 'maxResults', 'listJobRuns_maxResults' - The maximum number of job runs that can be listed.+--+-- 'name', 'listJobRuns_name' - The name of the job run.+--+-- 'nextToken', 'listJobRuns_nextToken' - The token for the next set of job runs to return.+--+-- 'states', 'listJobRuns_states' - The states of the job run.+--+-- 'virtualClusterId', 'listJobRuns_virtualClusterId' - The ID of the virtual cluster for which to list the job run.+newListJobRuns ::+ -- | 'virtualClusterId'+ Prelude.Text ->+ ListJobRuns+newListJobRuns pVirtualClusterId_ =+ ListJobRuns'+ { createdAfter = Prelude.Nothing,+ createdBefore = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ name = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ states = Prelude.Nothing,+ virtualClusterId = pVirtualClusterId_+ }++-- | The date and time after which the job runs were submitted.+listJobRuns_createdAfter :: Lens.Lens' ListJobRuns (Prelude.Maybe Prelude.UTCTime)+listJobRuns_createdAfter = Lens.lens (\ListJobRuns' {createdAfter} -> createdAfter) (\s@ListJobRuns' {} a -> s {createdAfter = a} :: ListJobRuns) Prelude.. Lens.mapping Data._Time++-- | The date and time before which the job runs were submitted.+listJobRuns_createdBefore :: Lens.Lens' ListJobRuns (Prelude.Maybe Prelude.UTCTime)+listJobRuns_createdBefore = Lens.lens (\ListJobRuns' {createdBefore} -> createdBefore) (\s@ListJobRuns' {} a -> s {createdBefore = 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.Int)+listJobRuns_maxResults = Lens.lens (\ListJobRuns' {maxResults} -> maxResults) (\s@ListJobRuns' {} a -> s {maxResults = a} :: ListJobRuns)++-- | The name of the job run.+listJobRuns_name :: Lens.Lens' ListJobRuns (Prelude.Maybe Prelude.Text)+listJobRuns_name = Lens.lens (\ListJobRuns' {name} -> name) (\s@ListJobRuns' {} a -> s {name = a} :: ListJobRuns)++-- | The token for the next set of job runs to return.+listJobRuns_nextToken :: Lens.Lens' ListJobRuns (Prelude.Maybe Prelude.Text)+listJobRuns_nextToken = Lens.lens (\ListJobRuns' {nextToken} -> nextToken) (\s@ListJobRuns' {} a -> s {nextToken = a} :: ListJobRuns)++-- | The states of the job run.+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 virtual cluster for which to list the job run.+listJobRuns_virtualClusterId :: Lens.Lens' ListJobRuns Prelude.Text+listJobRuns_virtualClusterId = Lens.lens (\ListJobRuns' {virtualClusterId} -> virtualClusterId) (\s@ListJobRuns' {} a -> s {virtualClusterId = 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.. Lens._Just+ ) =+ 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..?> "jobRuns" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListJobRuns where+ hashWithSalt _salt ListJobRuns' {..} =+ _salt+ `Prelude.hashWithSalt` createdAfter+ `Prelude.hashWithSalt` createdBefore+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` states+ `Prelude.hashWithSalt` virtualClusterId++instance Prelude.NFData ListJobRuns where+ rnf ListJobRuns' {..} =+ Prelude.rnf createdAfter+ `Prelude.seq` Prelude.rnf createdBefore+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf states+ `Prelude.seq` Prelude.rnf virtualClusterId++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+ [ "/virtualclusters/",+ Data.toBS virtualClusterId,+ "/jobruns"+ ]++instance Data.ToQuery ListJobRuns where+ toQuery ListJobRuns' {..} =+ Prelude.mconcat+ [ "createdAfter" Data.=: createdAfter,+ "createdBefore" Data.=: createdBefore,+ "maxResults" Data.=: maxResults,+ "name" Data.=: name,+ "nextToken" Data.=: nextToken,+ "states"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> states)+ ]++-- | /See:/ 'newListJobRunsResponse' smart constructor.+data ListJobRunsResponse = ListJobRunsResponse'+ { -- | This output lists information about the specified job runs.+ jobRuns :: Prelude.Maybe [JobRun],+ -- | This output displays the token for the next set of job runs.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of '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:+--+-- 'jobRuns', 'listJobRunsResponse_jobRuns' - This output lists information about the specified job runs.+--+-- 'nextToken', 'listJobRunsResponse_nextToken' - This output displays the token for the next set of job runs.+--+-- 'httpStatus', 'listJobRunsResponse_httpStatus' - The response's http status code.+newListJobRunsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListJobRunsResponse+newListJobRunsResponse pHttpStatus_ =+ ListJobRunsResponse'+ { jobRuns = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | This output lists information about the specified job runs.+listJobRunsResponse_jobRuns :: Lens.Lens' ListJobRunsResponse (Prelude.Maybe [JobRun])+listJobRunsResponse_jobRuns = Lens.lens (\ListJobRunsResponse' {jobRuns} -> jobRuns) (\s@ListJobRunsResponse' {} a -> s {jobRuns = a} :: ListJobRunsResponse) Prelude.. Lens.mapping Lens.coerced++-- | This output displays the token for the next set of job runs.+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)++instance Prelude.NFData ListJobRunsResponse where+ rnf ListJobRunsResponse' {..} =+ Prelude.rnf jobRuns+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/ListJobTemplates.hs view
@@ -0,0 +1,241 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.ListJobTemplates+-- 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 templates based on a set of parameters. Job template stores+-- values of StartJobRun API request in a template and can be used to start+-- a job run. Job template allows two use cases: avoid repeating recurring+-- StartJobRun API request values, enforcing certain values in StartJobRun+-- API request.+--+-- This operation returns paginated results.+module Amazonka.EMRContainers.ListJobTemplates+ ( -- * Creating a Request+ ListJobTemplates (..),+ newListJobTemplates,++ -- * Request Lenses+ listJobTemplates_createdAfter,+ listJobTemplates_createdBefore,+ listJobTemplates_maxResults,+ listJobTemplates_nextToken,++ -- * Destructuring the Response+ ListJobTemplatesResponse (..),+ newListJobTemplatesResponse,++ -- * Response Lenses+ listJobTemplatesResponse_nextToken,+ listJobTemplatesResponse_templates,+ listJobTemplatesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListJobTemplates' smart constructor.+data ListJobTemplates = ListJobTemplates'+ { -- | The date and time after which the job templates were created.+ createdAfter :: Prelude.Maybe Data.ISO8601,+ -- | The date and time before which the job templates were created.+ createdBefore :: Prelude.Maybe Data.ISO8601,+ -- | The maximum number of job templates that can be listed.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | The token for the next set of job templates to return.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListJobTemplates' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAfter', 'listJobTemplates_createdAfter' - The date and time after which the job templates were created.+--+-- 'createdBefore', 'listJobTemplates_createdBefore' - The date and time before which the job templates were created.+--+-- 'maxResults', 'listJobTemplates_maxResults' - The maximum number of job templates that can be listed.+--+-- 'nextToken', 'listJobTemplates_nextToken' - The token for the next set of job templates to return.+newListJobTemplates ::+ ListJobTemplates+newListJobTemplates =+ ListJobTemplates'+ { createdAfter = Prelude.Nothing,+ createdBefore = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The date and time after which the job templates were created.+listJobTemplates_createdAfter :: Lens.Lens' ListJobTemplates (Prelude.Maybe Prelude.UTCTime)+listJobTemplates_createdAfter = Lens.lens (\ListJobTemplates' {createdAfter} -> createdAfter) (\s@ListJobTemplates' {} a -> s {createdAfter = a} :: ListJobTemplates) Prelude.. Lens.mapping Data._Time++-- | The date and time before which the job templates were created.+listJobTemplates_createdBefore :: Lens.Lens' ListJobTemplates (Prelude.Maybe Prelude.UTCTime)+listJobTemplates_createdBefore = Lens.lens (\ListJobTemplates' {createdBefore} -> createdBefore) (\s@ListJobTemplates' {} a -> s {createdBefore = a} :: ListJobTemplates) Prelude.. Lens.mapping Data._Time++-- | The maximum number of job templates that can be listed.+listJobTemplates_maxResults :: Lens.Lens' ListJobTemplates (Prelude.Maybe Prelude.Int)+listJobTemplates_maxResults = Lens.lens (\ListJobTemplates' {maxResults} -> maxResults) (\s@ListJobTemplates' {} a -> s {maxResults = a} :: ListJobTemplates)++-- | The token for the next set of job templates to return.+listJobTemplates_nextToken :: Lens.Lens' ListJobTemplates (Prelude.Maybe Prelude.Text)+listJobTemplates_nextToken = Lens.lens (\ListJobTemplates' {nextToken} -> nextToken) (\s@ListJobTemplates' {} a -> s {nextToken = a} :: ListJobTemplates)++instance Core.AWSPager ListJobTemplates where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listJobTemplatesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listJobTemplatesResponse_templates+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listJobTemplates_nextToken+ Lens..~ rs+ Lens.^? listJobTemplatesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListJobTemplates where+ type+ AWSResponse ListJobTemplates =+ ListJobTemplatesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListJobTemplatesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "templates" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListJobTemplates where+ hashWithSalt _salt ListJobTemplates' {..} =+ _salt+ `Prelude.hashWithSalt` createdAfter+ `Prelude.hashWithSalt` createdBefore+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListJobTemplates where+ rnf ListJobTemplates' {..} =+ Prelude.rnf createdAfter+ `Prelude.seq` Prelude.rnf createdBefore+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListJobTemplates where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListJobTemplates where+ toPath = Prelude.const "/jobtemplates"++instance Data.ToQuery ListJobTemplates where+ toQuery ListJobTemplates' {..} =+ Prelude.mconcat+ [ "createdAfter" Data.=: createdAfter,+ "createdBefore" Data.=: createdBefore,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListJobTemplatesResponse' smart constructor.+data ListJobTemplatesResponse = ListJobTemplatesResponse'+ { -- | This output displays the token for the next set of job templates.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | This output lists information about the specified job templates.+ templates :: Prelude.Maybe [JobTemplate],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListJobTemplatesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listJobTemplatesResponse_nextToken' - This output displays the token for the next set of job templates.+--+-- 'templates', 'listJobTemplatesResponse_templates' - This output lists information about the specified job templates.+--+-- 'httpStatus', 'listJobTemplatesResponse_httpStatus' - The response's http status code.+newListJobTemplatesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListJobTemplatesResponse+newListJobTemplatesResponse pHttpStatus_ =+ ListJobTemplatesResponse'+ { nextToken =+ Prelude.Nothing,+ templates = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | This output displays the token for the next set of job templates.+listJobTemplatesResponse_nextToken :: Lens.Lens' ListJobTemplatesResponse (Prelude.Maybe Prelude.Text)+listJobTemplatesResponse_nextToken = Lens.lens (\ListJobTemplatesResponse' {nextToken} -> nextToken) (\s@ListJobTemplatesResponse' {} a -> s {nextToken = a} :: ListJobTemplatesResponse)++-- | This output lists information about the specified job templates.+listJobTemplatesResponse_templates :: Lens.Lens' ListJobTemplatesResponse (Prelude.Maybe [JobTemplate])+listJobTemplatesResponse_templates = Lens.lens (\ListJobTemplatesResponse' {templates} -> templates) (\s@ListJobTemplatesResponse' {} a -> s {templates = a} :: ListJobTemplatesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listJobTemplatesResponse_httpStatus :: Lens.Lens' ListJobTemplatesResponse Prelude.Int+listJobTemplatesResponse_httpStatus = Lens.lens (\ListJobTemplatesResponse' {httpStatus} -> httpStatus) (\s@ListJobTemplatesResponse' {} a -> s {httpStatus = a} :: ListJobTemplatesResponse)++instance Prelude.NFData ListJobTemplatesResponse where+ rnf ListJobTemplatesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf templates+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/ListManagedEndpoints.hs view
@@ -0,0 +1,289 @@+{-# 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.EMRContainers.ListManagedEndpoints+-- 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 managed endpoints based on a set of parameters. A managed endpoint+-- is a gateway that connects EMR Studio to Amazon EMR on EKS so that EMR+-- Studio can communicate with your virtual cluster.+--+-- This operation returns paginated results.+module Amazonka.EMRContainers.ListManagedEndpoints+ ( -- * Creating a Request+ ListManagedEndpoints (..),+ newListManagedEndpoints,++ -- * Request Lenses+ listManagedEndpoints_createdAfter,+ listManagedEndpoints_createdBefore,+ listManagedEndpoints_maxResults,+ listManagedEndpoints_nextToken,+ listManagedEndpoints_states,+ listManagedEndpoints_types,+ listManagedEndpoints_virtualClusterId,++ -- * Destructuring the Response+ ListManagedEndpointsResponse (..),+ newListManagedEndpointsResponse,++ -- * Response Lenses+ listManagedEndpointsResponse_endpoints,+ listManagedEndpointsResponse_nextToken,+ listManagedEndpointsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListManagedEndpoints' smart constructor.+data ListManagedEndpoints = ListManagedEndpoints'+ { -- | The date and time after which the endpoints are created.+ createdAfter :: Prelude.Maybe Data.ISO8601,+ -- | The date and time before which the endpoints are created.+ createdBefore :: Prelude.Maybe Data.ISO8601,+ -- | The maximum number of managed endpoints that can be listed.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | The token for the next set of managed endpoints to return.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The states of the managed endpoints.+ states :: Prelude.Maybe [EndpointState],+ -- | The types of the managed endpoints.+ types :: Prelude.Maybe [Prelude.Text],+ -- | The ID of the virtual cluster.+ virtualClusterId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListManagedEndpoints' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAfter', 'listManagedEndpoints_createdAfter' - The date and time after which the endpoints are created.+--+-- 'createdBefore', 'listManagedEndpoints_createdBefore' - The date and time before which the endpoints are created.+--+-- 'maxResults', 'listManagedEndpoints_maxResults' - The maximum number of managed endpoints that can be listed.+--+-- 'nextToken', 'listManagedEndpoints_nextToken' - The token for the next set of managed endpoints to return.+--+-- 'states', 'listManagedEndpoints_states' - The states of the managed endpoints.+--+-- 'types', 'listManagedEndpoints_types' - The types of the managed endpoints.+--+-- 'virtualClusterId', 'listManagedEndpoints_virtualClusterId' - The ID of the virtual cluster.+newListManagedEndpoints ::+ -- | 'virtualClusterId'+ Prelude.Text ->+ ListManagedEndpoints+newListManagedEndpoints pVirtualClusterId_ =+ ListManagedEndpoints'+ { createdAfter =+ Prelude.Nothing,+ createdBefore = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ states = Prelude.Nothing,+ types = Prelude.Nothing,+ virtualClusterId = pVirtualClusterId_+ }++-- | The date and time after which the endpoints are created.+listManagedEndpoints_createdAfter :: Lens.Lens' ListManagedEndpoints (Prelude.Maybe Prelude.UTCTime)+listManagedEndpoints_createdAfter = Lens.lens (\ListManagedEndpoints' {createdAfter} -> createdAfter) (\s@ListManagedEndpoints' {} a -> s {createdAfter = a} :: ListManagedEndpoints) Prelude.. Lens.mapping Data._Time++-- | The date and time before which the endpoints are created.+listManagedEndpoints_createdBefore :: Lens.Lens' ListManagedEndpoints (Prelude.Maybe Prelude.UTCTime)+listManagedEndpoints_createdBefore = Lens.lens (\ListManagedEndpoints' {createdBefore} -> createdBefore) (\s@ListManagedEndpoints' {} a -> s {createdBefore = a} :: ListManagedEndpoints) Prelude.. Lens.mapping Data._Time++-- | The maximum number of managed endpoints that can be listed.+listManagedEndpoints_maxResults :: Lens.Lens' ListManagedEndpoints (Prelude.Maybe Prelude.Int)+listManagedEndpoints_maxResults = Lens.lens (\ListManagedEndpoints' {maxResults} -> maxResults) (\s@ListManagedEndpoints' {} a -> s {maxResults = a} :: ListManagedEndpoints)++-- | The token for the next set of managed endpoints to return.+listManagedEndpoints_nextToken :: Lens.Lens' ListManagedEndpoints (Prelude.Maybe Prelude.Text)+listManagedEndpoints_nextToken = Lens.lens (\ListManagedEndpoints' {nextToken} -> nextToken) (\s@ListManagedEndpoints' {} a -> s {nextToken = a} :: ListManagedEndpoints)++-- | The states of the managed endpoints.+listManagedEndpoints_states :: Lens.Lens' ListManagedEndpoints (Prelude.Maybe [EndpointState])+listManagedEndpoints_states = Lens.lens (\ListManagedEndpoints' {states} -> states) (\s@ListManagedEndpoints' {} a -> s {states = a} :: ListManagedEndpoints) Prelude.. Lens.mapping Lens.coerced++-- | The types of the managed endpoints.+listManagedEndpoints_types :: Lens.Lens' ListManagedEndpoints (Prelude.Maybe [Prelude.Text])+listManagedEndpoints_types = Lens.lens (\ListManagedEndpoints' {types} -> types) (\s@ListManagedEndpoints' {} a -> s {types = a} :: ListManagedEndpoints) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the virtual cluster.+listManagedEndpoints_virtualClusterId :: Lens.Lens' ListManagedEndpoints Prelude.Text+listManagedEndpoints_virtualClusterId = Lens.lens (\ListManagedEndpoints' {virtualClusterId} -> virtualClusterId) (\s@ListManagedEndpoints' {} a -> s {virtualClusterId = a} :: ListManagedEndpoints)++instance Core.AWSPager ListManagedEndpoints where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listManagedEndpointsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listManagedEndpointsResponse_endpoints+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listManagedEndpoints_nextToken+ Lens..~ rs+ Lens.^? listManagedEndpointsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListManagedEndpoints where+ type+ AWSResponse ListManagedEndpoints =+ ListManagedEndpointsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListManagedEndpointsResponse'+ Prelude.<$> (x Data..?> "endpoints" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListManagedEndpoints where+ hashWithSalt _salt ListManagedEndpoints' {..} =+ _salt+ `Prelude.hashWithSalt` createdAfter+ `Prelude.hashWithSalt` createdBefore+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` states+ `Prelude.hashWithSalt` types+ `Prelude.hashWithSalt` virtualClusterId++instance Prelude.NFData ListManagedEndpoints where+ rnf ListManagedEndpoints' {..} =+ Prelude.rnf createdAfter+ `Prelude.seq` Prelude.rnf createdBefore+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf states+ `Prelude.seq` Prelude.rnf types+ `Prelude.seq` Prelude.rnf virtualClusterId++instance Data.ToHeaders ListManagedEndpoints where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListManagedEndpoints where+ toPath ListManagedEndpoints' {..} =+ Prelude.mconcat+ [ "/virtualclusters/",+ Data.toBS virtualClusterId,+ "/endpoints"+ ]++instance Data.ToQuery ListManagedEndpoints where+ toQuery ListManagedEndpoints' {..} =+ Prelude.mconcat+ [ "createdAfter" Data.=: createdAfter,+ "createdBefore" Data.=: createdBefore,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "states"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> states),+ "types"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> types)+ ]++-- | /See:/ 'newListManagedEndpointsResponse' smart constructor.+data ListManagedEndpointsResponse = ListManagedEndpointsResponse'+ { -- | The managed endpoints to be listed.+ endpoints :: Prelude.Maybe [Endpoint],+ -- | The token for the next set of endpoints to return.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListManagedEndpointsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endpoints', 'listManagedEndpointsResponse_endpoints' - The managed endpoints to be listed.+--+-- 'nextToken', 'listManagedEndpointsResponse_nextToken' - The token for the next set of endpoints to return.+--+-- 'httpStatus', 'listManagedEndpointsResponse_httpStatus' - The response's http status code.+newListManagedEndpointsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListManagedEndpointsResponse+newListManagedEndpointsResponse pHttpStatus_ =+ ListManagedEndpointsResponse'+ { endpoints =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The managed endpoints to be listed.+listManagedEndpointsResponse_endpoints :: Lens.Lens' ListManagedEndpointsResponse (Prelude.Maybe [Endpoint])+listManagedEndpointsResponse_endpoints = Lens.lens (\ListManagedEndpointsResponse' {endpoints} -> endpoints) (\s@ListManagedEndpointsResponse' {} a -> s {endpoints = a} :: ListManagedEndpointsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of endpoints to return.+listManagedEndpointsResponse_nextToken :: Lens.Lens' ListManagedEndpointsResponse (Prelude.Maybe Prelude.Text)+listManagedEndpointsResponse_nextToken = Lens.lens (\ListManagedEndpointsResponse' {nextToken} -> nextToken) (\s@ListManagedEndpointsResponse' {} a -> s {nextToken = a} :: ListManagedEndpointsResponse)++-- | The response's http status code.+listManagedEndpointsResponse_httpStatus :: Lens.Lens' ListManagedEndpointsResponse Prelude.Int+listManagedEndpointsResponse_httpStatus = Lens.lens (\ListManagedEndpointsResponse' {httpStatus} -> httpStatus) (\s@ListManagedEndpointsResponse' {} a -> s {httpStatus = a} :: ListManagedEndpointsResponse)++instance Prelude.NFData ListManagedEndpointsResponse where+ rnf ListManagedEndpointsResponse' {..} =+ Prelude.rnf endpoints+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/ListTagsForResource.hs view
@@ -0,0 +1,159 @@+{-# 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.EMRContainers.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.EMRContainers.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.EMRContainers.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 ARN of tagged resources.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The ARN of tagged resources.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The ARN of tagged resources.+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 assigned to resources.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags assigned to resources.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The tags assigned to resources.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/ListVirtualClusters.hs view
@@ -0,0 +1,291 @@+{-# 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.EMRContainers.ListVirtualClusters+-- 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 information about the specified virtual cluster. Virtual cluster+-- is a managed entity on Amazon EMR on EKS. You can create, describe, list+-- and delete virtual clusters. They do not consume any additional resource+-- in your system. A single virtual cluster maps to a single Kubernetes+-- namespace. Given this relationship, you can model virtual clusters the+-- same way you model Kubernetes namespaces to meet your requirements.+--+-- This operation returns paginated results.+module Amazonka.EMRContainers.ListVirtualClusters+ ( -- * Creating a Request+ ListVirtualClusters (..),+ newListVirtualClusters,++ -- * Request Lenses+ listVirtualClusters_containerProviderId,+ listVirtualClusters_containerProviderType,+ listVirtualClusters_createdAfter,+ listVirtualClusters_createdBefore,+ listVirtualClusters_maxResults,+ listVirtualClusters_nextToken,+ listVirtualClusters_states,++ -- * Destructuring the Response+ ListVirtualClustersResponse (..),+ newListVirtualClustersResponse,++ -- * Response Lenses+ listVirtualClustersResponse_nextToken,+ listVirtualClustersResponse_virtualClusters,+ listVirtualClustersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListVirtualClusters' smart constructor.+data ListVirtualClusters = ListVirtualClusters'+ { -- | The container provider ID of the virtual cluster.+ containerProviderId :: Prelude.Maybe Prelude.Text,+ -- | The container provider type of the virtual cluster. EKS is the only+ -- supported type as of now.+ containerProviderType :: Prelude.Maybe ContainerProviderType,+ -- | The date and time after which the virtual clusters are created.+ createdAfter :: Prelude.Maybe Data.ISO8601,+ -- | The date and time before which the virtual clusters are created.+ createdBefore :: Prelude.Maybe Data.ISO8601,+ -- | The maximum number of virtual clusters that can be listed.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | The token for the next set of virtual clusters to return.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The states of the requested virtual clusters.+ states :: Prelude.Maybe [VirtualClusterState]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVirtualClusters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'containerProviderId', 'listVirtualClusters_containerProviderId' - The container provider ID of the virtual cluster.+--+-- 'containerProviderType', 'listVirtualClusters_containerProviderType' - The container provider type of the virtual cluster. EKS is the only+-- supported type as of now.+--+-- 'createdAfter', 'listVirtualClusters_createdAfter' - The date and time after which the virtual clusters are created.+--+-- 'createdBefore', 'listVirtualClusters_createdBefore' - The date and time before which the virtual clusters are created.+--+-- 'maxResults', 'listVirtualClusters_maxResults' - The maximum number of virtual clusters that can be listed.+--+-- 'nextToken', 'listVirtualClusters_nextToken' - The token for the next set of virtual clusters to return.+--+-- 'states', 'listVirtualClusters_states' - The states of the requested virtual clusters.+newListVirtualClusters ::+ ListVirtualClusters+newListVirtualClusters =+ ListVirtualClusters'+ { containerProviderId =+ Prelude.Nothing,+ containerProviderType = Prelude.Nothing,+ createdAfter = Prelude.Nothing,+ createdBefore = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ states = Prelude.Nothing+ }++-- | The container provider ID of the virtual cluster.+listVirtualClusters_containerProviderId :: Lens.Lens' ListVirtualClusters (Prelude.Maybe Prelude.Text)+listVirtualClusters_containerProviderId = Lens.lens (\ListVirtualClusters' {containerProviderId} -> containerProviderId) (\s@ListVirtualClusters' {} a -> s {containerProviderId = a} :: ListVirtualClusters)++-- | The container provider type of the virtual cluster. EKS is the only+-- supported type as of now.+listVirtualClusters_containerProviderType :: Lens.Lens' ListVirtualClusters (Prelude.Maybe ContainerProviderType)+listVirtualClusters_containerProviderType = Lens.lens (\ListVirtualClusters' {containerProviderType} -> containerProviderType) (\s@ListVirtualClusters' {} a -> s {containerProviderType = a} :: ListVirtualClusters)++-- | The date and time after which the virtual clusters are created.+listVirtualClusters_createdAfter :: Lens.Lens' ListVirtualClusters (Prelude.Maybe Prelude.UTCTime)+listVirtualClusters_createdAfter = Lens.lens (\ListVirtualClusters' {createdAfter} -> createdAfter) (\s@ListVirtualClusters' {} a -> s {createdAfter = a} :: ListVirtualClusters) Prelude.. Lens.mapping Data._Time++-- | The date and time before which the virtual clusters are created.+listVirtualClusters_createdBefore :: Lens.Lens' ListVirtualClusters (Prelude.Maybe Prelude.UTCTime)+listVirtualClusters_createdBefore = Lens.lens (\ListVirtualClusters' {createdBefore} -> createdBefore) (\s@ListVirtualClusters' {} a -> s {createdBefore = a} :: ListVirtualClusters) Prelude.. Lens.mapping Data._Time++-- | The maximum number of virtual clusters that can be listed.+listVirtualClusters_maxResults :: Lens.Lens' ListVirtualClusters (Prelude.Maybe Prelude.Int)+listVirtualClusters_maxResults = Lens.lens (\ListVirtualClusters' {maxResults} -> maxResults) (\s@ListVirtualClusters' {} a -> s {maxResults = a} :: ListVirtualClusters)++-- | The token for the next set of virtual clusters to return.+listVirtualClusters_nextToken :: Lens.Lens' ListVirtualClusters (Prelude.Maybe Prelude.Text)+listVirtualClusters_nextToken = Lens.lens (\ListVirtualClusters' {nextToken} -> nextToken) (\s@ListVirtualClusters' {} a -> s {nextToken = a} :: ListVirtualClusters)++-- | The states of the requested virtual clusters.+listVirtualClusters_states :: Lens.Lens' ListVirtualClusters (Prelude.Maybe [VirtualClusterState])+listVirtualClusters_states = Lens.lens (\ListVirtualClusters' {states} -> states) (\s@ListVirtualClusters' {} a -> s {states = a} :: ListVirtualClusters) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSPager ListVirtualClusters where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listVirtualClustersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listVirtualClustersResponse_virtualClusters+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listVirtualClusters_nextToken+ Lens..~ rs+ Lens.^? listVirtualClustersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListVirtualClusters where+ type+ AWSResponse ListVirtualClusters =+ ListVirtualClustersResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListVirtualClustersResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "virtualClusters"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListVirtualClusters where+ hashWithSalt _salt ListVirtualClusters' {..} =+ _salt+ `Prelude.hashWithSalt` containerProviderId+ `Prelude.hashWithSalt` containerProviderType+ `Prelude.hashWithSalt` createdAfter+ `Prelude.hashWithSalt` createdBefore+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` states++instance Prelude.NFData ListVirtualClusters where+ rnf ListVirtualClusters' {..} =+ Prelude.rnf containerProviderId+ `Prelude.seq` Prelude.rnf containerProviderType+ `Prelude.seq` Prelude.rnf createdAfter+ `Prelude.seq` Prelude.rnf createdBefore+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf states++instance Data.ToHeaders ListVirtualClusters where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListVirtualClusters where+ toPath = Prelude.const "/virtualclusters"++instance Data.ToQuery ListVirtualClusters where+ toQuery ListVirtualClusters' {..} =+ Prelude.mconcat+ [ "containerProviderId" Data.=: containerProviderId,+ "containerProviderType"+ Data.=: containerProviderType,+ "createdAfter" Data.=: createdAfter,+ "createdBefore" Data.=: createdBefore,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "states"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> states)+ ]++-- | /See:/ 'newListVirtualClustersResponse' smart constructor.+data ListVirtualClustersResponse = ListVirtualClustersResponse'+ { -- | This output displays the token for the next set of virtual clusters.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | This output lists the specified virtual clusters.+ virtualClusters :: Prelude.Maybe [VirtualCluster],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVirtualClustersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVirtualClustersResponse_nextToken' - This output displays the token for the next set of virtual clusters.+--+-- 'virtualClusters', 'listVirtualClustersResponse_virtualClusters' - This output lists the specified virtual clusters.+--+-- 'httpStatus', 'listVirtualClustersResponse_httpStatus' - The response's http status code.+newListVirtualClustersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListVirtualClustersResponse+newListVirtualClustersResponse pHttpStatus_ =+ ListVirtualClustersResponse'+ { nextToken =+ Prelude.Nothing,+ virtualClusters = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | This output displays the token for the next set of virtual clusters.+listVirtualClustersResponse_nextToken :: Lens.Lens' ListVirtualClustersResponse (Prelude.Maybe Prelude.Text)+listVirtualClustersResponse_nextToken = Lens.lens (\ListVirtualClustersResponse' {nextToken} -> nextToken) (\s@ListVirtualClustersResponse' {} a -> s {nextToken = a} :: ListVirtualClustersResponse)++-- | This output lists the specified virtual clusters.+listVirtualClustersResponse_virtualClusters :: Lens.Lens' ListVirtualClustersResponse (Prelude.Maybe [VirtualCluster])+listVirtualClustersResponse_virtualClusters = Lens.lens (\ListVirtualClustersResponse' {virtualClusters} -> virtualClusters) (\s@ListVirtualClustersResponse' {} a -> s {virtualClusters = a} :: ListVirtualClustersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listVirtualClustersResponse_httpStatus :: Lens.Lens' ListVirtualClustersResponse Prelude.Int+listVirtualClustersResponse_httpStatus = Lens.lens (\ListVirtualClustersResponse' {httpStatus} -> httpStatus) (\s@ListVirtualClustersResponse' {} a -> s {httpStatus = a} :: ListVirtualClustersResponse)++instance Prelude.NFData ListVirtualClustersResponse where+ rnf ListVirtualClustersResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf virtualClusters+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/StartJobRun.hs view
@@ -0,0 +1,333 @@+{-# 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.EMRContainers.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. A job run is a unit of work, such as a Spark jar,+-- PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS.+module Amazonka.EMRContainers.StartJobRun+ ( -- * Creating a Request+ StartJobRun (..),+ newStartJobRun,++ -- * Request Lenses+ startJobRun_configurationOverrides,+ startJobRun_executionRoleArn,+ startJobRun_jobDriver,+ startJobRun_jobTemplateId,+ startJobRun_jobTemplateParameters,+ startJobRun_name,+ startJobRun_releaseLabel,+ startJobRun_tags,+ startJobRun_virtualClusterId,+ startJobRun_clientToken,++ -- * Destructuring the Response+ StartJobRunResponse (..),+ newStartJobRunResponse,++ -- * Response Lenses+ startJobRunResponse_arn,+ startJobRunResponse_id,+ startJobRunResponse_name,+ startJobRunResponse_virtualClusterId,+ startJobRunResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.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 execution role ARN for the job run.+ executionRoleArn :: Prelude.Maybe Prelude.Text,+ -- | The job driver for the job run.+ jobDriver :: Prelude.Maybe JobDriver,+ -- | The job template ID to be used to start the job run.+ jobTemplateId :: Prelude.Maybe Prelude.Text,+ -- | The values of job template parameters to start a job run.+ jobTemplateParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the job run.+ name :: Prelude.Maybe Prelude.Text,+ -- | The Amazon EMR release version to use for the job run.+ releaseLabel :: Prelude.Maybe Prelude.Text,+ -- | The tags assigned to job runs.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The virtual cluster ID for which the job run request is submitted.+ virtualClusterId :: Prelude.Text,+ -- | The client idempotency token of the job run request.+ clientToken :: 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.+--+-- 'executionRoleArn', 'startJobRun_executionRoleArn' - The execution role ARN for the job run.+--+-- 'jobDriver', 'startJobRun_jobDriver' - The job driver for the job run.+--+-- 'jobTemplateId', 'startJobRun_jobTemplateId' - The job template ID to be used to start the job run.+--+-- 'jobTemplateParameters', 'startJobRun_jobTemplateParameters' - The values of job template parameters to start a job run.+--+-- 'name', 'startJobRun_name' - The name of the job run.+--+-- 'releaseLabel', 'startJobRun_releaseLabel' - The Amazon EMR release version to use for the job run.+--+-- 'tags', 'startJobRun_tags' - The tags assigned to job runs.+--+-- 'virtualClusterId', 'startJobRun_virtualClusterId' - The virtual cluster ID for which the job run request is submitted.+--+-- 'clientToken', 'startJobRun_clientToken' - The client idempotency token of the job run request.+newStartJobRun ::+ -- | 'virtualClusterId'+ Prelude.Text ->+ -- | 'clientToken'+ Prelude.Text ->+ StartJobRun+newStartJobRun pVirtualClusterId_ pClientToken_ =+ StartJobRun'+ { configurationOverrides =+ Prelude.Nothing,+ executionRoleArn = Prelude.Nothing,+ jobDriver = Prelude.Nothing,+ jobTemplateId = Prelude.Nothing,+ jobTemplateParameters = Prelude.Nothing,+ name = Prelude.Nothing,+ releaseLabel = Prelude.Nothing,+ tags = Prelude.Nothing,+ virtualClusterId = pVirtualClusterId_,+ clientToken = pClientToken_+ }++-- | 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 execution role ARN for the job run.+startJobRun_executionRoleArn :: Lens.Lens' StartJobRun (Prelude.Maybe Prelude.Text)+startJobRun_executionRoleArn = Lens.lens (\StartJobRun' {executionRoleArn} -> executionRoleArn) (\s@StartJobRun' {} a -> s {executionRoleArn = 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 job template ID to be used to start the job run.+startJobRun_jobTemplateId :: Lens.Lens' StartJobRun (Prelude.Maybe Prelude.Text)+startJobRun_jobTemplateId = Lens.lens (\StartJobRun' {jobTemplateId} -> jobTemplateId) (\s@StartJobRun' {} a -> s {jobTemplateId = a} :: StartJobRun)++-- | The values of job template parameters to start a job run.+startJobRun_jobTemplateParameters :: Lens.Lens' StartJobRun (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+startJobRun_jobTemplateParameters = Lens.lens (\StartJobRun' {jobTemplateParameters} -> jobTemplateParameters) (\s@StartJobRun' {} a -> s {jobTemplateParameters = a} :: StartJobRun) Prelude.. Lens.mapping Lens.coerced++-- | The name of the job run.+startJobRun_name :: Lens.Lens' StartJobRun (Prelude.Maybe Prelude.Text)+startJobRun_name = Lens.lens (\StartJobRun' {name} -> name) (\s@StartJobRun' {} a -> s {name = a} :: StartJobRun)++-- | The Amazon EMR release version to use for the job run.+startJobRun_releaseLabel :: Lens.Lens' StartJobRun (Prelude.Maybe Prelude.Text)+startJobRun_releaseLabel = Lens.lens (\StartJobRun' {releaseLabel} -> releaseLabel) (\s@StartJobRun' {} a -> s {releaseLabel = a} :: StartJobRun)++-- | The tags assigned to job runs.+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 virtual cluster ID for which the job run request is submitted.+startJobRun_virtualClusterId :: Lens.Lens' StartJobRun Prelude.Text+startJobRun_virtualClusterId = Lens.lens (\StartJobRun' {virtualClusterId} -> virtualClusterId) (\s@StartJobRun' {} a -> s {virtualClusterId = a} :: StartJobRun)++-- | The client idempotency token of the job run request.+startJobRun_clientToken :: Lens.Lens' StartJobRun Prelude.Text+startJobRun_clientToken = Lens.lens (\StartJobRun' {clientToken} -> clientToken) (\s@StartJobRun' {} a -> s {clientToken = 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.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "virtualClusterId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartJobRun where+ hashWithSalt _salt StartJobRun' {..} =+ _salt+ `Prelude.hashWithSalt` configurationOverrides+ `Prelude.hashWithSalt` executionRoleArn+ `Prelude.hashWithSalt` jobDriver+ `Prelude.hashWithSalt` jobTemplateId+ `Prelude.hashWithSalt` jobTemplateParameters+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` releaseLabel+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` virtualClusterId+ `Prelude.hashWithSalt` clientToken++instance Prelude.NFData StartJobRun where+ rnf StartJobRun' {..} =+ Prelude.rnf configurationOverrides+ `Prelude.seq` Prelude.rnf executionRoleArn+ `Prelude.seq` Prelude.rnf jobDriver+ `Prelude.seq` Prelude.rnf jobTemplateId+ `Prelude.seq` Prelude.rnf jobTemplateParameters+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf releaseLabel+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf virtualClusterId+ `Prelude.seq` Prelude.rnf clientToken++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,+ ("executionRoleArn" Data..=)+ Prelude.<$> executionRoleArn,+ ("jobDriver" Data..=) Prelude.<$> jobDriver,+ ("jobTemplateId" Data..=) Prelude.<$> jobTemplateId,+ ("jobTemplateParameters" Data..=)+ Prelude.<$> jobTemplateParameters,+ ("name" Data..=) Prelude.<$> name,+ ("releaseLabel" Data..=) Prelude.<$> releaseLabel,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("clientToken" Data..= clientToken)+ ]+ )++instance Data.ToPath StartJobRun where+ toPath StartJobRun' {..} =+ Prelude.mconcat+ [ "/virtualclusters/",+ Data.toBS virtualClusterId,+ "/jobruns"+ ]++instance Data.ToQuery StartJobRun where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartJobRunResponse' smart constructor.+data StartJobRunResponse = StartJobRunResponse'+ { -- | This output lists the ARN of job run.+ arn :: Prelude.Maybe Prelude.Text,+ -- | This output displays the started job run ID.+ id :: Prelude.Maybe Prelude.Text,+ -- | This output displays the name of the started job run.+ name :: Prelude.Maybe Prelude.Text,+ -- | This output displays the virtual cluster ID for which the job run was+ -- submitted.+ virtualClusterId :: 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 '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:+--+-- 'arn', 'startJobRunResponse_arn' - This output lists the ARN of job run.+--+-- 'id', 'startJobRunResponse_id' - This output displays the started job run ID.+--+-- 'name', 'startJobRunResponse_name' - This output displays the name of the started job run.+--+-- 'virtualClusterId', 'startJobRunResponse_virtualClusterId' - This output displays the virtual cluster ID for which the job run was+-- submitted.+--+-- 'httpStatus', 'startJobRunResponse_httpStatus' - The response's http status code.+newStartJobRunResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartJobRunResponse+newStartJobRunResponse pHttpStatus_ =+ StartJobRunResponse'+ { arn = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ virtualClusterId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | This output lists the ARN of job run.+startJobRunResponse_arn :: Lens.Lens' StartJobRunResponse (Prelude.Maybe Prelude.Text)+startJobRunResponse_arn = Lens.lens (\StartJobRunResponse' {arn} -> arn) (\s@StartJobRunResponse' {} a -> s {arn = a} :: StartJobRunResponse)++-- | This output displays the started job run ID.+startJobRunResponse_id :: Lens.Lens' StartJobRunResponse (Prelude.Maybe Prelude.Text)+startJobRunResponse_id = Lens.lens (\StartJobRunResponse' {id} -> id) (\s@StartJobRunResponse' {} a -> s {id = a} :: StartJobRunResponse)++-- | This output displays the name of the started job run.+startJobRunResponse_name :: Lens.Lens' StartJobRunResponse (Prelude.Maybe Prelude.Text)+startJobRunResponse_name = Lens.lens (\StartJobRunResponse' {name} -> name) (\s@StartJobRunResponse' {} a -> s {name = a} :: StartJobRunResponse)++-- | This output displays the virtual cluster ID for which the job run was+-- submitted.+startJobRunResponse_virtualClusterId :: Lens.Lens' StartJobRunResponse (Prelude.Maybe Prelude.Text)+startJobRunResponse_virtualClusterId = Lens.lens (\StartJobRunResponse' {virtualClusterId} -> virtualClusterId) (\s@StartJobRunResponse' {} a -> s {virtualClusterId = a} :: StartJobRunResponse)++-- | 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)++instance Prelude.NFData StartJobRunResponse where+ rnf StartJobRunResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf virtualClusterId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/EMRContainers/TagResource.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.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. For example, you can define a+-- set of tags for your Amazon EMR on EKS clusters to help you track each+-- cluster\'s owner and stack level. We recommend that you devise a+-- consistent set of tag keys for each resource type. You can then search+-- and filter the resources based on the tags that you add.+module Amazonka.EMRContainers.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.EMRContainers.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 ARN of resources.+ resourceArn :: Prelude.Text,+ -- | The tags assigned to resources.+ tags :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The ARN of resources.+--+-- 'tags', 'tagResource_tags' - The tags assigned to resources.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The ARN of resources.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags assigned to resources.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.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/EMRContainers/Types.hs view
@@ -0,0 +1,353 @@+{-# 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.EMRContainers.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.EMRContainers.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _InternalServerException,+ _ResourceNotFoundException,+ _ValidationException,++ -- * ContainerProviderType+ ContainerProviderType (..),++ -- * EndpointState+ EndpointState (..),++ -- * FailureReason+ FailureReason (..),++ -- * JobRunState+ JobRunState (..),++ -- * PersistentAppUI+ PersistentAppUI (..),++ -- * TemplateParameterDataType+ TemplateParameterDataType (..),++ -- * VirtualClusterState+ VirtualClusterState (..),++ -- * Certificate+ Certificate (..),+ newCertificate,+ certificate_certificateArn,+ certificate_certificateData,++ -- * CloudWatchMonitoringConfiguration+ CloudWatchMonitoringConfiguration (..),+ newCloudWatchMonitoringConfiguration,+ cloudWatchMonitoringConfiguration_logStreamNamePrefix,+ cloudWatchMonitoringConfiguration_logGroupName,++ -- * Configuration+ Configuration (..),+ newConfiguration,+ configuration_configurations,+ configuration_properties,+ configuration_classification,++ -- * ConfigurationOverrides+ ConfigurationOverrides (..),+ newConfigurationOverrides,+ configurationOverrides_applicationConfiguration,+ configurationOverrides_monitoringConfiguration,++ -- * ContainerInfo+ ContainerInfo (..),+ newContainerInfo,+ containerInfo_eksInfo,++ -- * ContainerProvider+ ContainerProvider (..),+ newContainerProvider,+ containerProvider_info,+ containerProvider_type,+ containerProvider_id,++ -- * EksInfo+ EksInfo (..),+ newEksInfo,+ eksInfo_namespace,++ -- * Endpoint+ Endpoint (..),+ newEndpoint,+ endpoint_arn,+ endpoint_certificateArn,+ endpoint_certificateAuthority,+ endpoint_configurationOverrides,+ endpoint_createdAt,+ endpoint_executionRoleArn,+ endpoint_failureReason,+ endpoint_id,+ endpoint_name,+ endpoint_releaseLabel,+ endpoint_securityGroup,+ endpoint_serverUrl,+ endpoint_state,+ endpoint_stateDetails,+ endpoint_subnetIds,+ endpoint_tags,+ endpoint_type,+ endpoint_virtualClusterId,++ -- * JobDriver+ JobDriver (..),+ newJobDriver,+ jobDriver_sparkSqlJobDriver,+ jobDriver_sparkSubmitJobDriver,++ -- * JobRun+ JobRun (..),+ newJobRun,+ jobRun_arn,+ jobRun_clientToken,+ jobRun_configurationOverrides,+ jobRun_createdAt,+ jobRun_createdBy,+ jobRun_executionRoleArn,+ jobRun_failureReason,+ jobRun_finishedAt,+ jobRun_id,+ jobRun_jobDriver,+ jobRun_name,+ jobRun_releaseLabel,+ jobRun_state,+ jobRun_stateDetails,+ jobRun_tags,+ jobRun_virtualClusterId,++ -- * JobTemplate+ JobTemplate (..),+ newJobTemplate,+ jobTemplate_arn,+ jobTemplate_createdAt,+ jobTemplate_createdBy,+ jobTemplate_decryptionError,+ jobTemplate_id,+ jobTemplate_kmsKeyArn,+ jobTemplate_name,+ jobTemplate_tags,+ jobTemplate_jobTemplateData,++ -- * JobTemplateData+ JobTemplateData (..),+ newJobTemplateData,+ jobTemplateData_configurationOverrides,+ jobTemplateData_jobTags,+ jobTemplateData_parameterConfiguration,+ jobTemplateData_executionRoleArn,+ jobTemplateData_releaseLabel,+ jobTemplateData_jobDriver,++ -- * MonitoringConfiguration+ MonitoringConfiguration (..),+ newMonitoringConfiguration,+ monitoringConfiguration_cloudWatchMonitoringConfiguration,+ monitoringConfiguration_persistentAppUI,+ monitoringConfiguration_s3MonitoringConfiguration,++ -- * ParametricCloudWatchMonitoringConfiguration+ ParametricCloudWatchMonitoringConfiguration (..),+ newParametricCloudWatchMonitoringConfiguration,+ parametricCloudWatchMonitoringConfiguration_logGroupName,+ parametricCloudWatchMonitoringConfiguration_logStreamNamePrefix,++ -- * ParametricConfigurationOverrides+ ParametricConfigurationOverrides (..),+ newParametricConfigurationOverrides,+ parametricConfigurationOverrides_applicationConfiguration,+ parametricConfigurationOverrides_monitoringConfiguration,++ -- * ParametricMonitoringConfiguration+ ParametricMonitoringConfiguration (..),+ newParametricMonitoringConfiguration,+ parametricMonitoringConfiguration_cloudWatchMonitoringConfiguration,+ parametricMonitoringConfiguration_persistentAppUI,+ parametricMonitoringConfiguration_s3MonitoringConfiguration,++ -- * ParametricS3MonitoringConfiguration+ ParametricS3MonitoringConfiguration (..),+ newParametricS3MonitoringConfiguration,+ parametricS3MonitoringConfiguration_logUri,++ -- * S3MonitoringConfiguration+ S3MonitoringConfiguration (..),+ newS3MonitoringConfiguration,+ s3MonitoringConfiguration_logUri,++ -- * SparkSqlJobDriver+ SparkSqlJobDriver (..),+ newSparkSqlJobDriver,+ sparkSqlJobDriver_entryPoint,+ sparkSqlJobDriver_sparkSqlParameters,++ -- * SparkSubmitJobDriver+ SparkSubmitJobDriver (..),+ newSparkSubmitJobDriver,+ sparkSubmitJobDriver_entryPointArguments,+ sparkSubmitJobDriver_sparkSubmitParameters,+ sparkSubmitJobDriver_entryPoint,++ -- * TemplateParameterConfiguration+ TemplateParameterConfiguration (..),+ newTemplateParameterConfiguration,+ templateParameterConfiguration_defaultValue,+ templateParameterConfiguration_type,++ -- * VirtualCluster+ VirtualCluster (..),+ newVirtualCluster,+ virtualCluster_arn,+ virtualCluster_containerProvider,+ virtualCluster_createdAt,+ virtualCluster_id,+ virtualCluster_name,+ virtualCluster_state,+ virtualCluster_tags,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.EMRContainers.Types.Certificate+import Amazonka.EMRContainers.Types.CloudWatchMonitoringConfiguration+import Amazonka.EMRContainers.Types.Configuration+import Amazonka.EMRContainers.Types.ConfigurationOverrides+import Amazonka.EMRContainers.Types.ContainerInfo+import Amazonka.EMRContainers.Types.ContainerProvider+import Amazonka.EMRContainers.Types.ContainerProviderType+import Amazonka.EMRContainers.Types.EksInfo+import Amazonka.EMRContainers.Types.Endpoint+import Amazonka.EMRContainers.Types.EndpointState+import Amazonka.EMRContainers.Types.FailureReason+import Amazonka.EMRContainers.Types.JobDriver+import Amazonka.EMRContainers.Types.JobRun+import Amazonka.EMRContainers.Types.JobRunState+import Amazonka.EMRContainers.Types.JobTemplate+import Amazonka.EMRContainers.Types.JobTemplateData+import Amazonka.EMRContainers.Types.MonitoringConfiguration+import Amazonka.EMRContainers.Types.ParametricCloudWatchMonitoringConfiguration+import Amazonka.EMRContainers.Types.ParametricConfigurationOverrides+import Amazonka.EMRContainers.Types.ParametricMonitoringConfiguration+import Amazonka.EMRContainers.Types.ParametricS3MonitoringConfiguration+import Amazonka.EMRContainers.Types.PersistentAppUI+import Amazonka.EMRContainers.Types.S3MonitoringConfiguration+import Amazonka.EMRContainers.Types.SparkSqlJobDriver+import Amazonka.EMRContainers.Types.SparkSubmitJobDriver+import Amazonka.EMRContainers.Types.TemplateParameterConfiguration+import Amazonka.EMRContainers.Types.TemplateParameterDataType+import Amazonka.EMRContainers.Types.VirtualCluster+import Amazonka.EMRContainers.Types.VirtualClusterState+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-10-01@ of the Amazon EMR Containers SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "EMRContainers",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "emr-containers",+ Core.signingName = "emr-containers",+ Core.version = "2020-10-01",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "EMRContainers",+ 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++-- | This is an internal server exception.+_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 400++-- | There are invalid parameters in the client request.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/EMRContainers/Types/Certificate.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.Types.Certificate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.Certificate 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 entity representing certificate data generated for managed endpoint.+--+-- /See:/ 'newCertificate' smart constructor.+data Certificate = Certificate'+ { -- | The ARN of the certificate generated for managed endpoint.+ certificateArn :: Prelude.Maybe Prelude.Text,+ -- | The base64 encoded PEM certificate data generated for managed endpoint.+ certificateData :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Certificate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'certificateArn', 'certificate_certificateArn' - The ARN of the certificate generated for managed endpoint.+--+-- 'certificateData', 'certificate_certificateData' - The base64 encoded PEM certificate data generated for managed endpoint.+newCertificate ::+ Certificate+newCertificate =+ Certificate'+ { certificateArn = Prelude.Nothing,+ certificateData = Prelude.Nothing+ }++-- | The ARN of the certificate generated for managed endpoint.+certificate_certificateArn :: Lens.Lens' Certificate (Prelude.Maybe Prelude.Text)+certificate_certificateArn = Lens.lens (\Certificate' {certificateArn} -> certificateArn) (\s@Certificate' {} a -> s {certificateArn = a} :: Certificate)++-- | The base64 encoded PEM certificate data generated for managed endpoint.+certificate_certificateData :: Lens.Lens' Certificate (Prelude.Maybe Prelude.Text)+certificate_certificateData = Lens.lens (\Certificate' {certificateData} -> certificateData) (\s@Certificate' {} a -> s {certificateData = a} :: Certificate)++instance Data.FromJSON Certificate where+ parseJSON =+ Data.withObject+ "Certificate"+ ( \x ->+ Certificate'+ Prelude.<$> (x Data..:? "certificateArn")+ Prelude.<*> (x Data..:? "certificateData")+ )++instance Prelude.Hashable Certificate where+ hashWithSalt _salt Certificate' {..} =+ _salt+ `Prelude.hashWithSalt` certificateArn+ `Prelude.hashWithSalt` certificateData++instance Prelude.NFData Certificate where+ rnf Certificate' {..} =+ Prelude.rnf certificateArn+ `Prelude.seq` Prelude.rnf certificateData
+ gen/Amazonka/EMRContainers/Types/CloudWatchMonitoringConfiguration.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.Types.CloudWatchMonitoringConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.CloudWatchMonitoringConfiguration 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 for CloudWatch monitoring. You can configure your jobs+-- to send log information to CloudWatch Logs.+--+-- /See:/ 'newCloudWatchMonitoringConfiguration' smart constructor.+data CloudWatchMonitoringConfiguration = CloudWatchMonitoringConfiguration'+ { -- | The specified name prefix for log streams.+ logStreamNamePrefix :: Prelude.Maybe Prelude.Text,+ -- | The name of the log group for log publishing.+ logGroupName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloudWatchMonitoringConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logStreamNamePrefix', 'cloudWatchMonitoringConfiguration_logStreamNamePrefix' - The specified name prefix for log streams.+--+-- 'logGroupName', 'cloudWatchMonitoringConfiguration_logGroupName' - The name of the log group for log publishing.+newCloudWatchMonitoringConfiguration ::+ -- | 'logGroupName'+ Prelude.Text ->+ CloudWatchMonitoringConfiguration+newCloudWatchMonitoringConfiguration pLogGroupName_ =+ CloudWatchMonitoringConfiguration'+ { logStreamNamePrefix =+ Prelude.Nothing,+ logGroupName = pLogGroupName_+ }++-- | The specified name prefix for log streams.+cloudWatchMonitoringConfiguration_logStreamNamePrefix :: Lens.Lens' CloudWatchMonitoringConfiguration (Prelude.Maybe Prelude.Text)+cloudWatchMonitoringConfiguration_logStreamNamePrefix = Lens.lens (\CloudWatchMonitoringConfiguration' {logStreamNamePrefix} -> logStreamNamePrefix) (\s@CloudWatchMonitoringConfiguration' {} a -> s {logStreamNamePrefix = a} :: CloudWatchMonitoringConfiguration)++-- | The name of the log group for log publishing.+cloudWatchMonitoringConfiguration_logGroupName :: Lens.Lens' CloudWatchMonitoringConfiguration Prelude.Text+cloudWatchMonitoringConfiguration_logGroupName = Lens.lens (\CloudWatchMonitoringConfiguration' {logGroupName} -> logGroupName) (\s@CloudWatchMonitoringConfiguration' {} a -> s {logGroupName = a} :: CloudWatchMonitoringConfiguration)++instance+ Data.FromJSON+ CloudWatchMonitoringConfiguration+ where+ parseJSON =+ Data.withObject+ "CloudWatchMonitoringConfiguration"+ ( \x ->+ CloudWatchMonitoringConfiguration'+ Prelude.<$> (x Data..:? "logStreamNamePrefix")+ Prelude.<*> (x Data..: "logGroupName")+ )++instance+ Prelude.Hashable+ CloudWatchMonitoringConfiguration+ where+ hashWithSalt+ _salt+ CloudWatchMonitoringConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` logStreamNamePrefix+ `Prelude.hashWithSalt` logGroupName++instance+ Prelude.NFData+ CloudWatchMonitoringConfiguration+ where+ rnf CloudWatchMonitoringConfiguration' {..} =+ Prelude.rnf logStreamNamePrefix+ `Prelude.seq` Prelude.rnf logGroupName++instance+ Data.ToJSON+ CloudWatchMonitoringConfiguration+ where+ toJSON CloudWatchMonitoringConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("logStreamNamePrefix" Data..=)+ Prelude.<$> logStreamNamePrefix,+ Prelude.Just ("logGroupName" Data..= logGroupName)+ ]+ )
+ gen/Amazonka/EMRContainers/Types/Configuration.hs view
@@ -0,0 +1,118 @@+{-# 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.EMRContainers.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.EMRContainers.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 virtual+-- clusters, which can include configurations for applications and software+-- bundled with Amazon EMR on EKS. 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/EMRContainers/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.EMRContainers.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.EMRContainers.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.EMRContainers.Types.Configuration+import Amazonka.EMRContainers.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 configurations for the application running by the job run.+ applicationConfiguration :: Prelude.Maybe [Configuration],+ -- | The 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 configurations for the application running by the job run.+--+-- 'monitoringConfiguration', 'configurationOverrides_monitoringConfiguration' - The configurations for monitoring.+newConfigurationOverrides ::+ ConfigurationOverrides+newConfigurationOverrides =+ ConfigurationOverrides'+ { applicationConfiguration =+ Prelude.Nothing,+ monitoringConfiguration = Prelude.Nothing+ }++-- | The configurations for the application running by the job run.+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 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/EMRContainers/Types/ContainerInfo.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.EMRContainers.Types.ContainerInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.ContainerInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types.EksInfo+import qualified Amazonka.Prelude as Prelude++-- | The information about the container used for a job run or a managed+-- endpoint.+--+-- /See:/ 'newContainerInfo' smart constructor.+data ContainerInfo = ContainerInfo'+ { -- | The information about the EKS cluster.+ eksInfo :: Prelude.Maybe EksInfo+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContainerInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eksInfo', 'containerInfo_eksInfo' - The information about the EKS cluster.+newContainerInfo ::+ ContainerInfo+newContainerInfo =+ ContainerInfo' {eksInfo = Prelude.Nothing}++-- | The information about the EKS cluster.+containerInfo_eksInfo :: Lens.Lens' ContainerInfo (Prelude.Maybe EksInfo)+containerInfo_eksInfo = Lens.lens (\ContainerInfo' {eksInfo} -> eksInfo) (\s@ContainerInfo' {} a -> s {eksInfo = a} :: ContainerInfo)++instance Data.FromJSON ContainerInfo where+ parseJSON =+ Data.withObject+ "ContainerInfo"+ ( \x ->+ ContainerInfo' Prelude.<$> (x Data..:? "eksInfo")+ )++instance Prelude.Hashable ContainerInfo where+ hashWithSalt _salt ContainerInfo' {..} =+ _salt `Prelude.hashWithSalt` eksInfo++instance Prelude.NFData ContainerInfo where+ rnf ContainerInfo' {..} = Prelude.rnf eksInfo++instance Data.ToJSON ContainerInfo where+ toJSON ContainerInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [("eksInfo" Data..=) Prelude.<$> eksInfo]+ )
+ gen/Amazonka/EMRContainers/Types/ContainerProvider.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.Types.ContainerProvider+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.ContainerProvider where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types.ContainerInfo+import Amazonka.EMRContainers.Types.ContainerProviderType+import qualified Amazonka.Prelude as Prelude++-- | The information about the container provider.+--+-- /See:/ 'newContainerProvider' smart constructor.+data ContainerProvider = ContainerProvider'+ { -- | The information about the container cluster.+ info :: Prelude.Maybe ContainerInfo,+ -- | The type of the container provider. EKS is the only supported type as of+ -- now.+ type' :: ContainerProviderType,+ -- | The ID of the container cluster.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContainerProvider' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'info', 'containerProvider_info' - The information about the container cluster.+--+-- 'type'', 'containerProvider_type' - The type of the container provider. EKS is the only supported type as of+-- now.+--+-- 'id', 'containerProvider_id' - The ID of the container cluster.+newContainerProvider ::+ -- | 'type''+ ContainerProviderType ->+ -- | 'id'+ Prelude.Text ->+ ContainerProvider+newContainerProvider pType_ pId_ =+ ContainerProvider'+ { info = Prelude.Nothing,+ type' = pType_,+ id = pId_+ }++-- | The information about the container cluster.+containerProvider_info :: Lens.Lens' ContainerProvider (Prelude.Maybe ContainerInfo)+containerProvider_info = Lens.lens (\ContainerProvider' {info} -> info) (\s@ContainerProvider' {} a -> s {info = a} :: ContainerProvider)++-- | The type of the container provider. EKS is the only supported type as of+-- now.+containerProvider_type :: Lens.Lens' ContainerProvider ContainerProviderType+containerProvider_type = Lens.lens (\ContainerProvider' {type'} -> type') (\s@ContainerProvider' {} a -> s {type' = a} :: ContainerProvider)++-- | The ID of the container cluster.+containerProvider_id :: Lens.Lens' ContainerProvider Prelude.Text+containerProvider_id = Lens.lens (\ContainerProvider' {id} -> id) (\s@ContainerProvider' {} a -> s {id = a} :: ContainerProvider)++instance Data.FromJSON ContainerProvider where+ parseJSON =+ Data.withObject+ "ContainerProvider"+ ( \x ->+ ContainerProvider'+ Prelude.<$> (x Data..:? "info")+ Prelude.<*> (x Data..: "type")+ Prelude.<*> (x Data..: "id")+ )++instance Prelude.Hashable ContainerProvider where+ hashWithSalt _salt ContainerProvider' {..} =+ _salt+ `Prelude.hashWithSalt` info+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` id++instance Prelude.NFData ContainerProvider where+ rnf ContainerProvider' {..} =+ Prelude.rnf info+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf id++instance Data.ToJSON ContainerProvider where+ toJSON ContainerProvider' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("info" Data..=) Prelude.<$> info,+ Prelude.Just ("type" Data..= type'),+ Prelude.Just ("id" Data..= id)+ ]+ )
+ gen/Amazonka/EMRContainers/Types/ContainerProviderType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.Types.ContainerProviderType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.ContainerProviderType+ ( ContainerProviderType+ ( ..,+ ContainerProviderType_EKS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ContainerProviderType = ContainerProviderType'+ { fromContainerProviderType ::+ 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 ContainerProviderType_EKS :: ContainerProviderType+pattern ContainerProviderType_EKS = ContainerProviderType' "EKS"++{-# COMPLETE+ ContainerProviderType_EKS,+ ContainerProviderType'+ #-}
+ gen/Amazonka/EMRContainers/Types/EksInfo.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.EMRContainers.Types.EksInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.EksInfo 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 information about the EKS cluster.+--+-- /See:/ 'newEksInfo' smart constructor.+data EksInfo = EksInfo'+ { -- | The namespaces of the EKS cluster.+ namespace :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EksInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'namespace', 'eksInfo_namespace' - The namespaces of the EKS cluster.+newEksInfo ::+ EksInfo+newEksInfo = EksInfo' {namespace = Prelude.Nothing}++-- | The namespaces of the EKS cluster.+eksInfo_namespace :: Lens.Lens' EksInfo (Prelude.Maybe Prelude.Text)+eksInfo_namespace = Lens.lens (\EksInfo' {namespace} -> namespace) (\s@EksInfo' {} a -> s {namespace = a} :: EksInfo)++instance Data.FromJSON EksInfo where+ parseJSON =+ Data.withObject+ "EksInfo"+ ( \x ->+ EksInfo' Prelude.<$> (x Data..:? "namespace")+ )++instance Prelude.Hashable EksInfo where+ hashWithSalt _salt EksInfo' {..} =+ _salt `Prelude.hashWithSalt` namespace++instance Prelude.NFData EksInfo where+ rnf EksInfo' {..} = Prelude.rnf namespace++instance Data.ToJSON EksInfo where+ toJSON EksInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [("namespace" Data..=) Prelude.<$> namespace]+ )
+ gen/Amazonka/EMRContainers/Types/Endpoint.hs view
@@ -0,0 +1,290 @@+{-# 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.EMRContainers.Types.Endpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.Endpoint where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types.Certificate+import Amazonka.EMRContainers.Types.ConfigurationOverrides+import Amazonka.EMRContainers.Types.EndpointState+import Amazonka.EMRContainers.Types.FailureReason+import qualified Amazonka.Prelude as Prelude++-- | This entity represents the endpoint that is managed by Amazon EMR on+-- EKS.+--+-- /See:/ 'newEndpoint' smart constructor.+data Endpoint = Endpoint'+ { -- | The ARN of the endpoint.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The certificate ARN of the endpoint. This field is under deprecation and+ -- will be removed in future.+ certificateArn :: Prelude.Maybe Prelude.Text,+ -- | The certificate generated by emr control plane on customer behalf to+ -- secure the managed endpoint.+ certificateAuthority :: Prelude.Maybe Certificate,+ -- | The configuration settings that are used to override existing+ -- configurations for endpoints.+ configurationOverrides :: Prelude.Maybe ConfigurationOverrides,+ -- | The date and time when the endpoint was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The execution role ARN of the endpoint.+ executionRoleArn :: Prelude.Maybe Prelude.Text,+ -- | The reasons why the endpoint has failed.+ failureReason :: Prelude.Maybe FailureReason,+ -- | The ID of the endpoint.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the endpoint.+ name :: Prelude.Maybe Prelude.Text,+ -- | The EMR release version to be used for the endpoint.+ releaseLabel :: Prelude.Maybe Prelude.Text,+ -- | The security group configuration of the endpoint.+ securityGroup :: Prelude.Maybe Prelude.Text,+ -- | The server URL of the endpoint.+ serverUrl :: Prelude.Maybe Prelude.Text,+ -- | The state of the endpoint.+ state :: Prelude.Maybe EndpointState,+ -- | Additional details of the endpoint state.+ stateDetails :: Prelude.Maybe Prelude.Text,+ -- | The subnet IDs of the endpoint.+ subnetIds :: Prelude.Maybe [Prelude.Text],+ -- | The tags of the endpoint.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The type of the endpoint.+ type' :: Prelude.Maybe Prelude.Text,+ -- | The ID of the endpoint\'s virtual cluster.+ virtualClusterId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Endpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'endpoint_arn' - The ARN of the endpoint.+--+-- 'certificateArn', 'endpoint_certificateArn' - The certificate ARN of the endpoint. This field is under deprecation and+-- will be removed in future.+--+-- 'certificateAuthority', 'endpoint_certificateAuthority' - The certificate generated by emr control plane on customer behalf to+-- secure the managed endpoint.+--+-- 'configurationOverrides', 'endpoint_configurationOverrides' - The configuration settings that are used to override existing+-- configurations for endpoints.+--+-- 'createdAt', 'endpoint_createdAt' - The date and time when the endpoint was created.+--+-- 'executionRoleArn', 'endpoint_executionRoleArn' - The execution role ARN of the endpoint.+--+-- 'failureReason', 'endpoint_failureReason' - The reasons why the endpoint has failed.+--+-- 'id', 'endpoint_id' - The ID of the endpoint.+--+-- 'name', 'endpoint_name' - The name of the endpoint.+--+-- 'releaseLabel', 'endpoint_releaseLabel' - The EMR release version to be used for the endpoint.+--+-- 'securityGroup', 'endpoint_securityGroup' - The security group configuration of the endpoint.+--+-- 'serverUrl', 'endpoint_serverUrl' - The server URL of the endpoint.+--+-- 'state', 'endpoint_state' - The state of the endpoint.+--+-- 'stateDetails', 'endpoint_stateDetails' - Additional details of the endpoint state.+--+-- 'subnetIds', 'endpoint_subnetIds' - The subnet IDs of the endpoint.+--+-- 'tags', 'endpoint_tags' - The tags of the endpoint.+--+-- 'type'', 'endpoint_type' - The type of the endpoint.+--+-- 'virtualClusterId', 'endpoint_virtualClusterId' - The ID of the endpoint\'s virtual cluster.+newEndpoint ::+ Endpoint+newEndpoint =+ Endpoint'+ { arn = Prelude.Nothing,+ certificateArn = Prelude.Nothing,+ certificateAuthority = Prelude.Nothing,+ configurationOverrides = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ executionRoleArn = Prelude.Nothing,+ failureReason = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ releaseLabel = Prelude.Nothing,+ securityGroup = Prelude.Nothing,+ serverUrl = Prelude.Nothing,+ state = Prelude.Nothing,+ stateDetails = Prelude.Nothing,+ subnetIds = Prelude.Nothing,+ tags = Prelude.Nothing,+ type' = Prelude.Nothing,+ virtualClusterId = Prelude.Nothing+ }++-- | The ARN of the endpoint.+endpoint_arn :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_arn = Lens.lens (\Endpoint' {arn} -> arn) (\s@Endpoint' {} a -> s {arn = a} :: Endpoint)++-- | The certificate ARN of the endpoint. This field is under deprecation and+-- will be removed in future.+endpoint_certificateArn :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_certificateArn = Lens.lens (\Endpoint' {certificateArn} -> certificateArn) (\s@Endpoint' {} a -> s {certificateArn = a} :: Endpoint)++-- | The certificate generated by emr control plane on customer behalf to+-- secure the managed endpoint.+endpoint_certificateAuthority :: Lens.Lens' Endpoint (Prelude.Maybe Certificate)+endpoint_certificateAuthority = Lens.lens (\Endpoint' {certificateAuthority} -> certificateAuthority) (\s@Endpoint' {} a -> s {certificateAuthority = a} :: Endpoint)++-- | The configuration settings that are used to override existing+-- configurations for endpoints.+endpoint_configurationOverrides :: Lens.Lens' Endpoint (Prelude.Maybe ConfigurationOverrides)+endpoint_configurationOverrides = Lens.lens (\Endpoint' {configurationOverrides} -> configurationOverrides) (\s@Endpoint' {} a -> s {configurationOverrides = a} :: Endpoint)++-- | The date and time when the endpoint was created.+endpoint_createdAt :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.UTCTime)+endpoint_createdAt = Lens.lens (\Endpoint' {createdAt} -> createdAt) (\s@Endpoint' {} a -> s {createdAt = a} :: Endpoint) Prelude.. Lens.mapping Data._Time++-- | The execution role ARN of the endpoint.+endpoint_executionRoleArn :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_executionRoleArn = Lens.lens (\Endpoint' {executionRoleArn} -> executionRoleArn) (\s@Endpoint' {} a -> s {executionRoleArn = a} :: Endpoint)++-- | The reasons why the endpoint has failed.+endpoint_failureReason :: Lens.Lens' Endpoint (Prelude.Maybe FailureReason)+endpoint_failureReason = Lens.lens (\Endpoint' {failureReason} -> failureReason) (\s@Endpoint' {} a -> s {failureReason = a} :: Endpoint)++-- | The ID of the endpoint.+endpoint_id :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_id = Lens.lens (\Endpoint' {id} -> id) (\s@Endpoint' {} a -> s {id = a} :: Endpoint)++-- | The name of the endpoint.+endpoint_name :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_name = Lens.lens (\Endpoint' {name} -> name) (\s@Endpoint' {} a -> s {name = a} :: Endpoint)++-- | The EMR release version to be used for the endpoint.+endpoint_releaseLabel :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_releaseLabel = Lens.lens (\Endpoint' {releaseLabel} -> releaseLabel) (\s@Endpoint' {} a -> s {releaseLabel = a} :: Endpoint)++-- | The security group configuration of the endpoint.+endpoint_securityGroup :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_securityGroup = Lens.lens (\Endpoint' {securityGroup} -> securityGroup) (\s@Endpoint' {} a -> s {securityGroup = a} :: Endpoint)++-- | The server URL of the endpoint.+endpoint_serverUrl :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_serverUrl = Lens.lens (\Endpoint' {serverUrl} -> serverUrl) (\s@Endpoint' {} a -> s {serverUrl = a} :: Endpoint)++-- | The state of the endpoint.+endpoint_state :: Lens.Lens' Endpoint (Prelude.Maybe EndpointState)+endpoint_state = Lens.lens (\Endpoint' {state} -> state) (\s@Endpoint' {} a -> s {state = a} :: Endpoint)++-- | Additional details of the endpoint state.+endpoint_stateDetails :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_stateDetails = Lens.lens (\Endpoint' {stateDetails} -> stateDetails) (\s@Endpoint' {} a -> s {stateDetails = a} :: Endpoint)++-- | The subnet IDs of the endpoint.+endpoint_subnetIds :: Lens.Lens' Endpoint (Prelude.Maybe [Prelude.Text])+endpoint_subnetIds = Lens.lens (\Endpoint' {subnetIds} -> subnetIds) (\s@Endpoint' {} a -> s {subnetIds = a} :: Endpoint) Prelude.. Lens.mapping Lens.coerced++-- | The tags of the endpoint.+endpoint_tags :: Lens.Lens' Endpoint (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+endpoint_tags = Lens.lens (\Endpoint' {tags} -> tags) (\s@Endpoint' {} a -> s {tags = a} :: Endpoint) Prelude.. Lens.mapping Lens.coerced++-- | The type of the endpoint.+endpoint_type :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_type = Lens.lens (\Endpoint' {type'} -> type') (\s@Endpoint' {} a -> s {type' = a} :: Endpoint)++-- | The ID of the endpoint\'s virtual cluster.+endpoint_virtualClusterId :: Lens.Lens' Endpoint (Prelude.Maybe Prelude.Text)+endpoint_virtualClusterId = Lens.lens (\Endpoint' {virtualClusterId} -> virtualClusterId) (\s@Endpoint' {} a -> s {virtualClusterId = a} :: Endpoint)++instance Data.FromJSON Endpoint where+ parseJSON =+ Data.withObject+ "Endpoint"+ ( \x ->+ Endpoint'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "certificateArn")+ Prelude.<*> (x Data..:? "certificateAuthority")+ Prelude.<*> (x Data..:? "configurationOverrides")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "executionRoleArn")+ Prelude.<*> (x Data..:? "failureReason")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "releaseLabel")+ Prelude.<*> (x Data..:? "securityGroup")+ Prelude.<*> (x Data..:? "serverUrl")+ Prelude.<*> (x Data..:? "state")+ Prelude.<*> (x Data..:? "stateDetails")+ Prelude.<*> (x Data..:? "subnetIds" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "type")+ Prelude.<*> (x Data..:? "virtualClusterId")+ )++instance Prelude.Hashable Endpoint where+ hashWithSalt _salt Endpoint' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` certificateArn+ `Prelude.hashWithSalt` certificateAuthority+ `Prelude.hashWithSalt` configurationOverrides+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` executionRoleArn+ `Prelude.hashWithSalt` failureReason+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` releaseLabel+ `Prelude.hashWithSalt` securityGroup+ `Prelude.hashWithSalt` serverUrl+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` stateDetails+ `Prelude.hashWithSalt` subnetIds+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` virtualClusterId++instance Prelude.NFData Endpoint where+ rnf Endpoint' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf certificateArn+ `Prelude.seq` Prelude.rnf certificateAuthority+ `Prelude.seq` Prelude.rnf configurationOverrides+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf executionRoleArn+ `Prelude.seq` Prelude.rnf failureReason+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf releaseLabel+ `Prelude.seq` Prelude.rnf securityGroup+ `Prelude.seq` Prelude.rnf serverUrl+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf stateDetails+ `Prelude.seq` Prelude.rnf subnetIds+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf virtualClusterId
+ gen/Amazonka/EMRContainers/Types/EndpointState.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.Types.EndpointState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.EndpointState+ ( EndpointState+ ( ..,+ EndpointState_ACTIVE,+ EndpointState_CREATING,+ EndpointState_TERMINATED,+ EndpointState_TERMINATED_WITH_ERRORS,+ EndpointState_TERMINATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EndpointState = EndpointState'+ { fromEndpointState ::+ 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 EndpointState_ACTIVE :: EndpointState+pattern EndpointState_ACTIVE = EndpointState' "ACTIVE"++pattern EndpointState_CREATING :: EndpointState+pattern EndpointState_CREATING = EndpointState' "CREATING"++pattern EndpointState_TERMINATED :: EndpointState+pattern EndpointState_TERMINATED = EndpointState' "TERMINATED"++pattern EndpointState_TERMINATED_WITH_ERRORS :: EndpointState+pattern EndpointState_TERMINATED_WITH_ERRORS = EndpointState' "TERMINATED_WITH_ERRORS"++pattern EndpointState_TERMINATING :: EndpointState+pattern EndpointState_TERMINATING = EndpointState' "TERMINATING"++{-# COMPLETE+ EndpointState_ACTIVE,+ EndpointState_CREATING,+ EndpointState_TERMINATED,+ EndpointState_TERMINATED_WITH_ERRORS,+ EndpointState_TERMINATING,+ EndpointState'+ #-}
+ gen/Amazonka/EMRContainers/Types/FailureReason.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.Types.FailureReason+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.FailureReason+ ( FailureReason+ ( ..,+ FailureReason_CLUSTER_UNAVAILABLE,+ FailureReason_INTERNAL_ERROR,+ FailureReason_USER_ERROR,+ FailureReason_VALIDATION_ERROR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FailureReason = FailureReason'+ { fromFailureReason ::+ 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 FailureReason_CLUSTER_UNAVAILABLE :: FailureReason+pattern FailureReason_CLUSTER_UNAVAILABLE = FailureReason' "CLUSTER_UNAVAILABLE"++pattern FailureReason_INTERNAL_ERROR :: FailureReason+pattern FailureReason_INTERNAL_ERROR = FailureReason' "INTERNAL_ERROR"++pattern FailureReason_USER_ERROR :: FailureReason+pattern FailureReason_USER_ERROR = FailureReason' "USER_ERROR"++pattern FailureReason_VALIDATION_ERROR :: FailureReason+pattern FailureReason_VALIDATION_ERROR = FailureReason' "VALIDATION_ERROR"++{-# COMPLETE+ FailureReason_CLUSTER_UNAVAILABLE,+ FailureReason_INTERNAL_ERROR,+ FailureReason_USER_ERROR,+ FailureReason_VALIDATION_ERROR,+ FailureReason'+ #-}
+ gen/Amazonka/EMRContainers/Types/JobDriver.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.EMRContainers.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.EMRContainers.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.EMRContainers.Types.SparkSqlJobDriver+import Amazonka.EMRContainers.Types.SparkSubmitJobDriver+import qualified Amazonka.Prelude as Prelude++-- | Specify the driver that the job runs on. Exactly one of the two+-- available job drivers is required, either sparkSqlJobDriver or+-- sparkSubmitJobDriver.+--+-- /See:/ 'newJobDriver' smart constructor.+data JobDriver = JobDriver'+ { -- | The job driver for job type.+ sparkSqlJobDriver :: Prelude.Maybe SparkSqlJobDriver,+ -- | The job driver parameters specified for spark submit.+ sparkSubmitJobDriver :: Prelude.Maybe SparkSubmitJobDriver+ }+ 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:+--+-- 'sparkSqlJobDriver', 'jobDriver_sparkSqlJobDriver' - The job driver for job type.+--+-- 'sparkSubmitJobDriver', 'jobDriver_sparkSubmitJobDriver' - The job driver parameters specified for spark submit.+newJobDriver ::+ JobDriver+newJobDriver =+ JobDriver'+ { sparkSqlJobDriver = Prelude.Nothing,+ sparkSubmitJobDriver = Prelude.Nothing+ }++-- | The job driver for job type.+jobDriver_sparkSqlJobDriver :: Lens.Lens' JobDriver (Prelude.Maybe SparkSqlJobDriver)+jobDriver_sparkSqlJobDriver = Lens.lens (\JobDriver' {sparkSqlJobDriver} -> sparkSqlJobDriver) (\s@JobDriver' {} a -> s {sparkSqlJobDriver = a} :: JobDriver)++-- | The job driver parameters specified for spark submit.+jobDriver_sparkSubmitJobDriver :: Lens.Lens' JobDriver (Prelude.Maybe SparkSubmitJobDriver)+jobDriver_sparkSubmitJobDriver = Lens.lens (\JobDriver' {sparkSubmitJobDriver} -> sparkSubmitJobDriver) (\s@JobDriver' {} a -> s {sparkSubmitJobDriver = a} :: JobDriver)++instance Data.FromJSON JobDriver where+ parseJSON =+ Data.withObject+ "JobDriver"+ ( \x ->+ JobDriver'+ Prelude.<$> (x Data..:? "sparkSqlJobDriver")+ Prelude.<*> (x Data..:? "sparkSubmitJobDriver")+ )++instance Prelude.Hashable JobDriver where+ hashWithSalt _salt JobDriver' {..} =+ _salt+ `Prelude.hashWithSalt` sparkSqlJobDriver+ `Prelude.hashWithSalt` sparkSubmitJobDriver++instance Prelude.NFData JobDriver where+ rnf JobDriver' {..} =+ Prelude.rnf sparkSqlJobDriver+ `Prelude.seq` Prelude.rnf sparkSubmitJobDriver++instance Data.ToJSON JobDriver where+ toJSON JobDriver' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("sparkSqlJobDriver" Data..=)+ Prelude.<$> sparkSqlJobDriver,+ ("sparkSubmitJobDriver" Data..=)+ Prelude.<$> sparkSubmitJobDriver+ ]+ )
+ gen/Amazonka/EMRContainers/Types/JobRun.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.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.EMRContainers.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.EMRContainers.Types.ConfigurationOverrides+import Amazonka.EMRContainers.Types.FailureReason+import Amazonka.EMRContainers.Types.JobDriver+import Amazonka.EMRContainers.Types.JobRunState+import qualified Amazonka.Prelude as Prelude++-- | This entity describes a job run. A job run is a unit of work, such as a+-- Spark jar, PySpark script, or SparkSQL query, that you submit to Amazon+-- EMR on EKS.+--+-- /See:/ 'newJobRun' smart constructor.+data JobRun = JobRun'+ { -- | The ARN of job run.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The client token used to start a job run.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The configuration settings that are used to override default+ -- configuration.+ configurationOverrides :: Prelude.Maybe ConfigurationOverrides,+ -- | The date and time when the job run was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The user who created the job run.+ createdBy :: Prelude.Maybe Prelude.Text,+ -- | The execution role ARN of the job run.+ executionRoleArn :: Prelude.Maybe Prelude.Text,+ -- | The reasons why the job run has failed.+ failureReason :: Prelude.Maybe FailureReason,+ -- | The date and time when the job run has finished.+ finishedAt :: Prelude.Maybe Data.ISO8601,+ -- | The ID of the job run.+ id :: Prelude.Maybe Prelude.Text,+ -- | Parameters of job driver for the job run.+ jobDriver :: Prelude.Maybe JobDriver,+ -- | The name of the job run.+ name :: Prelude.Maybe Prelude.Text,+ -- | The release version of Amazon EMR.+ releaseLabel :: Prelude.Maybe Prelude.Text,+ -- | The state of the job run.+ state :: Prelude.Maybe JobRunState,+ -- | Additional details of the job run state.+ stateDetails :: Prelude.Maybe Prelude.Text,+ -- | The assigned tags of the job run.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ID of the job run\'s virtual cluster.+ virtualClusterId :: Prelude.Maybe Prelude.Text+ }+ 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:+--+-- 'arn', 'jobRun_arn' - The ARN of job run.+--+-- 'clientToken', 'jobRun_clientToken' - The client token used to start a job run.+--+-- 'configurationOverrides', 'jobRun_configurationOverrides' - The configuration settings that are used to override default+-- configuration.+--+-- 'createdAt', 'jobRun_createdAt' - The date and time when the job run was created.+--+-- 'createdBy', 'jobRun_createdBy' - The user who created the job run.+--+-- 'executionRoleArn', 'jobRun_executionRoleArn' - The execution role ARN of the job run.+--+-- 'failureReason', 'jobRun_failureReason' - The reasons why the job run has failed.+--+-- 'finishedAt', 'jobRun_finishedAt' - The date and time when the job run has finished.+--+-- 'id', 'jobRun_id' - The ID of the job run.+--+-- 'jobDriver', 'jobRun_jobDriver' - Parameters of job driver for the job run.+--+-- 'name', 'jobRun_name' - The name of the job run.+--+-- 'releaseLabel', 'jobRun_releaseLabel' - The release version of Amazon EMR.+--+-- 'state', 'jobRun_state' - The state of the job run.+--+-- 'stateDetails', 'jobRun_stateDetails' - Additional details of the job run state.+--+-- 'tags', 'jobRun_tags' - The assigned tags of the job run.+--+-- 'virtualClusterId', 'jobRun_virtualClusterId' - The ID of the job run\'s virtual cluster.+newJobRun ::+ JobRun+newJobRun =+ JobRun'+ { arn = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ configurationOverrides = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ createdBy = Prelude.Nothing,+ executionRoleArn = Prelude.Nothing,+ failureReason = Prelude.Nothing,+ finishedAt = Prelude.Nothing,+ id = Prelude.Nothing,+ jobDriver = Prelude.Nothing,+ name = Prelude.Nothing,+ releaseLabel = Prelude.Nothing,+ state = Prelude.Nothing,+ stateDetails = Prelude.Nothing,+ tags = Prelude.Nothing,+ virtualClusterId = Prelude.Nothing+ }++-- | The ARN of job run.+jobRun_arn :: Lens.Lens' JobRun (Prelude.Maybe Prelude.Text)+jobRun_arn = Lens.lens (\JobRun' {arn} -> arn) (\s@JobRun' {} a -> s {arn = a} :: JobRun)++-- | The client token used to start a job run.+jobRun_clientToken :: Lens.Lens' JobRun (Prelude.Maybe Prelude.Text)+jobRun_clientToken = Lens.lens (\JobRun' {clientToken} -> clientToken) (\s@JobRun' {} a -> s {clientToken = a} :: JobRun)++-- | 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 date and time when the job run was created.+jobRun_createdAt :: Lens.Lens' JobRun (Prelude.Maybe Prelude.UTCTime)+jobRun_createdAt = Lens.lens (\JobRun' {createdAt} -> createdAt) (\s@JobRun' {} a -> s {createdAt = a} :: JobRun) Prelude.. Lens.mapping Data._Time++-- | The user who created the job run.+jobRun_createdBy :: Lens.Lens' JobRun (Prelude.Maybe Prelude.Text)+jobRun_createdBy = Lens.lens (\JobRun' {createdBy} -> createdBy) (\s@JobRun' {} a -> s {createdBy = a} :: JobRun)++-- | The execution role ARN of the job run.+jobRun_executionRoleArn :: Lens.Lens' JobRun (Prelude.Maybe Prelude.Text)+jobRun_executionRoleArn = Lens.lens (\JobRun' {executionRoleArn} -> executionRoleArn) (\s@JobRun' {} a -> s {executionRoleArn = a} :: JobRun)++-- | The reasons why the job run has failed.+jobRun_failureReason :: Lens.Lens' JobRun (Prelude.Maybe FailureReason)+jobRun_failureReason = Lens.lens (\JobRun' {failureReason} -> failureReason) (\s@JobRun' {} a -> s {failureReason = a} :: JobRun)++-- | The date and time when the job run has finished.+jobRun_finishedAt :: Lens.Lens' JobRun (Prelude.Maybe Prelude.UTCTime)+jobRun_finishedAt = Lens.lens (\JobRun' {finishedAt} -> finishedAt) (\s@JobRun' {} a -> s {finishedAt = a} :: JobRun) Prelude.. Lens.mapping Data._Time++-- | The ID of the job run.+jobRun_id :: Lens.Lens' JobRun (Prelude.Maybe Prelude.Text)+jobRun_id = Lens.lens (\JobRun' {id} -> id) (\s@JobRun' {} a -> s {id = a} :: JobRun)++-- | Parameters of job driver for the job run.+jobRun_jobDriver :: Lens.Lens' JobRun (Prelude.Maybe JobDriver)+jobRun_jobDriver = Lens.lens (\JobRun' {jobDriver} -> jobDriver) (\s@JobRun' {} a -> s {jobDriver = a} :: JobRun)++-- | The name of the job run.+jobRun_name :: Lens.Lens' JobRun (Prelude.Maybe Prelude.Text)+jobRun_name = Lens.lens (\JobRun' {name} -> name) (\s@JobRun' {} a -> s {name = a} :: JobRun)++-- | The release version of Amazon EMR.+jobRun_releaseLabel :: Lens.Lens' JobRun (Prelude.Maybe Prelude.Text)+jobRun_releaseLabel = Lens.lens (\JobRun' {releaseLabel} -> releaseLabel) (\s@JobRun' {} a -> s {releaseLabel = a} :: JobRun)++-- | The state of the job run.+jobRun_state :: Lens.Lens' JobRun (Prelude.Maybe JobRunState)+jobRun_state = Lens.lens (\JobRun' {state} -> state) (\s@JobRun' {} a -> s {state = a} :: JobRun)++-- | Additional details of the job run state.+jobRun_stateDetails :: Lens.Lens' JobRun (Prelude.Maybe Prelude.Text)+jobRun_stateDetails = Lens.lens (\JobRun' {stateDetails} -> stateDetails) (\s@JobRun' {} a -> s {stateDetails = a} :: JobRun)++-- | The assigned tags of 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 ID of the job run\'s virtual cluster.+jobRun_virtualClusterId :: Lens.Lens' JobRun (Prelude.Maybe Prelude.Text)+jobRun_virtualClusterId = Lens.lens (\JobRun' {virtualClusterId} -> virtualClusterId) (\s@JobRun' {} a -> s {virtualClusterId = a} :: JobRun)++instance Data.FromJSON JobRun where+ parseJSON =+ Data.withObject+ "JobRun"+ ( \x ->+ JobRun'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "clientToken")+ Prelude.<*> (x Data..:? "configurationOverrides")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "createdBy")+ Prelude.<*> (x Data..:? "executionRoleArn")+ Prelude.<*> (x Data..:? "failureReason")+ Prelude.<*> (x Data..:? "finishedAt")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "jobDriver")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "releaseLabel")+ Prelude.<*> (x Data..:? "state")+ Prelude.<*> (x Data..:? "stateDetails")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "virtualClusterId")+ )++instance Prelude.Hashable JobRun where+ hashWithSalt _salt JobRun' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` configurationOverrides+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` executionRoleArn+ `Prelude.hashWithSalt` failureReason+ `Prelude.hashWithSalt` finishedAt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` jobDriver+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` releaseLabel+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` stateDetails+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` virtualClusterId++instance Prelude.NFData JobRun where+ rnf JobRun' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf configurationOverrides+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf executionRoleArn+ `Prelude.seq` Prelude.rnf failureReason+ `Prelude.seq` Prelude.rnf finishedAt+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf jobDriver+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf releaseLabel+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf stateDetails+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf virtualClusterId
+ gen/Amazonka/EMRContainers/Types/JobRunState.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.EMRContainers.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.EMRContainers.Types.JobRunState+ ( JobRunState+ ( ..,+ JobRunState_CANCELLED,+ JobRunState_CANCEL_PENDING,+ JobRunState_COMPLETED,+ JobRunState_FAILED,+ JobRunState_PENDING,+ JobRunState_RUNNING,+ JobRunState_SUBMITTED+ ),+ )+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_CANCEL_PENDING :: JobRunState+pattern JobRunState_CANCEL_PENDING = JobRunState' "CANCEL_PENDING"++pattern JobRunState_COMPLETED :: JobRunState+pattern JobRunState_COMPLETED = JobRunState' "COMPLETED"++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_SUBMITTED :: JobRunState+pattern JobRunState_SUBMITTED = JobRunState' "SUBMITTED"++{-# COMPLETE+ JobRunState_CANCELLED,+ JobRunState_CANCEL_PENDING,+ JobRunState_COMPLETED,+ JobRunState_FAILED,+ JobRunState_PENDING,+ JobRunState_RUNNING,+ JobRunState_SUBMITTED,+ JobRunState'+ #-}
+ gen/Amazonka/EMRContainers/Types/JobTemplate.hs view
@@ -0,0 +1,175 @@+{-# 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.EMRContainers.Types.JobTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.JobTemplate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types.JobTemplateData+import qualified Amazonka.Prelude as Prelude++-- | This entity describes a job template. Job template stores values of+-- StartJobRun API request in a template and can be used to start a job+-- run. Job template allows two use cases: avoid repeating recurring+-- StartJobRun API request values, enforcing certain values in StartJobRun+-- API request.+--+-- /See:/ 'newJobTemplate' smart constructor.+data JobTemplate = JobTemplate'+ { -- | The ARN of the job template.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time when the job template was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The user who created the job template.+ createdBy :: Prelude.Maybe Prelude.Text,+ -- | The error message in case the decryption of job template fails.+ decryptionError :: Prelude.Maybe Prelude.Text,+ -- | The ID of the job template.+ id :: Prelude.Maybe Prelude.Text,+ -- | The KMS key ARN used to encrypt the job template.+ kmsKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the job template.+ name :: Prelude.Maybe Prelude.Text,+ -- | The tags assigned to the job template.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The job template data which holds values of StartJobRun API request.+ jobTemplateData :: JobTemplateData+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'jobTemplate_arn' - The ARN of the job template.+--+-- 'createdAt', 'jobTemplate_createdAt' - The date and time when the job template was created.+--+-- 'createdBy', 'jobTemplate_createdBy' - The user who created the job template.+--+-- 'decryptionError', 'jobTemplate_decryptionError' - The error message in case the decryption of job template fails.+--+-- 'id', 'jobTemplate_id' - The ID of the job template.+--+-- 'kmsKeyArn', 'jobTemplate_kmsKeyArn' - The KMS key ARN used to encrypt the job template.+--+-- 'name', 'jobTemplate_name' - The name of the job template.+--+-- 'tags', 'jobTemplate_tags' - The tags assigned to the job template.+--+-- 'jobTemplateData', 'jobTemplate_jobTemplateData' - The job template data which holds values of StartJobRun API request.+newJobTemplate ::+ -- | 'jobTemplateData'+ JobTemplateData ->+ JobTemplate+newJobTemplate pJobTemplateData_ =+ JobTemplate'+ { arn = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ createdBy = Prelude.Nothing,+ decryptionError = Prelude.Nothing,+ id = Prelude.Nothing,+ kmsKeyArn = Prelude.Nothing,+ name = Prelude.Nothing,+ tags = Prelude.Nothing,+ jobTemplateData = pJobTemplateData_+ }++-- | The ARN of the job template.+jobTemplate_arn :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.Text)+jobTemplate_arn = Lens.lens (\JobTemplate' {arn} -> arn) (\s@JobTemplate' {} a -> s {arn = a} :: JobTemplate)++-- | The date and time when the job template was created.+jobTemplate_createdAt :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.UTCTime)+jobTemplate_createdAt = Lens.lens (\JobTemplate' {createdAt} -> createdAt) (\s@JobTemplate' {} a -> s {createdAt = a} :: JobTemplate) Prelude.. Lens.mapping Data._Time++-- | The user who created the job template.+jobTemplate_createdBy :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.Text)+jobTemplate_createdBy = Lens.lens (\JobTemplate' {createdBy} -> createdBy) (\s@JobTemplate' {} a -> s {createdBy = a} :: JobTemplate)++-- | The error message in case the decryption of job template fails.+jobTemplate_decryptionError :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.Text)+jobTemplate_decryptionError = Lens.lens (\JobTemplate' {decryptionError} -> decryptionError) (\s@JobTemplate' {} a -> s {decryptionError = a} :: JobTemplate)++-- | The ID of the job template.+jobTemplate_id :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.Text)+jobTemplate_id = Lens.lens (\JobTemplate' {id} -> id) (\s@JobTemplate' {} a -> s {id = a} :: JobTemplate)++-- | The KMS key ARN used to encrypt the job template.+jobTemplate_kmsKeyArn :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.Text)+jobTemplate_kmsKeyArn = Lens.lens (\JobTemplate' {kmsKeyArn} -> kmsKeyArn) (\s@JobTemplate' {} a -> s {kmsKeyArn = a} :: JobTemplate)++-- | The name of the job template.+jobTemplate_name :: Lens.Lens' JobTemplate (Prelude.Maybe Prelude.Text)+jobTemplate_name = Lens.lens (\JobTemplate' {name} -> name) (\s@JobTemplate' {} a -> s {name = a} :: JobTemplate)++-- | The tags assigned to the job template.+jobTemplate_tags :: Lens.Lens' JobTemplate (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+jobTemplate_tags = Lens.lens (\JobTemplate' {tags} -> tags) (\s@JobTemplate' {} a -> s {tags = a} :: JobTemplate) Prelude.. Lens.mapping Lens.coerced++-- | The job template data which holds values of StartJobRun API request.+jobTemplate_jobTemplateData :: Lens.Lens' JobTemplate JobTemplateData+jobTemplate_jobTemplateData = Lens.lens (\JobTemplate' {jobTemplateData} -> jobTemplateData) (\s@JobTemplate' {} a -> s {jobTemplateData = a} :: JobTemplate)++instance Data.FromJSON JobTemplate where+ parseJSON =+ Data.withObject+ "JobTemplate"+ ( \x ->+ JobTemplate'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "createdBy")+ Prelude.<*> (x Data..:? "decryptionError")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "kmsKeyArn")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "jobTemplateData")+ )++instance Prelude.Hashable JobTemplate where+ hashWithSalt _salt JobTemplate' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` decryptionError+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` kmsKeyArn+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` jobTemplateData++instance Prelude.NFData JobTemplate where+ rnf JobTemplate' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf decryptionError+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf kmsKeyArn+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf jobTemplateData
+ gen/Amazonka/EMRContainers/Types/JobTemplateData.hs view
@@ -0,0 +1,167 @@+{-# 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.EMRContainers.Types.JobTemplateData+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.JobTemplateData where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types.JobDriver+import Amazonka.EMRContainers.Types.ParametricConfigurationOverrides+import Amazonka.EMRContainers.Types.TemplateParameterConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The values of StartJobRun API requests used in job runs started using+-- the job template.+--+-- /See:/ 'newJobTemplateData' smart constructor.+data JobTemplateData = JobTemplateData'+ { -- | The configuration settings that are used to override defaults+ -- configuration.+ configurationOverrides :: Prelude.Maybe ParametricConfigurationOverrides,+ -- | The tags assigned to jobs started using the job template.+ jobTags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The configuration of parameters existing in the job template.+ parameterConfiguration :: Prelude.Maybe (Prelude.HashMap Prelude.Text TemplateParameterConfiguration),+ -- | The execution role ARN of the job run.+ executionRoleArn :: Prelude.Text,+ -- | The release version of Amazon EMR.+ releaseLabel :: Prelude.Text,+ jobDriver :: JobDriver+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobTemplateData' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'jobTemplateData_configurationOverrides' - The configuration settings that are used to override defaults+-- configuration.+--+-- 'jobTags', 'jobTemplateData_jobTags' - The tags assigned to jobs started using the job template.+--+-- 'parameterConfiguration', 'jobTemplateData_parameterConfiguration' - The configuration of parameters existing in the job template.+--+-- 'executionRoleArn', 'jobTemplateData_executionRoleArn' - The execution role ARN of the job run.+--+-- 'releaseLabel', 'jobTemplateData_releaseLabel' - The release version of Amazon EMR.+--+-- 'jobDriver', 'jobTemplateData_jobDriver' - Undocumented member.+newJobTemplateData ::+ -- | 'executionRoleArn'+ Prelude.Text ->+ -- | 'releaseLabel'+ Prelude.Text ->+ -- | 'jobDriver'+ JobDriver ->+ JobTemplateData+newJobTemplateData+ pExecutionRoleArn_+ pReleaseLabel_+ pJobDriver_ =+ JobTemplateData'+ { configurationOverrides =+ Prelude.Nothing,+ jobTags = Prelude.Nothing,+ parameterConfiguration = Prelude.Nothing,+ executionRoleArn = pExecutionRoleArn_,+ releaseLabel = pReleaseLabel_,+ jobDriver = pJobDriver_+ }++-- | The configuration settings that are used to override defaults+-- configuration.+jobTemplateData_configurationOverrides :: Lens.Lens' JobTemplateData (Prelude.Maybe ParametricConfigurationOverrides)+jobTemplateData_configurationOverrides = Lens.lens (\JobTemplateData' {configurationOverrides} -> configurationOverrides) (\s@JobTemplateData' {} a -> s {configurationOverrides = a} :: JobTemplateData)++-- | The tags assigned to jobs started using the job template.+jobTemplateData_jobTags :: Lens.Lens' JobTemplateData (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+jobTemplateData_jobTags = Lens.lens (\JobTemplateData' {jobTags} -> jobTags) (\s@JobTemplateData' {} a -> s {jobTags = a} :: JobTemplateData) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of parameters existing in the job template.+jobTemplateData_parameterConfiguration :: Lens.Lens' JobTemplateData (Prelude.Maybe (Prelude.HashMap Prelude.Text TemplateParameterConfiguration))+jobTemplateData_parameterConfiguration = Lens.lens (\JobTemplateData' {parameterConfiguration} -> parameterConfiguration) (\s@JobTemplateData' {} a -> s {parameterConfiguration = a} :: JobTemplateData) Prelude.. Lens.mapping Lens.coerced++-- | The execution role ARN of the job run.+jobTemplateData_executionRoleArn :: Lens.Lens' JobTemplateData Prelude.Text+jobTemplateData_executionRoleArn = Lens.lens (\JobTemplateData' {executionRoleArn} -> executionRoleArn) (\s@JobTemplateData' {} a -> s {executionRoleArn = a} :: JobTemplateData)++-- | The release version of Amazon EMR.+jobTemplateData_releaseLabel :: Lens.Lens' JobTemplateData Prelude.Text+jobTemplateData_releaseLabel = Lens.lens (\JobTemplateData' {releaseLabel} -> releaseLabel) (\s@JobTemplateData' {} a -> s {releaseLabel = a} :: JobTemplateData)++-- | Undocumented member.+jobTemplateData_jobDriver :: Lens.Lens' JobTemplateData JobDriver+jobTemplateData_jobDriver = Lens.lens (\JobTemplateData' {jobDriver} -> jobDriver) (\s@JobTemplateData' {} a -> s {jobDriver = a} :: JobTemplateData)++instance Data.FromJSON JobTemplateData where+ parseJSON =+ Data.withObject+ "JobTemplateData"+ ( \x ->+ JobTemplateData'+ Prelude.<$> (x Data..:? "configurationOverrides")+ Prelude.<*> (x Data..:? "jobTags" Data..!= Prelude.mempty)+ Prelude.<*> ( x+ Data..:? "parameterConfiguration"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..: "executionRoleArn")+ Prelude.<*> (x Data..: "releaseLabel")+ Prelude.<*> (x Data..: "jobDriver")+ )++instance Prelude.Hashable JobTemplateData where+ hashWithSalt _salt JobTemplateData' {..} =+ _salt+ `Prelude.hashWithSalt` configurationOverrides+ `Prelude.hashWithSalt` jobTags+ `Prelude.hashWithSalt` parameterConfiguration+ `Prelude.hashWithSalt` executionRoleArn+ `Prelude.hashWithSalt` releaseLabel+ `Prelude.hashWithSalt` jobDriver++instance Prelude.NFData JobTemplateData where+ rnf JobTemplateData' {..} =+ Prelude.rnf configurationOverrides+ `Prelude.seq` Prelude.rnf jobTags+ `Prelude.seq` Prelude.rnf parameterConfiguration+ `Prelude.seq` Prelude.rnf executionRoleArn+ `Prelude.seq` Prelude.rnf releaseLabel+ `Prelude.seq` Prelude.rnf jobDriver++instance Data.ToJSON JobTemplateData where+ toJSON JobTemplateData' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("configurationOverrides" Data..=)+ Prelude.<$> configurationOverrides,+ ("jobTags" Data..=) Prelude.<$> jobTags,+ ("parameterConfiguration" Data..=)+ Prelude.<$> parameterConfiguration,+ Prelude.Just+ ("executionRoleArn" Data..= executionRoleArn),+ Prelude.Just ("releaseLabel" Data..= releaseLabel),+ Prelude.Just ("jobDriver" Data..= jobDriver)+ ]+ )
+ gen/Amazonka/EMRContainers/Types/MonitoringConfiguration.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.EMRContainers.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.EMRContainers.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.EMRContainers.Types.CloudWatchMonitoringConfiguration+import Amazonka.EMRContainers.Types.PersistentAppUI+import Amazonka.EMRContainers.Types.S3MonitoringConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Configuration setting for monitoring.+--+-- /See:/ 'newMonitoringConfiguration' smart constructor.+data MonitoringConfiguration = MonitoringConfiguration'+ { -- | Monitoring configurations for CloudWatch.+ cloudWatchMonitoringConfiguration :: Prelude.Maybe CloudWatchMonitoringConfiguration,+ -- | Monitoring configurations for the persistent application UI.+ persistentAppUI :: Prelude.Maybe PersistentAppUI,+ -- | 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:+--+-- 'cloudWatchMonitoringConfiguration', 'monitoringConfiguration_cloudWatchMonitoringConfiguration' - Monitoring configurations for CloudWatch.+--+-- 'persistentAppUI', 'monitoringConfiguration_persistentAppUI' - Monitoring configurations for the persistent application UI.+--+-- 's3MonitoringConfiguration', 'monitoringConfiguration_s3MonitoringConfiguration' - Amazon S3 configuration for monitoring log publishing.+newMonitoringConfiguration ::+ MonitoringConfiguration+newMonitoringConfiguration =+ MonitoringConfiguration'+ { cloudWatchMonitoringConfiguration =+ Prelude.Nothing,+ persistentAppUI = Prelude.Nothing,+ s3MonitoringConfiguration = Prelude.Nothing+ }++-- | Monitoring configurations for CloudWatch.+monitoringConfiguration_cloudWatchMonitoringConfiguration :: Lens.Lens' MonitoringConfiguration (Prelude.Maybe CloudWatchMonitoringConfiguration)+monitoringConfiguration_cloudWatchMonitoringConfiguration = Lens.lens (\MonitoringConfiguration' {cloudWatchMonitoringConfiguration} -> cloudWatchMonitoringConfiguration) (\s@MonitoringConfiguration' {} a -> s {cloudWatchMonitoringConfiguration = a} :: MonitoringConfiguration)++-- | Monitoring configurations for the persistent application UI.+monitoringConfiguration_persistentAppUI :: Lens.Lens' MonitoringConfiguration (Prelude.Maybe PersistentAppUI)+monitoringConfiguration_persistentAppUI = Lens.lens (\MonitoringConfiguration' {persistentAppUI} -> persistentAppUI) (\s@MonitoringConfiguration' {} a -> s {persistentAppUI = a} :: MonitoringConfiguration)++-- | 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..:? "cloudWatchMonitoringConfiguration")+ Prelude.<*> (x Data..:? "persistentAppUI")+ Prelude.<*> (x Data..:? "s3MonitoringConfiguration")+ )++instance Prelude.Hashable MonitoringConfiguration where+ hashWithSalt _salt MonitoringConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` cloudWatchMonitoringConfiguration+ `Prelude.hashWithSalt` persistentAppUI+ `Prelude.hashWithSalt` s3MonitoringConfiguration++instance Prelude.NFData MonitoringConfiguration where+ rnf MonitoringConfiguration' {..} =+ Prelude.rnf cloudWatchMonitoringConfiguration+ `Prelude.seq` Prelude.rnf persistentAppUI+ `Prelude.seq` Prelude.rnf s3MonitoringConfiguration++instance Data.ToJSON MonitoringConfiguration where+ toJSON MonitoringConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("cloudWatchMonitoringConfiguration" Data..=)+ Prelude.<$> cloudWatchMonitoringConfiguration,+ ("persistentAppUI" Data..=)+ Prelude.<$> persistentAppUI,+ ("s3MonitoringConfiguration" Data..=)+ Prelude.<$> s3MonitoringConfiguration+ ]+ )
+ gen/Amazonka/EMRContainers/Types/ParametricCloudWatchMonitoringConfiguration.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.EMRContainers.Types.ParametricCloudWatchMonitoringConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.ParametricCloudWatchMonitoringConfiguration 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 for CloudWatch monitoring. You can configure your jobs+-- to send log information to CloudWatch Logs. This data type allows job+-- template parameters to be specified within.+--+-- /See:/ 'newParametricCloudWatchMonitoringConfiguration' smart constructor.+data ParametricCloudWatchMonitoringConfiguration = ParametricCloudWatchMonitoringConfiguration'+ { -- | The name of the log group for log publishing.+ logGroupName :: Prelude.Maybe Prelude.Text,+ -- | The specified name prefix for log streams.+ logStreamNamePrefix :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParametricCloudWatchMonitoringConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logGroupName', 'parametricCloudWatchMonitoringConfiguration_logGroupName' - The name of the log group for log publishing.+--+-- 'logStreamNamePrefix', 'parametricCloudWatchMonitoringConfiguration_logStreamNamePrefix' - The specified name prefix for log streams.+newParametricCloudWatchMonitoringConfiguration ::+ ParametricCloudWatchMonitoringConfiguration+newParametricCloudWatchMonitoringConfiguration =+ ParametricCloudWatchMonitoringConfiguration'+ { logGroupName =+ Prelude.Nothing,+ logStreamNamePrefix =+ Prelude.Nothing+ }++-- | The name of the log group for log publishing.+parametricCloudWatchMonitoringConfiguration_logGroupName :: Lens.Lens' ParametricCloudWatchMonitoringConfiguration (Prelude.Maybe Prelude.Text)+parametricCloudWatchMonitoringConfiguration_logGroupName = Lens.lens (\ParametricCloudWatchMonitoringConfiguration' {logGroupName} -> logGroupName) (\s@ParametricCloudWatchMonitoringConfiguration' {} a -> s {logGroupName = a} :: ParametricCloudWatchMonitoringConfiguration)++-- | The specified name prefix for log streams.+parametricCloudWatchMonitoringConfiguration_logStreamNamePrefix :: Lens.Lens' ParametricCloudWatchMonitoringConfiguration (Prelude.Maybe Prelude.Text)+parametricCloudWatchMonitoringConfiguration_logStreamNamePrefix = Lens.lens (\ParametricCloudWatchMonitoringConfiguration' {logStreamNamePrefix} -> logStreamNamePrefix) (\s@ParametricCloudWatchMonitoringConfiguration' {} a -> s {logStreamNamePrefix = a} :: ParametricCloudWatchMonitoringConfiguration)++instance+ Data.FromJSON+ ParametricCloudWatchMonitoringConfiguration+ where+ parseJSON =+ Data.withObject+ "ParametricCloudWatchMonitoringConfiguration"+ ( \x ->+ ParametricCloudWatchMonitoringConfiguration'+ Prelude.<$> (x Data..:? "logGroupName")+ Prelude.<*> (x Data..:? "logStreamNamePrefix")+ )++instance+ Prelude.Hashable+ ParametricCloudWatchMonitoringConfiguration+ where+ hashWithSalt+ _salt+ ParametricCloudWatchMonitoringConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` logGroupName+ `Prelude.hashWithSalt` logStreamNamePrefix++instance+ Prelude.NFData+ ParametricCloudWatchMonitoringConfiguration+ where+ rnf ParametricCloudWatchMonitoringConfiguration' {..} =+ Prelude.rnf logGroupName+ `Prelude.seq` Prelude.rnf logStreamNamePrefix++instance+ Data.ToJSON+ ParametricCloudWatchMonitoringConfiguration+ where+ toJSON+ ParametricCloudWatchMonitoringConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("logGroupName" Data..=) Prelude.<$> logGroupName,+ ("logStreamNamePrefix" Data..=)+ Prelude.<$> logStreamNamePrefix+ ]+ )
+ gen/Amazonka/EMRContainers/Types/ParametricConfigurationOverrides.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.Types.ParametricConfigurationOverrides+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.ParametricConfigurationOverrides where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types.Configuration+import Amazonka.EMRContainers.Types.ParametricMonitoringConfiguration+import qualified Amazonka.Prelude as Prelude++-- | A configuration specification to be used to override existing+-- configurations. This data type allows job template parameters to be+-- specified within.+--+-- /See:/ 'newParametricConfigurationOverrides' smart constructor.+data ParametricConfigurationOverrides = ParametricConfigurationOverrides'+ { -- | The configurations for the application running by the job run.+ applicationConfiguration :: Prelude.Maybe [Configuration],+ -- | The configurations for monitoring.+ monitoringConfiguration :: Prelude.Maybe ParametricMonitoringConfiguration+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParametricConfigurationOverrides' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'parametricConfigurationOverrides_applicationConfiguration' - The configurations for the application running by the job run.+--+-- 'monitoringConfiguration', 'parametricConfigurationOverrides_monitoringConfiguration' - The configurations for monitoring.+newParametricConfigurationOverrides ::+ ParametricConfigurationOverrides+newParametricConfigurationOverrides =+ ParametricConfigurationOverrides'+ { applicationConfiguration =+ Prelude.Nothing,+ monitoringConfiguration = Prelude.Nothing+ }++-- | The configurations for the application running by the job run.+parametricConfigurationOverrides_applicationConfiguration :: Lens.Lens' ParametricConfigurationOverrides (Prelude.Maybe [Configuration])+parametricConfigurationOverrides_applicationConfiguration = Lens.lens (\ParametricConfigurationOverrides' {applicationConfiguration} -> applicationConfiguration) (\s@ParametricConfigurationOverrides' {} a -> s {applicationConfiguration = a} :: ParametricConfigurationOverrides) Prelude.. Lens.mapping Lens.coerced++-- | The configurations for monitoring.+parametricConfigurationOverrides_monitoringConfiguration :: Lens.Lens' ParametricConfigurationOverrides (Prelude.Maybe ParametricMonitoringConfiguration)+parametricConfigurationOverrides_monitoringConfiguration = Lens.lens (\ParametricConfigurationOverrides' {monitoringConfiguration} -> monitoringConfiguration) (\s@ParametricConfigurationOverrides' {} a -> s {monitoringConfiguration = a} :: ParametricConfigurationOverrides)++instance+ Data.FromJSON+ ParametricConfigurationOverrides+ where+ parseJSON =+ Data.withObject+ "ParametricConfigurationOverrides"+ ( \x ->+ ParametricConfigurationOverrides'+ Prelude.<$> ( x+ Data..:? "applicationConfiguration"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "monitoringConfiguration")+ )++instance+ Prelude.Hashable+ ParametricConfigurationOverrides+ where+ hashWithSalt+ _salt+ ParametricConfigurationOverrides' {..} =+ _salt+ `Prelude.hashWithSalt` applicationConfiguration+ `Prelude.hashWithSalt` monitoringConfiguration++instance+ Prelude.NFData+ ParametricConfigurationOverrides+ where+ rnf ParametricConfigurationOverrides' {..} =+ Prelude.rnf applicationConfiguration+ `Prelude.seq` Prelude.rnf monitoringConfiguration++instance Data.ToJSON ParametricConfigurationOverrides where+ toJSON ParametricConfigurationOverrides' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("applicationConfiguration" Data..=)+ Prelude.<$> applicationConfiguration,+ ("monitoringConfiguration" Data..=)+ Prelude.<$> monitoringConfiguration+ ]+ )
+ gen/Amazonka/EMRContainers/Types/ParametricMonitoringConfiguration.hs view
@@ -0,0 +1,128 @@+{-# 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.EMRContainers.Types.ParametricMonitoringConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.ParametricMonitoringConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types.ParametricCloudWatchMonitoringConfiguration+import Amazonka.EMRContainers.Types.ParametricS3MonitoringConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Configuration setting for monitoring. This data type allows job template+-- parameters to be specified within.+--+-- /See:/ 'newParametricMonitoringConfiguration' smart constructor.+data ParametricMonitoringConfiguration = ParametricMonitoringConfiguration'+ { -- | Monitoring configurations for CloudWatch.+ cloudWatchMonitoringConfiguration :: Prelude.Maybe ParametricCloudWatchMonitoringConfiguration,+ -- | Monitoring configurations for the persistent application UI.+ persistentAppUI :: Prelude.Maybe Prelude.Text,+ -- | Amazon S3 configuration for monitoring log publishing.+ s3MonitoringConfiguration :: Prelude.Maybe ParametricS3MonitoringConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParametricMonitoringConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cloudWatchMonitoringConfiguration', 'parametricMonitoringConfiguration_cloudWatchMonitoringConfiguration' - Monitoring configurations for CloudWatch.+--+-- 'persistentAppUI', 'parametricMonitoringConfiguration_persistentAppUI' - Monitoring configurations for the persistent application UI.+--+-- 's3MonitoringConfiguration', 'parametricMonitoringConfiguration_s3MonitoringConfiguration' - Amazon S3 configuration for monitoring log publishing.+newParametricMonitoringConfiguration ::+ ParametricMonitoringConfiguration+newParametricMonitoringConfiguration =+ ParametricMonitoringConfiguration'+ { cloudWatchMonitoringConfiguration =+ Prelude.Nothing,+ persistentAppUI = Prelude.Nothing,+ s3MonitoringConfiguration =+ Prelude.Nothing+ }++-- | Monitoring configurations for CloudWatch.+parametricMonitoringConfiguration_cloudWatchMonitoringConfiguration :: Lens.Lens' ParametricMonitoringConfiguration (Prelude.Maybe ParametricCloudWatchMonitoringConfiguration)+parametricMonitoringConfiguration_cloudWatchMonitoringConfiguration = Lens.lens (\ParametricMonitoringConfiguration' {cloudWatchMonitoringConfiguration} -> cloudWatchMonitoringConfiguration) (\s@ParametricMonitoringConfiguration' {} a -> s {cloudWatchMonitoringConfiguration = a} :: ParametricMonitoringConfiguration)++-- | Monitoring configurations for the persistent application UI.+parametricMonitoringConfiguration_persistentAppUI :: Lens.Lens' ParametricMonitoringConfiguration (Prelude.Maybe Prelude.Text)+parametricMonitoringConfiguration_persistentAppUI = Lens.lens (\ParametricMonitoringConfiguration' {persistentAppUI} -> persistentAppUI) (\s@ParametricMonitoringConfiguration' {} a -> s {persistentAppUI = a} :: ParametricMonitoringConfiguration)++-- | Amazon S3 configuration for monitoring log publishing.+parametricMonitoringConfiguration_s3MonitoringConfiguration :: Lens.Lens' ParametricMonitoringConfiguration (Prelude.Maybe ParametricS3MonitoringConfiguration)+parametricMonitoringConfiguration_s3MonitoringConfiguration = Lens.lens (\ParametricMonitoringConfiguration' {s3MonitoringConfiguration} -> s3MonitoringConfiguration) (\s@ParametricMonitoringConfiguration' {} a -> s {s3MonitoringConfiguration = a} :: ParametricMonitoringConfiguration)++instance+ Data.FromJSON+ ParametricMonitoringConfiguration+ where+ parseJSON =+ Data.withObject+ "ParametricMonitoringConfiguration"+ ( \x ->+ ParametricMonitoringConfiguration'+ Prelude.<$> (x Data..:? "cloudWatchMonitoringConfiguration")+ Prelude.<*> (x Data..:? "persistentAppUI")+ Prelude.<*> (x Data..:? "s3MonitoringConfiguration")+ )++instance+ Prelude.Hashable+ ParametricMonitoringConfiguration+ where+ hashWithSalt+ _salt+ ParametricMonitoringConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` cloudWatchMonitoringConfiguration+ `Prelude.hashWithSalt` persistentAppUI+ `Prelude.hashWithSalt` s3MonitoringConfiguration++instance+ Prelude.NFData+ ParametricMonitoringConfiguration+ where+ rnf ParametricMonitoringConfiguration' {..} =+ Prelude.rnf cloudWatchMonitoringConfiguration+ `Prelude.seq` Prelude.rnf persistentAppUI+ `Prelude.seq` Prelude.rnf s3MonitoringConfiguration++instance+ Data.ToJSON+ ParametricMonitoringConfiguration+ where+ toJSON ParametricMonitoringConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("cloudWatchMonitoringConfiguration" Data..=)+ Prelude.<$> cloudWatchMonitoringConfiguration,+ ("persistentAppUI" Data..=)+ Prelude.<$> persistentAppUI,+ ("s3MonitoringConfiguration" Data..=)+ Prelude.<$> s3MonitoringConfiguration+ ]+ )
+ gen/Amazonka/EMRContainers/Types/ParametricS3MonitoringConfiguration.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.EMRContainers.Types.ParametricS3MonitoringConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.ParametricS3MonitoringConfiguration 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++-- | Amazon S3 configuration for monitoring log publishing. You can configure+-- your jobs to send log information to Amazon S3. This data type allows+-- job template parameters to be specified within.+--+-- /See:/ 'newParametricS3MonitoringConfiguration' smart constructor.+data ParametricS3MonitoringConfiguration = ParametricS3MonitoringConfiguration'+ { -- | 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 'ParametricS3MonitoringConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logUri', 'parametricS3MonitoringConfiguration_logUri' - Amazon S3 destination URI for log publishing.+newParametricS3MonitoringConfiguration ::+ ParametricS3MonitoringConfiguration+newParametricS3MonitoringConfiguration =+ ParametricS3MonitoringConfiguration'+ { logUri =+ Prelude.Nothing+ }++-- | Amazon S3 destination URI for log publishing.+parametricS3MonitoringConfiguration_logUri :: Lens.Lens' ParametricS3MonitoringConfiguration (Prelude.Maybe Prelude.Text)+parametricS3MonitoringConfiguration_logUri = Lens.lens (\ParametricS3MonitoringConfiguration' {logUri} -> logUri) (\s@ParametricS3MonitoringConfiguration' {} a -> s {logUri = a} :: ParametricS3MonitoringConfiguration)++instance+ Data.FromJSON+ ParametricS3MonitoringConfiguration+ where+ parseJSON =+ Data.withObject+ "ParametricS3MonitoringConfiguration"+ ( \x ->+ ParametricS3MonitoringConfiguration'+ Prelude.<$> (x Data..:? "logUri")+ )++instance+ Prelude.Hashable+ ParametricS3MonitoringConfiguration+ where+ hashWithSalt+ _salt+ ParametricS3MonitoringConfiguration' {..} =+ _salt `Prelude.hashWithSalt` logUri++instance+ Prelude.NFData+ ParametricS3MonitoringConfiguration+ where+ rnf ParametricS3MonitoringConfiguration' {..} =+ Prelude.rnf logUri++instance+ Data.ToJSON+ ParametricS3MonitoringConfiguration+ where+ toJSON ParametricS3MonitoringConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [("logUri" Data..=) Prelude.<$> logUri]+ )
+ gen/Amazonka/EMRContainers/Types/PersistentAppUI.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.EMRContainers.Types.PersistentAppUI+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.PersistentAppUI+ ( PersistentAppUI+ ( ..,+ PersistentAppUI_DISABLED,+ PersistentAppUI_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PersistentAppUI = PersistentAppUI'+ { fromPersistentAppUI ::+ 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 PersistentAppUI_DISABLED :: PersistentAppUI+pattern PersistentAppUI_DISABLED = PersistentAppUI' "DISABLED"++pattern PersistentAppUI_ENABLED :: PersistentAppUI+pattern PersistentAppUI_ENABLED = PersistentAppUI' "ENABLED"++{-# COMPLETE+ PersistentAppUI_DISABLED,+ PersistentAppUI_ENABLED,+ PersistentAppUI'+ #-}
+ gen/Amazonka/EMRContainers/Types/S3MonitoringConfiguration.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.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.EMRContainers.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++-- | 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'+ { -- | Amazon S3 destination URI for log publishing.+ logUri :: 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:+--+-- 'logUri', 's3MonitoringConfiguration_logUri' - Amazon S3 destination URI for log publishing.+newS3MonitoringConfiguration ::+ -- | 'logUri'+ Prelude.Text ->+ S3MonitoringConfiguration+newS3MonitoringConfiguration pLogUri_ =+ S3MonitoringConfiguration' {logUri = pLogUri_}++-- | Amazon S3 destination URI for log publishing.+s3MonitoringConfiguration_logUri :: Lens.Lens' S3MonitoringConfiguration 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..: "logUri")+ )++instance Prelude.Hashable S3MonitoringConfiguration where+ hashWithSalt _salt S3MonitoringConfiguration' {..} =+ _salt `Prelude.hashWithSalt` logUri++instance Prelude.NFData S3MonitoringConfiguration where+ rnf S3MonitoringConfiguration' {..} =+ Prelude.rnf logUri++instance Data.ToJSON S3MonitoringConfiguration where+ toJSON S3MonitoringConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("logUri" Data..= logUri)]+ )
+ gen/Amazonka/EMRContainers/Types/SparkSqlJobDriver.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.Types.SparkSqlJobDriver+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.SparkSqlJobDriver 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 job driver for job type.+--+-- /See:/ 'newSparkSqlJobDriver' smart constructor.+data SparkSqlJobDriver = SparkSqlJobDriver'+ { -- | The SQL file to be executed.+ entryPoint :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The Spark parameters to be included in the Spark SQL command.+ sparkSqlParameters :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SparkSqlJobDriver' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'entryPoint', 'sparkSqlJobDriver_entryPoint' - The SQL file to be executed.+--+-- 'sparkSqlParameters', 'sparkSqlJobDriver_sparkSqlParameters' - The Spark parameters to be included in the Spark SQL command.+newSparkSqlJobDriver ::+ SparkSqlJobDriver+newSparkSqlJobDriver =+ SparkSqlJobDriver'+ { entryPoint = Prelude.Nothing,+ sparkSqlParameters = Prelude.Nothing+ }++-- | The SQL file to be executed.+sparkSqlJobDriver_entryPoint :: Lens.Lens' SparkSqlJobDriver (Prelude.Maybe Prelude.Text)+sparkSqlJobDriver_entryPoint = Lens.lens (\SparkSqlJobDriver' {entryPoint} -> entryPoint) (\s@SparkSqlJobDriver' {} a -> s {entryPoint = a} :: SparkSqlJobDriver) Prelude.. Lens.mapping Data._Sensitive++-- | The Spark parameters to be included in the Spark SQL command.+sparkSqlJobDriver_sparkSqlParameters :: Lens.Lens' SparkSqlJobDriver (Prelude.Maybe Prelude.Text)+sparkSqlJobDriver_sparkSqlParameters = Lens.lens (\SparkSqlJobDriver' {sparkSqlParameters} -> sparkSqlParameters) (\s@SparkSqlJobDriver' {} a -> s {sparkSqlParameters = a} :: SparkSqlJobDriver) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON SparkSqlJobDriver where+ parseJSON =+ Data.withObject+ "SparkSqlJobDriver"+ ( \x ->+ SparkSqlJobDriver'+ Prelude.<$> (x Data..:? "entryPoint")+ Prelude.<*> (x Data..:? "sparkSqlParameters")+ )++instance Prelude.Hashable SparkSqlJobDriver where+ hashWithSalt _salt SparkSqlJobDriver' {..} =+ _salt+ `Prelude.hashWithSalt` entryPoint+ `Prelude.hashWithSalt` sparkSqlParameters++instance Prelude.NFData SparkSqlJobDriver where+ rnf SparkSqlJobDriver' {..} =+ Prelude.rnf entryPoint+ `Prelude.seq` Prelude.rnf sparkSqlParameters++instance Data.ToJSON SparkSqlJobDriver where+ toJSON SparkSqlJobDriver' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("entryPoint" Data..=) Prelude.<$> entryPoint,+ ("sparkSqlParameters" Data..=)+ Prelude.<$> sparkSqlParameters+ ]+ )
+ gen/Amazonka/EMRContainers/Types/SparkSubmitJobDriver.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.Types.SparkSubmitJobDriver+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.SparkSubmitJobDriver 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 information about job driver for Spark submit.+--+-- /See:/ 'newSparkSubmitJobDriver' smart constructor.+data SparkSubmitJobDriver = SparkSubmitJobDriver'+ { -- | The arguments for job application.+ entryPointArguments :: Prelude.Maybe [Data.Sensitive Prelude.Text],+ -- | The Spark submit parameters that are used for job runs.+ sparkSubmitParameters :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The entry point of job application.+ entryPoint :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SparkSubmitJobDriver' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'sparkSubmitJobDriver_entryPointArguments' - The arguments for job application.+--+-- 'sparkSubmitParameters', 'sparkSubmitJobDriver_sparkSubmitParameters' - The Spark submit parameters that are used for job runs.+--+-- 'entryPoint', 'sparkSubmitJobDriver_entryPoint' - The entry point of job application.+newSparkSubmitJobDriver ::+ -- | 'entryPoint'+ Prelude.Text ->+ SparkSubmitJobDriver+newSparkSubmitJobDriver pEntryPoint_ =+ SparkSubmitJobDriver'+ { entryPointArguments =+ Prelude.Nothing,+ sparkSubmitParameters = Prelude.Nothing,+ entryPoint = Data._Sensitive Lens.# pEntryPoint_+ }++-- | The arguments for job application.+sparkSubmitJobDriver_entryPointArguments :: Lens.Lens' SparkSubmitJobDriver (Prelude.Maybe [Prelude.Text])+sparkSubmitJobDriver_entryPointArguments = Lens.lens (\SparkSubmitJobDriver' {entryPointArguments} -> entryPointArguments) (\s@SparkSubmitJobDriver' {} a -> s {entryPointArguments = a} :: SparkSubmitJobDriver) Prelude.. Lens.mapping Lens.coerced++-- | The Spark submit parameters that are used for job runs.+sparkSubmitJobDriver_sparkSubmitParameters :: Lens.Lens' SparkSubmitJobDriver (Prelude.Maybe Prelude.Text)+sparkSubmitJobDriver_sparkSubmitParameters = Lens.lens (\SparkSubmitJobDriver' {sparkSubmitParameters} -> sparkSubmitParameters) (\s@SparkSubmitJobDriver' {} a -> s {sparkSubmitParameters = a} :: SparkSubmitJobDriver) Prelude.. Lens.mapping Data._Sensitive++-- | The entry point of job application.+sparkSubmitJobDriver_entryPoint :: Lens.Lens' SparkSubmitJobDriver Prelude.Text+sparkSubmitJobDriver_entryPoint = Lens.lens (\SparkSubmitJobDriver' {entryPoint} -> entryPoint) (\s@SparkSubmitJobDriver' {} a -> s {entryPoint = a} :: SparkSubmitJobDriver) Prelude.. Data._Sensitive++instance Data.FromJSON SparkSubmitJobDriver where+ parseJSON =+ Data.withObject+ "SparkSubmitJobDriver"+ ( \x ->+ SparkSubmitJobDriver'+ Prelude.<$> ( x+ Data..:? "entryPointArguments"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "sparkSubmitParameters")+ Prelude.<*> (x Data..: "entryPoint")+ )++instance Prelude.Hashable SparkSubmitJobDriver where+ hashWithSalt _salt SparkSubmitJobDriver' {..} =+ _salt+ `Prelude.hashWithSalt` entryPointArguments+ `Prelude.hashWithSalt` sparkSubmitParameters+ `Prelude.hashWithSalt` entryPoint++instance Prelude.NFData SparkSubmitJobDriver where+ rnf SparkSubmitJobDriver' {..} =+ Prelude.rnf entryPointArguments+ `Prelude.seq` Prelude.rnf sparkSubmitParameters+ `Prelude.seq` Prelude.rnf entryPoint++instance Data.ToJSON SparkSubmitJobDriver where+ toJSON SparkSubmitJobDriver' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("entryPointArguments" Data..=)+ Prelude.<$> entryPointArguments,+ ("sparkSubmitParameters" Data..=)+ Prelude.<$> sparkSubmitParameters,+ Prelude.Just ("entryPoint" Data..= entryPoint)+ ]+ )
+ gen/Amazonka/EMRContainers/Types/TemplateParameterConfiguration.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.Types.TemplateParameterConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.TemplateParameterConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types.TemplateParameterDataType+import qualified Amazonka.Prelude as Prelude++-- | The configuration of a job template parameter.+--+-- /See:/ 'newTemplateParameterConfiguration' smart constructor.+data TemplateParameterConfiguration = TemplateParameterConfiguration'+ { -- | The default value for the job template parameter.+ defaultValue :: Prelude.Maybe Prelude.Text,+ -- | The type of the job template parameter. Allowed values are: ‘String’,+ -- ‘Number’.+ type' :: Prelude.Maybe TemplateParameterDataType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateParameterConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultValue', 'templateParameterConfiguration_defaultValue' - The default value for the job template parameter.+--+-- 'type'', 'templateParameterConfiguration_type' - The type of the job template parameter. Allowed values are: ‘String’,+-- ‘Number’.+newTemplateParameterConfiguration ::+ TemplateParameterConfiguration+newTemplateParameterConfiguration =+ TemplateParameterConfiguration'+ { defaultValue =+ Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The default value for the job template parameter.+templateParameterConfiguration_defaultValue :: Lens.Lens' TemplateParameterConfiguration (Prelude.Maybe Prelude.Text)+templateParameterConfiguration_defaultValue = Lens.lens (\TemplateParameterConfiguration' {defaultValue} -> defaultValue) (\s@TemplateParameterConfiguration' {} a -> s {defaultValue = a} :: TemplateParameterConfiguration)++-- | The type of the job template parameter. Allowed values are: ‘String’,+-- ‘Number’.+templateParameterConfiguration_type :: Lens.Lens' TemplateParameterConfiguration (Prelude.Maybe TemplateParameterDataType)+templateParameterConfiguration_type = Lens.lens (\TemplateParameterConfiguration' {type'} -> type') (\s@TemplateParameterConfiguration' {} a -> s {type' = a} :: TemplateParameterConfiguration)++instance Data.FromJSON TemplateParameterConfiguration where+ parseJSON =+ Data.withObject+ "TemplateParameterConfiguration"+ ( \x ->+ TemplateParameterConfiguration'+ Prelude.<$> (x Data..:? "defaultValue")+ Prelude.<*> (x Data..:? "type")+ )++instance+ Prelude.Hashable+ TemplateParameterConfiguration+ where+ hashWithSalt+ _salt+ TemplateParameterConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` defaultValue+ `Prelude.hashWithSalt` type'++instance+ Prelude.NFData+ TemplateParameterConfiguration+ where+ rnf TemplateParameterConfiguration' {..} =+ Prelude.rnf defaultValue+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON TemplateParameterConfiguration where+ toJSON TemplateParameterConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("defaultValue" Data..=) Prelude.<$> defaultValue,+ ("type" Data..=) Prelude.<$> type'+ ]+ )
+ gen/Amazonka/EMRContainers/Types/TemplateParameterDataType.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.EMRContainers.Types.TemplateParameterDataType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.TemplateParameterDataType+ ( TemplateParameterDataType+ ( ..,+ TemplateParameterDataType_NUMBER,+ TemplateParameterDataType_STRING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TemplateParameterDataType = TemplateParameterDataType'+ { fromTemplateParameterDataType ::+ 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 TemplateParameterDataType_NUMBER :: TemplateParameterDataType+pattern TemplateParameterDataType_NUMBER = TemplateParameterDataType' "NUMBER"++pattern TemplateParameterDataType_STRING :: TemplateParameterDataType+pattern TemplateParameterDataType_STRING = TemplateParameterDataType' "STRING"++{-# COMPLETE+ TemplateParameterDataType_NUMBER,+ TemplateParameterDataType_STRING,+ TemplateParameterDataType'+ #-}
+ gen/Amazonka/EMRContainers/Types/VirtualCluster.hs view
@@ -0,0 +1,152 @@+{-# 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.EMRContainers.Types.VirtualCluster+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.VirtualCluster where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Types.ContainerProvider+import Amazonka.EMRContainers.Types.VirtualClusterState+import qualified Amazonka.Prelude as Prelude++-- | This entity describes a virtual cluster. A virtual cluster is a+-- Kubernetes namespace that Amazon EMR is registered with. Amazon EMR uses+-- virtual clusters to run jobs and host endpoints. Multiple virtual+-- clusters can be backed by the same physical cluster. However, each+-- virtual cluster maps to one namespace on an EKS cluster. Virtual+-- clusters do not create any active resources that contribute to your bill+-- or that require lifecycle management outside the service.+--+-- /See:/ 'newVirtualCluster' smart constructor.+data VirtualCluster = VirtualCluster'+ { -- | The ARN of the virtual cluster.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The container provider of the virtual cluster.+ containerProvider :: Prelude.Maybe ContainerProvider,+ -- | The date and time when the virtual cluster is created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The ID of the virtual cluster.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the virtual cluster.+ name :: Prelude.Maybe Prelude.Text,+ -- | The state of the virtual cluster.+ state :: Prelude.Maybe VirtualClusterState,+ -- | The assigned tags of the virtual cluster.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VirtualCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'virtualCluster_arn' - The ARN of the virtual cluster.+--+-- 'containerProvider', 'virtualCluster_containerProvider' - The container provider of the virtual cluster.+--+-- 'createdAt', 'virtualCluster_createdAt' - The date and time when the virtual cluster is created.+--+-- 'id', 'virtualCluster_id' - The ID of the virtual cluster.+--+-- 'name', 'virtualCluster_name' - The name of the virtual cluster.+--+-- 'state', 'virtualCluster_state' - The state of the virtual cluster.+--+-- 'tags', 'virtualCluster_tags' - The assigned tags of the virtual cluster.+newVirtualCluster ::+ VirtualCluster+newVirtualCluster =+ VirtualCluster'+ { arn = Prelude.Nothing,+ containerProvider = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ state = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The ARN of the virtual cluster.+virtualCluster_arn :: Lens.Lens' VirtualCluster (Prelude.Maybe Prelude.Text)+virtualCluster_arn = Lens.lens (\VirtualCluster' {arn} -> arn) (\s@VirtualCluster' {} a -> s {arn = a} :: VirtualCluster)++-- | The container provider of the virtual cluster.+virtualCluster_containerProvider :: Lens.Lens' VirtualCluster (Prelude.Maybe ContainerProvider)+virtualCluster_containerProvider = Lens.lens (\VirtualCluster' {containerProvider} -> containerProvider) (\s@VirtualCluster' {} a -> s {containerProvider = a} :: VirtualCluster)++-- | The date and time when the virtual cluster is created.+virtualCluster_createdAt :: Lens.Lens' VirtualCluster (Prelude.Maybe Prelude.UTCTime)+virtualCluster_createdAt = Lens.lens (\VirtualCluster' {createdAt} -> createdAt) (\s@VirtualCluster' {} a -> s {createdAt = a} :: VirtualCluster) Prelude.. Lens.mapping Data._Time++-- | The ID of the virtual cluster.+virtualCluster_id :: Lens.Lens' VirtualCluster (Prelude.Maybe Prelude.Text)+virtualCluster_id = Lens.lens (\VirtualCluster' {id} -> id) (\s@VirtualCluster' {} a -> s {id = a} :: VirtualCluster)++-- | The name of the virtual cluster.+virtualCluster_name :: Lens.Lens' VirtualCluster (Prelude.Maybe Prelude.Text)+virtualCluster_name = Lens.lens (\VirtualCluster' {name} -> name) (\s@VirtualCluster' {} a -> s {name = a} :: VirtualCluster)++-- | The state of the virtual cluster.+virtualCluster_state :: Lens.Lens' VirtualCluster (Prelude.Maybe VirtualClusterState)+virtualCluster_state = Lens.lens (\VirtualCluster' {state} -> state) (\s@VirtualCluster' {} a -> s {state = a} :: VirtualCluster)++-- | The assigned tags of the virtual cluster.+virtualCluster_tags :: Lens.Lens' VirtualCluster (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+virtualCluster_tags = Lens.lens (\VirtualCluster' {tags} -> tags) (\s@VirtualCluster' {} a -> s {tags = a} :: VirtualCluster) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON VirtualCluster where+ parseJSON =+ Data.withObject+ "VirtualCluster"+ ( \x ->+ VirtualCluster'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "containerProvider")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "state")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable VirtualCluster where+ hashWithSalt _salt VirtualCluster' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` containerProvider+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` tags++instance Prelude.NFData VirtualCluster where+ rnf VirtualCluster' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf containerProvider+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/EMRContainers/Types/VirtualClusterState.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.EMRContainers.Types.VirtualClusterState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.EMRContainers.Types.VirtualClusterState+ ( VirtualClusterState+ ( ..,+ VirtualClusterState_ARRESTED,+ VirtualClusterState_RUNNING,+ VirtualClusterState_TERMINATED,+ VirtualClusterState_TERMINATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VirtualClusterState = VirtualClusterState'+ { fromVirtualClusterState ::+ 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 VirtualClusterState_ARRESTED :: VirtualClusterState+pattern VirtualClusterState_ARRESTED = VirtualClusterState' "ARRESTED"++pattern VirtualClusterState_RUNNING :: VirtualClusterState+pattern VirtualClusterState_RUNNING = VirtualClusterState' "RUNNING"++pattern VirtualClusterState_TERMINATED :: VirtualClusterState+pattern VirtualClusterState_TERMINATED = VirtualClusterState' "TERMINATED"++pattern VirtualClusterState_TERMINATING :: VirtualClusterState+pattern VirtualClusterState_TERMINATING = VirtualClusterState' "TERMINATING"++{-# COMPLETE+ VirtualClusterState_ARRESTED,+ VirtualClusterState_RUNNING,+ VirtualClusterState_TERMINATED,+ VirtualClusterState_TERMINATING,+ VirtualClusterState'+ #-}
+ gen/Amazonka/EMRContainers/UntagResource.hs view
@@ -0,0 +1,161 @@+{-# 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.EMRContainers.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.EMRContainers.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.EMRContainers.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 ARN of resources.+ resourceArn :: Prelude.Text,+ -- | The tag keys of the resources.+ tagKeys :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The ARN of resources.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys of the resources.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | The ARN of resources.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tag keys of the resources.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath UntagResource' {..} =+ Prelude.mconcat ["/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/EMRContainers/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.EMRContainers.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.EMRContainers.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.EMRContainers.Lens+import Amazonka.EMRContainers.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.EMRContainers+import Test.Amazonka.EMRContainers.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "EMRContainers"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/EMRContainers.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.EMRContainers+-- Copyright : (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.EMRContainers+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/EMRContainers/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.EMRContainers.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.EMRContainers.Internal where
+ test/Test/Amazonka/Gen/EMRContainers.hs view
@@ -0,0 +1,418 @@+{-# 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.EMRContainers+-- Copyright : (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.EMRContainers where++import Amazonka.EMRContainers+import qualified Data.Proxy as Proxy+import Test.Amazonka.EMRContainers.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+--+-- , requestCreateJobTemplate $+-- newCreateJobTemplate+--+-- , requestCreateManagedEndpoint $+-- newCreateManagedEndpoint+--+-- , requestCreateVirtualCluster $+-- newCreateVirtualCluster+--+-- , requestDeleteJobTemplate $+-- newDeleteJobTemplate+--+-- , requestDeleteManagedEndpoint $+-- newDeleteManagedEndpoint+--+-- , requestDeleteVirtualCluster $+-- newDeleteVirtualCluster+--+-- , requestDescribeJobRun $+-- newDescribeJobRun+--+-- , requestDescribeJobTemplate $+-- newDescribeJobTemplate+--+-- , requestDescribeManagedEndpoint $+-- newDescribeManagedEndpoint+--+-- , requestDescribeVirtualCluster $+-- newDescribeVirtualCluster+--+-- , requestListJobRuns $+-- newListJobRuns+--+-- , requestListJobTemplates $+-- newListJobTemplates+--+-- , requestListManagedEndpoints $+-- newListManagedEndpoints+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestListVirtualClusters $+-- newListVirtualClusters+--+-- , requestStartJobRun $+-- newStartJobRun+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- ]++-- , testGroup "response"+-- [ responseCancelJobRun $+-- newCancelJobRunResponse+--+-- , responseCreateJobTemplate $+-- newCreateJobTemplateResponse+--+-- , responseCreateManagedEndpoint $+-- newCreateManagedEndpointResponse+--+-- , responseCreateVirtualCluster $+-- newCreateVirtualClusterResponse+--+-- , responseDeleteJobTemplate $+-- newDeleteJobTemplateResponse+--+-- , responseDeleteManagedEndpoint $+-- newDeleteManagedEndpointResponse+--+-- , responseDeleteVirtualCluster $+-- newDeleteVirtualClusterResponse+--+-- , responseDescribeJobRun $+-- newDescribeJobRunResponse+--+-- , responseDescribeJobTemplate $+-- newDescribeJobTemplateResponse+--+-- , responseDescribeManagedEndpoint $+-- newDescribeManagedEndpointResponse+--+-- , responseDescribeVirtualCluster $+-- newDescribeVirtualClusterResponse+--+-- , responseListJobRuns $+-- newListJobRunsResponse+--+-- , responseListJobTemplates $+-- newListJobTemplatesResponse+--+-- , responseListManagedEndpoints $+-- newListManagedEndpointsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseListVirtualClusters $+-- newListVirtualClustersResponse+--+-- , responseStartJobRun $+-- newStartJobRunResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- ]+-- ]++-- Requests++requestCancelJobRun :: CancelJobRun -> TestTree+requestCancelJobRun =+ req+ "CancelJobRun"+ "fixture/CancelJobRun.yaml"++requestCreateJobTemplate :: CreateJobTemplate -> TestTree+requestCreateJobTemplate =+ req+ "CreateJobTemplate"+ "fixture/CreateJobTemplate.yaml"++requestCreateManagedEndpoint :: CreateManagedEndpoint -> TestTree+requestCreateManagedEndpoint =+ req+ "CreateManagedEndpoint"+ "fixture/CreateManagedEndpoint.yaml"++requestCreateVirtualCluster :: CreateVirtualCluster -> TestTree+requestCreateVirtualCluster =+ req+ "CreateVirtualCluster"+ "fixture/CreateVirtualCluster.yaml"++requestDeleteJobTemplate :: DeleteJobTemplate -> TestTree+requestDeleteJobTemplate =+ req+ "DeleteJobTemplate"+ "fixture/DeleteJobTemplate.yaml"++requestDeleteManagedEndpoint :: DeleteManagedEndpoint -> TestTree+requestDeleteManagedEndpoint =+ req+ "DeleteManagedEndpoint"+ "fixture/DeleteManagedEndpoint.yaml"++requestDeleteVirtualCluster :: DeleteVirtualCluster -> TestTree+requestDeleteVirtualCluster =+ req+ "DeleteVirtualCluster"+ "fixture/DeleteVirtualCluster.yaml"++requestDescribeJobRun :: DescribeJobRun -> TestTree+requestDescribeJobRun =+ req+ "DescribeJobRun"+ "fixture/DescribeJobRun.yaml"++requestDescribeJobTemplate :: DescribeJobTemplate -> TestTree+requestDescribeJobTemplate =+ req+ "DescribeJobTemplate"+ "fixture/DescribeJobTemplate.yaml"++requestDescribeManagedEndpoint :: DescribeManagedEndpoint -> TestTree+requestDescribeManagedEndpoint =+ req+ "DescribeManagedEndpoint"+ "fixture/DescribeManagedEndpoint.yaml"++requestDescribeVirtualCluster :: DescribeVirtualCluster -> TestTree+requestDescribeVirtualCluster =+ req+ "DescribeVirtualCluster"+ "fixture/DescribeVirtualCluster.yaml"++requestListJobRuns :: ListJobRuns -> TestTree+requestListJobRuns =+ req+ "ListJobRuns"+ "fixture/ListJobRuns.yaml"++requestListJobTemplates :: ListJobTemplates -> TestTree+requestListJobTemplates =+ req+ "ListJobTemplates"+ "fixture/ListJobTemplates.yaml"++requestListManagedEndpoints :: ListManagedEndpoints -> TestTree+requestListManagedEndpoints =+ req+ "ListManagedEndpoints"+ "fixture/ListManagedEndpoints.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestListVirtualClusters :: ListVirtualClusters -> TestTree+requestListVirtualClusters =+ req+ "ListVirtualClusters"+ "fixture/ListVirtualClusters.yaml"++requestStartJobRun :: StartJobRun -> TestTree+requestStartJobRun =+ req+ "StartJobRun"+ "fixture/StartJobRun.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++-- Responses++responseCancelJobRun :: CancelJobRunResponse -> TestTree+responseCancelJobRun =+ res+ "CancelJobRunResponse"+ "fixture/CancelJobRunResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CancelJobRun)++responseCreateJobTemplate :: CreateJobTemplateResponse -> TestTree+responseCreateJobTemplate =+ res+ "CreateJobTemplateResponse"+ "fixture/CreateJobTemplateResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateJobTemplate)++responseCreateManagedEndpoint :: CreateManagedEndpointResponse -> TestTree+responseCreateManagedEndpoint =+ res+ "CreateManagedEndpointResponse"+ "fixture/CreateManagedEndpointResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateManagedEndpoint)++responseCreateVirtualCluster :: CreateVirtualClusterResponse -> TestTree+responseCreateVirtualCluster =+ res+ "CreateVirtualClusterResponse"+ "fixture/CreateVirtualClusterResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateVirtualCluster)++responseDeleteJobTemplate :: DeleteJobTemplateResponse -> TestTree+responseDeleteJobTemplate =+ res+ "DeleteJobTemplateResponse"+ "fixture/DeleteJobTemplateResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteJobTemplate)++responseDeleteManagedEndpoint :: DeleteManagedEndpointResponse -> TestTree+responseDeleteManagedEndpoint =+ res+ "DeleteManagedEndpointResponse"+ "fixture/DeleteManagedEndpointResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteManagedEndpoint)++responseDeleteVirtualCluster :: DeleteVirtualClusterResponse -> TestTree+responseDeleteVirtualCluster =+ res+ "DeleteVirtualClusterResponse"+ "fixture/DeleteVirtualClusterResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteVirtualCluster)++responseDescribeJobRun :: DescribeJobRunResponse -> TestTree+responseDescribeJobRun =+ res+ "DescribeJobRunResponse"+ "fixture/DescribeJobRunResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeJobRun)++responseDescribeJobTemplate :: DescribeJobTemplateResponse -> TestTree+responseDescribeJobTemplate =+ res+ "DescribeJobTemplateResponse"+ "fixture/DescribeJobTemplateResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeJobTemplate)++responseDescribeManagedEndpoint :: DescribeManagedEndpointResponse -> TestTree+responseDescribeManagedEndpoint =+ res+ "DescribeManagedEndpointResponse"+ "fixture/DescribeManagedEndpointResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeManagedEndpoint)++responseDescribeVirtualCluster :: DescribeVirtualClusterResponse -> TestTree+responseDescribeVirtualCluster =+ res+ "DescribeVirtualClusterResponse"+ "fixture/DescribeVirtualClusterResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeVirtualCluster)++responseListJobRuns :: ListJobRunsResponse -> TestTree+responseListJobRuns =+ res+ "ListJobRunsResponse"+ "fixture/ListJobRunsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListJobRuns)++responseListJobTemplates :: ListJobTemplatesResponse -> TestTree+responseListJobTemplates =+ res+ "ListJobTemplatesResponse"+ "fixture/ListJobTemplatesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListJobTemplates)++responseListManagedEndpoints :: ListManagedEndpointsResponse -> TestTree+responseListManagedEndpoints =+ res+ "ListManagedEndpointsResponse"+ "fixture/ListManagedEndpointsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListManagedEndpoints)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListVirtualClusters :: ListVirtualClustersResponse -> TestTree+responseListVirtualClusters =+ res+ "ListVirtualClustersResponse"+ "fixture/ListVirtualClustersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListVirtualClusters)++responseStartJobRun :: StartJobRunResponse -> TestTree+responseStartJobRun =+ res+ "StartJobRunResponse"+ "fixture/StartJobRunResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartJobRun)++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)