module Stratosphere.Athena.CapacityReservation.CapacityAssignmentConfigurationProperty (
        module Exports, CapacityAssignmentConfigurationProperty(..),
        mkCapacityAssignmentConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Athena.CapacityReservation.CapacityAssignmentProperty as Exports
import Stratosphere.ResourceProperties
data CapacityAssignmentConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignmentconfiguration.html>
    CapacityAssignmentConfigurationProperty {CapacityAssignmentConfigurationProperty -> ()
haddock_workaround_ :: (),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignmentconfiguration.html#cfn-athena-capacityreservation-capacityassignmentconfiguration-capacityassignments>
                                             CapacityAssignmentConfigurationProperty
-> [CapacityAssignmentProperty]
capacityAssignments :: [CapacityAssignmentProperty]}
  deriving stock (CapacityAssignmentConfigurationProperty
-> CapacityAssignmentConfigurationProperty -> Bool
(CapacityAssignmentConfigurationProperty
 -> CapacityAssignmentConfigurationProperty -> Bool)
-> (CapacityAssignmentConfigurationProperty
    -> CapacityAssignmentConfigurationProperty -> Bool)
-> Eq CapacityAssignmentConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CapacityAssignmentConfigurationProperty
-> CapacityAssignmentConfigurationProperty -> Bool
== :: CapacityAssignmentConfigurationProperty
-> CapacityAssignmentConfigurationProperty -> Bool
$c/= :: CapacityAssignmentConfigurationProperty
-> CapacityAssignmentConfigurationProperty -> Bool
/= :: CapacityAssignmentConfigurationProperty
-> CapacityAssignmentConfigurationProperty -> Bool
Prelude.Eq, Int -> CapacityAssignmentConfigurationProperty -> ShowS
[CapacityAssignmentConfigurationProperty] -> ShowS
CapacityAssignmentConfigurationProperty -> String
(Int -> CapacityAssignmentConfigurationProperty -> ShowS)
-> (CapacityAssignmentConfigurationProperty -> String)
-> ([CapacityAssignmentConfigurationProperty] -> ShowS)
-> Show CapacityAssignmentConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CapacityAssignmentConfigurationProperty -> ShowS
showsPrec :: Int -> CapacityAssignmentConfigurationProperty -> ShowS
$cshow :: CapacityAssignmentConfigurationProperty -> String
show :: CapacityAssignmentConfigurationProperty -> String
$cshowList :: [CapacityAssignmentConfigurationProperty] -> ShowS
showList :: [CapacityAssignmentConfigurationProperty] -> ShowS
Prelude.Show)
mkCapacityAssignmentConfigurationProperty ::
  [CapacityAssignmentProperty]
  -> CapacityAssignmentConfigurationProperty
mkCapacityAssignmentConfigurationProperty :: [CapacityAssignmentProperty]
-> CapacityAssignmentConfigurationProperty
mkCapacityAssignmentConfigurationProperty [CapacityAssignmentProperty]
capacityAssignments
  = CapacityAssignmentConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       capacityAssignments :: [CapacityAssignmentProperty]
capacityAssignments = [CapacityAssignmentProperty]
capacityAssignments}
instance ToResourceProperties CapacityAssignmentConfigurationProperty where
  toResourceProperties :: CapacityAssignmentConfigurationProperty -> ResourceProperties
toResourceProperties CapacityAssignmentConfigurationProperty {[CapacityAssignmentProperty]
()
haddock_workaround_ :: CapacityAssignmentConfigurationProperty -> ()
capacityAssignments :: CapacityAssignmentConfigurationProperty
-> [CapacityAssignmentProperty]
haddock_workaround_ :: ()
capacityAssignments :: [CapacityAssignmentProperty]
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"CapacityAssignments" Key -> [CapacityAssignmentProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [CapacityAssignmentProperty]
capacityAssignments]}
instance JSON.ToJSON CapacityAssignmentConfigurationProperty where
  toJSON :: CapacityAssignmentConfigurationProperty -> Value
toJSON CapacityAssignmentConfigurationProperty {[CapacityAssignmentProperty]
()
haddock_workaround_ :: CapacityAssignmentConfigurationProperty -> ()
capacityAssignments :: CapacityAssignmentConfigurationProperty
-> [CapacityAssignmentProperty]
haddock_workaround_ :: ()
capacityAssignments :: [CapacityAssignmentProperty]
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"CapacityAssignments" Key -> [CapacityAssignmentProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [CapacityAssignmentProperty]
capacityAssignments]
instance Property "CapacityAssignments" CapacityAssignmentConfigurationProperty where
  type PropertyType "CapacityAssignments" CapacityAssignmentConfigurationProperty = [CapacityAssignmentProperty]
  set :: PropertyType
  "CapacityAssignments" CapacityAssignmentConfigurationProperty
-> CapacityAssignmentConfigurationProperty
-> CapacityAssignmentConfigurationProperty
set PropertyType
  "CapacityAssignments" CapacityAssignmentConfigurationProperty
newValue CapacityAssignmentConfigurationProperty {[CapacityAssignmentProperty]
()
haddock_workaround_ :: CapacityAssignmentConfigurationProperty -> ()
capacityAssignments :: CapacityAssignmentConfigurationProperty
-> [CapacityAssignmentProperty]
haddock_workaround_ :: ()
capacityAssignments :: [CapacityAssignmentProperty]
..}
    = CapacityAssignmentConfigurationProperty
        {capacityAssignments :: [CapacityAssignmentProperty]
capacityAssignments = [CapacityAssignmentProperty]
PropertyType
  "CapacityAssignments" CapacityAssignmentConfigurationProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}