packages feed

stratosphere-emrcontainers (empty) → 1.0.0

raw patch · 9 files changed

+304/−0 lines, 9 filesdep +aesondep +basedep +stratosphere

Dependencies added: aeson, base, stratosphere

Files

+ LICENSE.md view
@@ -0,0 +1,20 @@+Copyright (c) 2016 David Reaver+Copyright (c) 2022 Markus Schirp++Permission is hereby granted, free of charge, to any person obtaining a copy of+this software and associated documentation files (the "Software"), to deal in+the Software without restriction, including without limitation the rights to+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies+of the Software, and to permit persons to whom the Software is furnished to do+so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all+copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+SOFTWARE.
+ gen/Stratosphere/EMRContainers/VirtualCluster.hs view
@@ -0,0 +1,70 @@+module Stratosphere.EMRContainers.VirtualCluster (+        module Exports, VirtualCluster(..), mkVirtualCluster+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EMRContainers.VirtualCluster.ContainerProviderProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data VirtualCluster+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html>+    VirtualCluster {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html#cfn-emrcontainers-virtualcluster-containerprovider>+                    containerProvider :: ContainerProviderProperty,+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html#cfn-emrcontainers-virtualcluster-name>+                    name :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html#cfn-emrcontainers-virtualcluster-securityconfigurationid>+                    securityConfigurationId :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html#cfn-emrcontainers-virtualcluster-tags>+                    tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVirtualCluster ::+  ContainerProviderProperty -> Value Prelude.Text -> VirtualCluster+mkVirtualCluster containerProvider name+  = VirtualCluster+      {haddock_workaround_ = (), containerProvider = containerProvider,+       name = name, securityConfigurationId = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties VirtualCluster where+  toResourceProperties VirtualCluster {..}+    = ResourceProperties+        {awsType = "AWS::EMRContainers::VirtualCluster",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ContainerProvider" JSON..= containerProvider,+                            "Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "SecurityConfigurationId"+                                 Prelude.<$> securityConfigurationId,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON VirtualCluster where+  toJSON VirtualCluster {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ContainerProvider" JSON..= containerProvider,+               "Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "SecurityConfigurationId"+                    Prelude.<$> securityConfigurationId,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "ContainerProvider" VirtualCluster where+  type PropertyType "ContainerProvider" VirtualCluster = ContainerProviderProperty+  set newValue VirtualCluster {..}+    = VirtualCluster {containerProvider = newValue, ..}+instance Property "Name" VirtualCluster where+  type PropertyType "Name" VirtualCluster = Value Prelude.Text+  set newValue VirtualCluster {..}+    = VirtualCluster {name = newValue, ..}+instance Property "SecurityConfigurationId" VirtualCluster where+  type PropertyType "SecurityConfigurationId" VirtualCluster = Value Prelude.Text+  set newValue VirtualCluster {..}+    = VirtualCluster+        {securityConfigurationId = Prelude.pure newValue, ..}+instance Property "Tags" VirtualCluster where+  type PropertyType "Tags" VirtualCluster = [Tag]+  set newValue VirtualCluster {..}+    = VirtualCluster {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EMRContainers/VirtualCluster/ContainerInfoProperty.hs view
@@ -0,0 +1,31 @@+module Stratosphere.EMRContainers.VirtualCluster.ContainerInfoProperty (+        module Exports, ContainerInfoProperty(..), mkContainerInfoProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EMRContainers.VirtualCluster.EksInfoProperty as Exports+import Stratosphere.ResourceProperties+data ContainerInfoProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerinfo.html>+    ContainerInfoProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerinfo.html#cfn-emrcontainers-virtualcluster-containerinfo-eksinfo>+                           eksInfo :: EksInfoProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkContainerInfoProperty :: EksInfoProperty -> ContainerInfoProperty+mkContainerInfoProperty eksInfo+  = ContainerInfoProperty+      {haddock_workaround_ = (), eksInfo = eksInfo}+instance ToResourceProperties ContainerInfoProperty where+  toResourceProperties ContainerInfoProperty {..}+    = ResourceProperties+        {awsType = "AWS::EMRContainers::VirtualCluster.ContainerInfo",+         supportsTags = Prelude.False,+         properties = ["EksInfo" JSON..= eksInfo]}+instance JSON.ToJSON ContainerInfoProperty where+  toJSON ContainerInfoProperty {..}+    = JSON.object ["EksInfo" JSON..= eksInfo]+instance Property "EksInfo" ContainerInfoProperty where+  type PropertyType "EksInfo" ContainerInfoProperty = EksInfoProperty+  set newValue ContainerInfoProperty {..}+    = ContainerInfoProperty {eksInfo = newValue, ..}
+ gen/Stratosphere/EMRContainers/VirtualCluster/ContainerInfoProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EMRContainers.VirtualCluster.ContainerInfoProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ContainerInfoProperty :: Prelude.Type+instance ToResourceProperties ContainerInfoProperty+instance Prelude.Eq ContainerInfoProperty+instance Prelude.Show ContainerInfoProperty+instance JSON.ToJSON ContainerInfoProperty
+ gen/Stratosphere/EMRContainers/VirtualCluster/ContainerProviderProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.EMRContainers.VirtualCluster.ContainerProviderProperty (+        module Exports, ContainerProviderProperty(..),+        mkContainerProviderProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EMRContainers.VirtualCluster.ContainerInfoProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ContainerProviderProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerprovider.html>+    ContainerProviderProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerprovider.html#cfn-emrcontainers-virtualcluster-containerprovider-id>+                               id :: (Value Prelude.Text),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerprovider.html#cfn-emrcontainers-virtualcluster-containerprovider-info>+                               info :: ContainerInfoProperty,+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerprovider.html#cfn-emrcontainers-virtualcluster-containerprovider-type>+                               type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkContainerProviderProperty ::+  Value Prelude.Text+  -> ContainerInfoProperty+     -> Value Prelude.Text -> ContainerProviderProperty+mkContainerProviderProperty id info type'+  = ContainerProviderProperty+      {haddock_workaround_ = (), id = id, info = info, type' = type'}+instance ToResourceProperties ContainerProviderProperty where+  toResourceProperties ContainerProviderProperty {..}+    = ResourceProperties+        {awsType = "AWS::EMRContainers::VirtualCluster.ContainerProvider",+         supportsTags = Prelude.False,+         properties = ["Id" JSON..= id, "Info" JSON..= info,+                       "Type" JSON..= type']}+instance JSON.ToJSON ContainerProviderProperty where+  toJSON ContainerProviderProperty {..}+    = JSON.object+        ["Id" JSON..= id, "Info" JSON..= info, "Type" JSON..= type']+instance Property "Id" ContainerProviderProperty where+  type PropertyType "Id" ContainerProviderProperty = Value Prelude.Text+  set newValue ContainerProviderProperty {..}+    = ContainerProviderProperty {id = newValue, ..}+instance Property "Info" ContainerProviderProperty where+  type PropertyType "Info" ContainerProviderProperty = ContainerInfoProperty+  set newValue ContainerProviderProperty {..}+    = ContainerProviderProperty {info = newValue, ..}+instance Property "Type" ContainerProviderProperty where+  type PropertyType "Type" ContainerProviderProperty = Value Prelude.Text+  set newValue ContainerProviderProperty {..}+    = ContainerProviderProperty {type' = newValue, ..}
+ gen/Stratosphere/EMRContainers/VirtualCluster/ContainerProviderProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EMRContainers.VirtualCluster.ContainerProviderProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ContainerProviderProperty :: Prelude.Type+instance ToResourceProperties ContainerProviderProperty+instance Prelude.Eq ContainerProviderProperty+instance Prelude.Show ContainerProviderProperty+instance JSON.ToJSON ContainerProviderProperty
+ gen/Stratosphere/EMRContainers/VirtualCluster/EksInfoProperty.hs view
@@ -0,0 +1,30 @@+module Stratosphere.EMRContainers.VirtualCluster.EksInfoProperty (+        EksInfoProperty(..), mkEksInfoProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EksInfoProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-eksinfo.html>+    EksInfoProperty {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-eksinfo.html#cfn-emrcontainers-virtualcluster-eksinfo-namespace>+                     namespace :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEksInfoProperty :: Value Prelude.Text -> EksInfoProperty+mkEksInfoProperty namespace+  = EksInfoProperty {haddock_workaround_ = (), namespace = namespace}+instance ToResourceProperties EksInfoProperty where+  toResourceProperties EksInfoProperty {..}+    = ResourceProperties+        {awsType = "AWS::EMRContainers::VirtualCluster.EksInfo",+         supportsTags = Prelude.False,+         properties = ["Namespace" JSON..= namespace]}+instance JSON.ToJSON EksInfoProperty where+  toJSON EksInfoProperty {..}+    = JSON.object ["Namespace" JSON..= namespace]+instance Property "Namespace" EksInfoProperty where+  type PropertyType "Namespace" EksInfoProperty = Value Prelude.Text+  set newValue EksInfoProperty {..}+    = EksInfoProperty {namespace = newValue, ..}
+ gen/Stratosphere/EMRContainers/VirtualCluster/EksInfoProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EMRContainers.VirtualCluster.EksInfoProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EksInfoProperty :: Prelude.Type+instance ToResourceProperties EksInfoProperty+instance Prelude.Eq EksInfoProperty+instance Prelude.Show EksInfoProperty+instance JSON.ToJSON EksInfoProperty
+ stratosphere-emrcontainers.cabal view
@@ -0,0 +1,76 @@+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.38.2.+--+-- see: https://github.com/sol/hpack++name:           stratosphere-emrcontainers+version:        1.0.0+synopsis:       Stratosphere integration for AWS EMRContainers.+description:    Integration into stratosphere to generate resources and properties for AWS EMRContainers+category:       AWS, Cloud, EMRContainers+stability:      experimental+homepage:       https://github.com/mbj/stratosphere#readme+bug-reports:    https://github.com/mbj/stratosphere/issues+maintainer:     Markus Schirp+license:        MIT+license-file:   LICENSE.md+build-type:     Simple++source-repository head+  type: git+  location: https://github.com/mbj/stratosphere++flag development+  description: Run GHC with development flags+  manual: True+  default: False++library+  exposed-modules:+      Stratosphere.EMRContainers.VirtualCluster+      Stratosphere.EMRContainers.VirtualCluster.ContainerInfoProperty+      Stratosphere.EMRContainers.VirtualCluster.ContainerProviderProperty+      Stratosphere.EMRContainers.VirtualCluster.EksInfoProperty+  other-modules:+      Paths_stratosphere_emrcontainers+  hs-source-dirs:+      gen+  default-extensions:+      DataKinds+      DeriveGeneric+      DerivingStrategies+      DerivingVia+      DuplicateRecordFields+      FlexibleContexts+      FlexibleInstances+      GADTs+      GeneralizedNewtypeDeriving+      InstanceSigs+      LambdaCase+      MultiParamTypeClasses+      NoFieldSelectors+      NoImplicitPrelude+      NumericUnderscores+      OverloadedLists+      OverloadedRecordDot+      OverloadedStrings+      PolyKinds+      RecordWildCards+      ScopedTypeVariables+      StandaloneDeriving+      Strict+      TemplateHaskell+      TupleSections+      TypeApplications+      TypeFamilies+  ghc-options: -Wall -Wcompat -Widentities -Wimplicit-prelude -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-local-signatures -Wmissing-signatures -Wmonomorphism-restriction -Wredundant-constraints -fhide-source-paths -funbox-strict-fields -optP-Wno-nonportable-include-path -Wno-unused-imports+  build-depends:+      aeson ==2.*+    , base >=4.8 && <4.22+    , stratosphere ==1.0.0+  default-language: Haskell2010+  if flag(development)+    ghc-options: -Werror+  else+    ghc-options: -Wwarn