module Stratosphere.DataZone.Owner (
        module Exports, Owner(..), mkOwner
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.DataZone.Owner.OwnerPropertiesProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data Owner
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-owner.html>
    Owner {Owner -> ()
haddock_workaround_ :: (),
           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-owner.html#cfn-datazone-owner-domainidentifier>
           Owner -> Value Text
domainIdentifier :: (Value Prelude.Text),
           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-owner.html#cfn-datazone-owner-entityidentifier>
           Owner -> Value Text
entityIdentifier :: (Value Prelude.Text),
           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-owner.html#cfn-datazone-owner-entitytype>
           Owner -> Value Text
entityType :: (Value Prelude.Text),
           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-owner.html#cfn-datazone-owner-owner>
           Owner -> OwnerPropertiesProperty
owner :: OwnerPropertiesProperty}
  deriving stock (Owner -> Owner -> Bool
(Owner -> Owner -> Bool) -> (Owner -> Owner -> Bool) -> Eq Owner
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Owner -> Owner -> Bool
== :: Owner -> Owner -> Bool
$c/= :: Owner -> Owner -> Bool
/= :: Owner -> Owner -> Bool
Prelude.Eq, Int -> Owner -> ShowS
[Owner] -> ShowS
Owner -> String
(Int -> Owner -> ShowS)
-> (Owner -> String) -> ([Owner] -> ShowS) -> Show Owner
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Owner -> ShowS
showsPrec :: Int -> Owner -> ShowS
$cshow :: Owner -> String
show :: Owner -> String
$cshowList :: [Owner] -> ShowS
showList :: [Owner] -> ShowS
Prelude.Show)
mkOwner ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text -> OwnerPropertiesProperty -> Owner
mkOwner :: Value Text
-> Value Text -> Value Text -> OwnerPropertiesProperty -> Owner
mkOwner Value Text
domainIdentifier Value Text
entityIdentifier Value Text
entityType OwnerPropertiesProperty
owner
  = Owner
      {haddock_workaround_ :: ()
haddock_workaround_ = (), domainIdentifier :: Value Text
domainIdentifier = Value Text
domainIdentifier,
       entityIdentifier :: Value Text
entityIdentifier = Value Text
entityIdentifier, entityType :: Value Text
entityType = Value Text
entityType,
       owner :: OwnerPropertiesProperty
owner = OwnerPropertiesProperty
owner}
instance ToResourceProperties Owner where
  toResourceProperties :: Owner -> ResourceProperties
toResourceProperties Owner {()
Value Text
OwnerPropertiesProperty
haddock_workaround_ :: Owner -> ()
domainIdentifier :: Owner -> Value Text
entityIdentifier :: Owner -> Value Text
entityType :: Owner -> Value Text
owner :: Owner -> OwnerPropertiesProperty
haddock_workaround_ :: ()
domainIdentifier :: Value Text
entityIdentifier :: Value Text
entityType :: Value Text
owner :: OwnerPropertiesProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::DataZone::Owner", supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"DomainIdentifier" 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
domainIdentifier,
                       Key
"EntityIdentifier" 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
entityIdentifier,
                       Key
"EntityType" 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
entityType, Key
"Owner" Key -> OwnerPropertiesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OwnerPropertiesProperty
owner]}
instance JSON.ToJSON Owner where
  toJSON :: Owner -> Value
toJSON Owner {()
Value Text
OwnerPropertiesProperty
haddock_workaround_ :: Owner -> ()
domainIdentifier :: Owner -> Value Text
entityIdentifier :: Owner -> Value Text
entityType :: Owner -> Value Text
owner :: Owner -> OwnerPropertiesProperty
haddock_workaround_ :: ()
domainIdentifier :: Value Text
entityIdentifier :: Value Text
entityType :: Value Text
owner :: OwnerPropertiesProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"DomainIdentifier" 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
domainIdentifier,
         Key
"EntityIdentifier" 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
entityIdentifier,
         Key
"EntityType" 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
entityType, Key
"Owner" Key -> OwnerPropertiesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OwnerPropertiesProperty
owner]
instance Property "DomainIdentifier" Owner where
  type PropertyType "DomainIdentifier" Owner = Value Prelude.Text
  set :: PropertyType "DomainIdentifier" Owner -> Owner -> Owner
set PropertyType "DomainIdentifier" Owner
newValue Owner {()
Value Text
OwnerPropertiesProperty
haddock_workaround_ :: Owner -> ()
domainIdentifier :: Owner -> Value Text
entityIdentifier :: Owner -> Value Text
entityType :: Owner -> Value Text
owner :: Owner -> OwnerPropertiesProperty
haddock_workaround_ :: ()
domainIdentifier :: Value Text
entityIdentifier :: Value Text
entityType :: Value Text
owner :: OwnerPropertiesProperty
..} = Owner {domainIdentifier :: Value Text
domainIdentifier = PropertyType "DomainIdentifier" Owner
Value Text
newValue, ()
Value Text
OwnerPropertiesProperty
haddock_workaround_ :: ()
entityIdentifier :: Value Text
entityType :: Value Text
owner :: OwnerPropertiesProperty
haddock_workaround_ :: ()
entityIdentifier :: Value Text
entityType :: Value Text
owner :: OwnerPropertiesProperty
..}
instance Property "EntityIdentifier" Owner where
  type PropertyType "EntityIdentifier" Owner = Value Prelude.Text
  set :: PropertyType "EntityIdentifier" Owner -> Owner -> Owner
set PropertyType "EntityIdentifier" Owner
newValue Owner {()
Value Text
OwnerPropertiesProperty
haddock_workaround_ :: Owner -> ()
domainIdentifier :: Owner -> Value Text
entityIdentifier :: Owner -> Value Text
entityType :: Owner -> Value Text
owner :: Owner -> OwnerPropertiesProperty
haddock_workaround_ :: ()
domainIdentifier :: Value Text
entityIdentifier :: Value Text
entityType :: Value Text
owner :: OwnerPropertiesProperty
..} = Owner {entityIdentifier :: Value Text
entityIdentifier = PropertyType "EntityIdentifier" Owner
Value Text
newValue, ()
Value Text
OwnerPropertiesProperty
haddock_workaround_ :: ()
domainIdentifier :: Value Text
entityType :: Value Text
owner :: OwnerPropertiesProperty
haddock_workaround_ :: ()
domainIdentifier :: Value Text
entityType :: Value Text
owner :: OwnerPropertiesProperty
..}
instance Property "EntityType" Owner where
  type PropertyType "EntityType" Owner = Value Prelude.Text
  set :: PropertyType "EntityType" Owner -> Owner -> Owner
set PropertyType "EntityType" Owner
newValue Owner {()
Value Text
OwnerPropertiesProperty
haddock_workaround_ :: Owner -> ()
domainIdentifier :: Owner -> Value Text
entityIdentifier :: Owner -> Value Text
entityType :: Owner -> Value Text
owner :: Owner -> OwnerPropertiesProperty
haddock_workaround_ :: ()
domainIdentifier :: Value Text
entityIdentifier :: Value Text
entityType :: Value Text
owner :: OwnerPropertiesProperty
..} = Owner {entityType :: Value Text
entityType = PropertyType "EntityType" Owner
Value Text
newValue, ()
Value Text
OwnerPropertiesProperty
haddock_workaround_ :: ()
domainIdentifier :: Value Text
entityIdentifier :: Value Text
owner :: OwnerPropertiesProperty
haddock_workaround_ :: ()
domainIdentifier :: Value Text
entityIdentifier :: Value Text
owner :: OwnerPropertiesProperty
..}
instance Property "Owner" Owner where
  type PropertyType "Owner" Owner = OwnerPropertiesProperty
  set :: PropertyType "Owner" Owner -> Owner -> Owner
set PropertyType "Owner" Owner
newValue Owner {()
Value Text
OwnerPropertiesProperty
haddock_workaround_ :: Owner -> ()
domainIdentifier :: Owner -> Value Text
entityIdentifier :: Owner -> Value Text
entityType :: Owner -> Value Text
owner :: Owner -> OwnerPropertiesProperty
haddock_workaround_ :: ()
domainIdentifier :: Value Text
entityIdentifier :: Value Text
entityType :: Value Text
owner :: OwnerPropertiesProperty
..} = Owner {owner :: OwnerPropertiesProperty
owner = PropertyType "Owner" Owner
OwnerPropertiesProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
domainIdentifier :: Value Text
entityIdentifier :: Value Text
entityType :: Value Text
haddock_workaround_ :: ()
domainIdentifier :: Value Text
entityIdentifier :: Value Text
entityType :: Value Text
..}