module Stratosphere.CloudFront.OriginAccessControl (
module Exports, OriginAccessControl(..), mkOriginAccessControl
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.CloudFront.OriginAccessControl.OriginAccessControlConfigProperty as Exports
import Stratosphere.ResourceProperties
data OriginAccessControl
=
OriginAccessControl {OriginAccessControl -> ()
haddock_workaround_ :: (),
OriginAccessControl -> OriginAccessControlConfigProperty
originAccessControlConfig :: OriginAccessControlConfigProperty}
deriving stock (OriginAccessControl -> OriginAccessControl -> Bool
(OriginAccessControl -> OriginAccessControl -> Bool)
-> (OriginAccessControl -> OriginAccessControl -> Bool)
-> Eq OriginAccessControl
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OriginAccessControl -> OriginAccessControl -> Bool
== :: OriginAccessControl -> OriginAccessControl -> Bool
$c/= :: OriginAccessControl -> OriginAccessControl -> Bool
/= :: OriginAccessControl -> OriginAccessControl -> Bool
Prelude.Eq, Int -> OriginAccessControl -> ShowS
[OriginAccessControl] -> ShowS
OriginAccessControl -> String
(Int -> OriginAccessControl -> ShowS)
-> (OriginAccessControl -> String)
-> ([OriginAccessControl] -> ShowS)
-> Show OriginAccessControl
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OriginAccessControl -> ShowS
showsPrec :: Int -> OriginAccessControl -> ShowS
$cshow :: OriginAccessControl -> String
show :: OriginAccessControl -> String
$cshowList :: [OriginAccessControl] -> ShowS
showList :: [OriginAccessControl] -> ShowS
Prelude.Show)
mkOriginAccessControl ::
OriginAccessControlConfigProperty -> OriginAccessControl
mkOriginAccessControl :: OriginAccessControlConfigProperty -> OriginAccessControl
mkOriginAccessControl OriginAccessControlConfigProperty
originAccessControlConfig
= OriginAccessControl
{haddock_workaround_ :: ()
haddock_workaround_ = (),
originAccessControlConfig :: OriginAccessControlConfigProperty
originAccessControlConfig = OriginAccessControlConfigProperty
originAccessControlConfig}
instance ToResourceProperties OriginAccessControl where
toResourceProperties :: OriginAccessControl -> ResourceProperties
toResourceProperties OriginAccessControl {()
OriginAccessControlConfigProperty
haddock_workaround_ :: OriginAccessControl -> ()
originAccessControlConfig :: OriginAccessControl -> OriginAccessControlConfigProperty
haddock_workaround_ :: ()
originAccessControlConfig :: OriginAccessControlConfigProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::CloudFront::OriginAccessControl",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"OriginAccessControlConfig"
Key -> OriginAccessControlConfigProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OriginAccessControlConfigProperty
originAccessControlConfig]}
instance JSON.ToJSON OriginAccessControl where
toJSON :: OriginAccessControl -> Value
toJSON OriginAccessControl {()
OriginAccessControlConfigProperty
haddock_workaround_ :: OriginAccessControl -> ()
originAccessControlConfig :: OriginAccessControl -> OriginAccessControlConfigProperty
haddock_workaround_ :: ()
originAccessControlConfig :: OriginAccessControlConfigProperty
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"OriginAccessControlConfig" Key -> OriginAccessControlConfigProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OriginAccessControlConfigProperty
originAccessControlConfig]
instance Property "OriginAccessControlConfig" OriginAccessControl where
type PropertyType "OriginAccessControlConfig" OriginAccessControl = OriginAccessControlConfigProperty
set :: PropertyType "OriginAccessControlConfig" OriginAccessControl
-> OriginAccessControl -> OriginAccessControl
set PropertyType "OriginAccessControlConfig" OriginAccessControl
newValue OriginAccessControl {()
OriginAccessControlConfigProperty
haddock_workaround_ :: OriginAccessControl -> ()
originAccessControlConfig :: OriginAccessControl -> OriginAccessControlConfigProperty
haddock_workaround_ :: ()
originAccessControlConfig :: OriginAccessControlConfigProperty
..}
= OriginAccessControl {originAccessControlConfig :: OriginAccessControlConfigProperty
originAccessControlConfig = PropertyType "OriginAccessControlConfig" OriginAccessControl
OriginAccessControlConfigProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}