module Stratosphere.AppMesh.VirtualNode.ListenerTlsFileCertificateProperty (
        ListenerTlsFileCertificateProperty(..),
        mkListenerTlsFileCertificateProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ListenerTlsFileCertificateProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html>
    ListenerTlsFileCertificateProperty {ListenerTlsFileCertificateProperty -> ()
haddock_workaround_ :: (),
                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html#cfn-appmesh-virtualnode-listenertlsfilecertificate-certificatechain>
                                        ListenerTlsFileCertificateProperty -> Value Text
certificateChain :: (Value Prelude.Text),
                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html#cfn-appmesh-virtualnode-listenertlsfilecertificate-privatekey>
                                        ListenerTlsFileCertificateProperty -> Value Text
privateKey :: (Value Prelude.Text)}
  deriving stock (ListenerTlsFileCertificateProperty
-> ListenerTlsFileCertificateProperty -> Bool
(ListenerTlsFileCertificateProperty
 -> ListenerTlsFileCertificateProperty -> Bool)
-> (ListenerTlsFileCertificateProperty
    -> ListenerTlsFileCertificateProperty -> Bool)
-> Eq ListenerTlsFileCertificateProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ListenerTlsFileCertificateProperty
-> ListenerTlsFileCertificateProperty -> Bool
== :: ListenerTlsFileCertificateProperty
-> ListenerTlsFileCertificateProperty -> Bool
$c/= :: ListenerTlsFileCertificateProperty
-> ListenerTlsFileCertificateProperty -> Bool
/= :: ListenerTlsFileCertificateProperty
-> ListenerTlsFileCertificateProperty -> Bool
Prelude.Eq, Int -> ListenerTlsFileCertificateProperty -> ShowS
[ListenerTlsFileCertificateProperty] -> ShowS
ListenerTlsFileCertificateProperty -> String
(Int -> ListenerTlsFileCertificateProperty -> ShowS)
-> (ListenerTlsFileCertificateProperty -> String)
-> ([ListenerTlsFileCertificateProperty] -> ShowS)
-> Show ListenerTlsFileCertificateProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ListenerTlsFileCertificateProperty -> ShowS
showsPrec :: Int -> ListenerTlsFileCertificateProperty -> ShowS
$cshow :: ListenerTlsFileCertificateProperty -> String
show :: ListenerTlsFileCertificateProperty -> String
$cshowList :: [ListenerTlsFileCertificateProperty] -> ShowS
showList :: [ListenerTlsFileCertificateProperty] -> ShowS
Prelude.Show)
mkListenerTlsFileCertificateProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> ListenerTlsFileCertificateProperty
mkListenerTlsFileCertificateProperty :: Value Text -> Value Text -> ListenerTlsFileCertificateProperty
mkListenerTlsFileCertificateProperty Value Text
certificateChain Value Text
privateKey
  = ListenerTlsFileCertificateProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), certificateChain :: Value Text
certificateChain = Value Text
certificateChain,
       privateKey :: Value Text
privateKey = Value Text
privateKey}
instance ToResourceProperties ListenerTlsFileCertificateProperty where
  toResourceProperties :: ListenerTlsFileCertificateProperty -> ResourceProperties
toResourceProperties ListenerTlsFileCertificateProperty {()
Value Text
haddock_workaround_ :: ListenerTlsFileCertificateProperty -> ()
certificateChain :: ListenerTlsFileCertificateProperty -> Value Text
privateKey :: ListenerTlsFileCertificateProperty -> Value Text
haddock_workaround_ :: ()
certificateChain :: Value Text
privateKey :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"CertificateChain" 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
certificateChain,
                       Key
"PrivateKey" 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
privateKey]}
instance JSON.ToJSON ListenerTlsFileCertificateProperty where
  toJSON :: ListenerTlsFileCertificateProperty -> Value
toJSON ListenerTlsFileCertificateProperty {()
Value Text
haddock_workaround_ :: ListenerTlsFileCertificateProperty -> ()
certificateChain :: ListenerTlsFileCertificateProperty -> Value Text
privateKey :: ListenerTlsFileCertificateProperty -> Value Text
haddock_workaround_ :: ()
certificateChain :: Value Text
privateKey :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"CertificateChain" 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
certificateChain,
         Key
"PrivateKey" 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
privateKey]
instance Property "CertificateChain" ListenerTlsFileCertificateProperty where
  type PropertyType "CertificateChain" ListenerTlsFileCertificateProperty = Value Prelude.Text
  set :: PropertyType "CertificateChain" ListenerTlsFileCertificateProperty
-> ListenerTlsFileCertificateProperty
-> ListenerTlsFileCertificateProperty
set PropertyType "CertificateChain" ListenerTlsFileCertificateProperty
newValue ListenerTlsFileCertificateProperty {()
Value Text
haddock_workaround_ :: ListenerTlsFileCertificateProperty -> ()
certificateChain :: ListenerTlsFileCertificateProperty -> Value Text
privateKey :: ListenerTlsFileCertificateProperty -> Value Text
haddock_workaround_ :: ()
certificateChain :: Value Text
privateKey :: Value Text
..}
    = ListenerTlsFileCertificateProperty
        {certificateChain :: Value Text
certificateChain = PropertyType "CertificateChain" ListenerTlsFileCertificateProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
privateKey :: Value Text
haddock_workaround_ :: ()
privateKey :: Value Text
..}
instance Property "PrivateKey" ListenerTlsFileCertificateProperty where
  type PropertyType "PrivateKey" ListenerTlsFileCertificateProperty = Value Prelude.Text
  set :: PropertyType "PrivateKey" ListenerTlsFileCertificateProperty
-> ListenerTlsFileCertificateProperty
-> ListenerTlsFileCertificateProperty
set PropertyType "PrivateKey" ListenerTlsFileCertificateProperty
newValue ListenerTlsFileCertificateProperty {()
Value Text
haddock_workaround_ :: ListenerTlsFileCertificateProperty -> ()
certificateChain :: ListenerTlsFileCertificateProperty -> Value Text
privateKey :: ListenerTlsFileCertificateProperty -> Value Text
haddock_workaround_ :: ()
certificateChain :: Value Text
privateKey :: Value Text
..}
    = ListenerTlsFileCertificateProperty {privateKey :: Value Text
privateKey = PropertyType "PrivateKey" ListenerTlsFileCertificateProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
certificateChain :: Value Text
haddock_workaround_ :: ()
certificateChain :: Value Text
..}