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