module Stratosphere.Detective.OrganizationAdmin (
        OrganizationAdmin(..), mkOrganizationAdmin
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data OrganizationAdmin
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html>
    OrganizationAdmin {OrganizationAdmin -> ()
haddock_workaround_ :: (),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html#cfn-detective-organizationadmin-accountid>
                       OrganizationAdmin -> Value Text
accountId :: (Value Prelude.Text)}
  deriving stock (OrganizationAdmin -> OrganizationAdmin -> Bool
(OrganizationAdmin -> OrganizationAdmin -> Bool)
-> (OrganizationAdmin -> OrganizationAdmin -> Bool)
-> Eq OrganizationAdmin
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OrganizationAdmin -> OrganizationAdmin -> Bool
== :: OrganizationAdmin -> OrganizationAdmin -> Bool
$c/= :: OrganizationAdmin -> OrganizationAdmin -> Bool
/= :: OrganizationAdmin -> OrganizationAdmin -> Bool
Prelude.Eq, Int -> OrganizationAdmin -> ShowS
[OrganizationAdmin] -> ShowS
OrganizationAdmin -> String
(Int -> OrganizationAdmin -> ShowS)
-> (OrganizationAdmin -> String)
-> ([OrganizationAdmin] -> ShowS)
-> Show OrganizationAdmin
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OrganizationAdmin -> ShowS
showsPrec :: Int -> OrganizationAdmin -> ShowS
$cshow :: OrganizationAdmin -> String
show :: OrganizationAdmin -> String
$cshowList :: [OrganizationAdmin] -> ShowS
showList :: [OrganizationAdmin] -> ShowS
Prelude.Show)
mkOrganizationAdmin :: Value Prelude.Text -> OrganizationAdmin
mkOrganizationAdmin :: Value Text -> OrganizationAdmin
mkOrganizationAdmin Value Text
accountId
  = OrganizationAdmin
      {haddock_workaround_ :: ()
haddock_workaround_ = (), accountId :: Value Text
accountId = Value Text
accountId}
instance ToResourceProperties OrganizationAdmin where
  toResourceProperties :: OrganizationAdmin -> ResourceProperties
toResourceProperties OrganizationAdmin {()
Value Text
haddock_workaround_ :: OrganizationAdmin -> ()
accountId :: OrganizationAdmin -> Value Text
haddock_workaround_ :: ()
accountId :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Detective::OrganizationAdmin",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"AccountId" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
accountId]}
instance JSON.ToJSON OrganizationAdmin where
  toJSON :: OrganizationAdmin -> Value
toJSON OrganizationAdmin {()
Value Text
haddock_workaround_ :: OrganizationAdmin -> ()
accountId :: OrganizationAdmin -> Value Text
haddock_workaround_ :: ()
accountId :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"AccountId" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
accountId]
instance Property "AccountId" OrganizationAdmin where
  type PropertyType "AccountId" OrganizationAdmin = Value Prelude.Text
  set :: PropertyType "AccountId" OrganizationAdmin
-> OrganizationAdmin -> OrganizationAdmin
set PropertyType "AccountId" OrganizationAdmin
newValue OrganizationAdmin {()
Value Text
haddock_workaround_ :: OrganizationAdmin -> ()
accountId :: OrganizationAdmin -> Value Text
haddock_workaround_ :: ()
accountId :: Value Text
..}
    = OrganizationAdmin {accountId :: Value Text
accountId = PropertyType "AccountId" OrganizationAdmin
Value Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}