module Stratosphere.OpenSearchService.Domain.IdpProperty (
        IdpProperty(..), mkIdpProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data IdpProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchservice-domain-idp.html>
    IdpProperty {IdpProperty -> ()
haddock_workaround_ :: (),
                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchservice-domain-idp.html#cfn-opensearchservice-domain-idp-entityid>
                 IdpProperty -> Value Text
entityId :: (Value Prelude.Text),
                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchservice-domain-idp.html#cfn-opensearchservice-domain-idp-metadatacontent>
                 IdpProperty -> Value Text
metadataContent :: (Value Prelude.Text)}
  deriving stock (IdpProperty -> IdpProperty -> Bool
(IdpProperty -> IdpProperty -> Bool)
-> (IdpProperty -> IdpProperty -> Bool) -> Eq IdpProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: IdpProperty -> IdpProperty -> Bool
== :: IdpProperty -> IdpProperty -> Bool
$c/= :: IdpProperty -> IdpProperty -> Bool
/= :: IdpProperty -> IdpProperty -> Bool
Prelude.Eq, Int -> IdpProperty -> ShowS
[IdpProperty] -> ShowS
IdpProperty -> String
(Int -> IdpProperty -> ShowS)
-> (IdpProperty -> String)
-> ([IdpProperty] -> ShowS)
-> Show IdpProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> IdpProperty -> ShowS
showsPrec :: Int -> IdpProperty -> ShowS
$cshow :: IdpProperty -> String
show :: IdpProperty -> String
$cshowList :: [IdpProperty] -> ShowS
showList :: [IdpProperty] -> ShowS
Prelude.Show)
mkIdpProperty ::
  Value Prelude.Text -> Value Prelude.Text -> IdpProperty
mkIdpProperty :: Value Text -> Value Text -> IdpProperty
mkIdpProperty Value Text
entityId Value Text
metadataContent
  = IdpProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), entityId :: Value Text
entityId = Value Text
entityId,
       metadataContent :: Value Text
metadataContent = Value Text
metadataContent}
instance ToResourceProperties IdpProperty where
  toResourceProperties :: IdpProperty -> ResourceProperties
toResourceProperties IdpProperty {()
Value Text
haddock_workaround_ :: IdpProperty -> ()
entityId :: IdpProperty -> Value Text
metadataContent :: IdpProperty -> Value Text
haddock_workaround_ :: ()
entityId :: Value Text
metadataContent :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::OpenSearchService::Domain.Idp",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"EntityId" 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
entityId,
                       Key
"MetadataContent" 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
metadataContent]}
instance JSON.ToJSON IdpProperty where
  toJSON :: IdpProperty -> Value
toJSON IdpProperty {()
Value Text
haddock_workaround_ :: IdpProperty -> ()
entityId :: IdpProperty -> Value Text
metadataContent :: IdpProperty -> Value Text
haddock_workaround_ :: ()
entityId :: Value Text
metadataContent :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"EntityId" 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
entityId,
         Key
"MetadataContent" 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
metadataContent]
instance Property "EntityId" IdpProperty where
  type PropertyType "EntityId" IdpProperty = Value Prelude.Text
  set :: PropertyType "EntityId" IdpProperty -> IdpProperty -> IdpProperty
set PropertyType "EntityId" IdpProperty
newValue IdpProperty {()
Value Text
haddock_workaround_ :: IdpProperty -> ()
entityId :: IdpProperty -> Value Text
metadataContent :: IdpProperty -> Value Text
haddock_workaround_ :: ()
entityId :: Value Text
metadataContent :: Value Text
..}
    = IdpProperty {entityId :: Value Text
entityId = PropertyType "EntityId" IdpProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
metadataContent :: Value Text
haddock_workaround_ :: ()
metadataContent :: Value Text
..}
instance Property "MetadataContent" IdpProperty where
  type PropertyType "MetadataContent" IdpProperty = Value Prelude.Text
  set :: PropertyType "MetadataContent" IdpProperty
-> IdpProperty -> IdpProperty
set PropertyType "MetadataContent" IdpProperty
newValue IdpProperty {()
Value Text
haddock_workaround_ :: IdpProperty -> ()
entityId :: IdpProperty -> Value Text
metadataContent :: IdpProperty -> Value Text
haddock_workaround_ :: ()
entityId :: Value Text
metadataContent :: Value Text
..}
    = IdpProperty {metadataContent :: Value Text
metadataContent = PropertyType "MetadataContent" IdpProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
entityId :: Value Text
haddock_workaround_ :: ()
entityId :: Value Text
..}