module Stratosphere.CloudFront.ResponseHeadersPolicy.ContentSecurityPolicyProperty (
        ContentSecurityPolicyProperty(..), mkContentSecurityPolicyProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ContentSecurityPolicyProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-contentsecuritypolicy.html>
    ContentSecurityPolicyProperty {ContentSecurityPolicyProperty -> ()
haddock_workaround_ :: (),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-contentsecuritypolicy.html#cfn-cloudfront-responseheaderspolicy-contentsecuritypolicy-contentsecuritypolicy>
                                   ContentSecurityPolicyProperty -> Value Text
contentSecurityPolicy :: (Value Prelude.Text),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-contentsecuritypolicy.html#cfn-cloudfront-responseheaderspolicy-contentsecuritypolicy-override>
                                   ContentSecurityPolicyProperty -> Value Bool
override :: (Value Prelude.Bool)}
  deriving stock (ContentSecurityPolicyProperty
-> ContentSecurityPolicyProperty -> Bool
(ContentSecurityPolicyProperty
 -> ContentSecurityPolicyProperty -> Bool)
-> (ContentSecurityPolicyProperty
    -> ContentSecurityPolicyProperty -> Bool)
-> Eq ContentSecurityPolicyProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ContentSecurityPolicyProperty
-> ContentSecurityPolicyProperty -> Bool
== :: ContentSecurityPolicyProperty
-> ContentSecurityPolicyProperty -> Bool
$c/= :: ContentSecurityPolicyProperty
-> ContentSecurityPolicyProperty -> Bool
/= :: ContentSecurityPolicyProperty
-> ContentSecurityPolicyProperty -> Bool
Prelude.Eq, Int -> ContentSecurityPolicyProperty -> ShowS
[ContentSecurityPolicyProperty] -> ShowS
ContentSecurityPolicyProperty -> String
(Int -> ContentSecurityPolicyProperty -> ShowS)
-> (ContentSecurityPolicyProperty -> String)
-> ([ContentSecurityPolicyProperty] -> ShowS)
-> Show ContentSecurityPolicyProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ContentSecurityPolicyProperty -> ShowS
showsPrec :: Int -> ContentSecurityPolicyProperty -> ShowS
$cshow :: ContentSecurityPolicyProperty -> String
show :: ContentSecurityPolicyProperty -> String
$cshowList :: [ContentSecurityPolicyProperty] -> ShowS
showList :: [ContentSecurityPolicyProperty] -> ShowS
Prelude.Show)
mkContentSecurityPolicyProperty ::
  Value Prelude.Text
  -> Value Prelude.Bool -> ContentSecurityPolicyProperty
mkContentSecurityPolicyProperty :: Value Text -> Value Bool -> ContentSecurityPolicyProperty
mkContentSecurityPolicyProperty Value Text
contentSecurityPolicy Value Bool
override
  = ContentSecurityPolicyProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       contentSecurityPolicy :: Value Text
contentSecurityPolicy = Value Text
contentSecurityPolicy, override :: Value Bool
override = Value Bool
override}
instance ToResourceProperties ContentSecurityPolicyProperty where
  toResourceProperties :: ContentSecurityPolicyProperty -> ResourceProperties
toResourceProperties ContentSecurityPolicyProperty {()
Value Bool
Value Text
haddock_workaround_ :: ContentSecurityPolicyProperty -> ()
contentSecurityPolicy :: ContentSecurityPolicyProperty -> Value Text
override :: ContentSecurityPolicyProperty -> Value Bool
haddock_workaround_ :: ()
contentSecurityPolicy :: Value Text
override :: Value Bool
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::CloudFront::ResponseHeadersPolicy.ContentSecurityPolicy",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ContentSecurityPolicy"
                         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
contentSecurityPolicy,
                       Key
"Override" Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Bool
override]}
instance JSON.ToJSON ContentSecurityPolicyProperty where
  toJSON :: ContentSecurityPolicyProperty -> Value
toJSON ContentSecurityPolicyProperty {()
Value Bool
Value Text
haddock_workaround_ :: ContentSecurityPolicyProperty -> ()
contentSecurityPolicy :: ContentSecurityPolicyProperty -> Value Text
override :: ContentSecurityPolicyProperty -> Value Bool
haddock_workaround_ :: ()
contentSecurityPolicy :: Value Text
override :: Value Bool
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ContentSecurityPolicy" 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
contentSecurityPolicy,
         Key
"Override" Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Bool
override]
instance Property "ContentSecurityPolicy" ContentSecurityPolicyProperty where
  type PropertyType "ContentSecurityPolicy" ContentSecurityPolicyProperty = Value Prelude.Text
  set :: PropertyType "ContentSecurityPolicy" ContentSecurityPolicyProperty
-> ContentSecurityPolicyProperty -> ContentSecurityPolicyProperty
set PropertyType "ContentSecurityPolicy" ContentSecurityPolicyProperty
newValue ContentSecurityPolicyProperty {()
Value Bool
Value Text
haddock_workaround_ :: ContentSecurityPolicyProperty -> ()
contentSecurityPolicy :: ContentSecurityPolicyProperty -> Value Text
override :: ContentSecurityPolicyProperty -> Value Bool
haddock_workaround_ :: ()
contentSecurityPolicy :: Value Text
override :: Value Bool
..}
    = ContentSecurityPolicyProperty
        {contentSecurityPolicy :: Value Text
contentSecurityPolicy = PropertyType "ContentSecurityPolicy" ContentSecurityPolicyProperty
Value Text
newValue, ()
Value Bool
haddock_workaround_ :: ()
override :: Value Bool
haddock_workaround_ :: ()
override :: Value Bool
..}
instance Property "Override" ContentSecurityPolicyProperty where
  type PropertyType "Override" ContentSecurityPolicyProperty = Value Prelude.Bool
  set :: PropertyType "Override" ContentSecurityPolicyProperty
-> ContentSecurityPolicyProperty -> ContentSecurityPolicyProperty
set PropertyType "Override" ContentSecurityPolicyProperty
newValue ContentSecurityPolicyProperty {()
Value Bool
Value Text
haddock_workaround_ :: ContentSecurityPolicyProperty -> ()
contentSecurityPolicy :: ContentSecurityPolicyProperty -> Value Text
override :: ContentSecurityPolicyProperty -> Value Bool
haddock_workaround_ :: ()
contentSecurityPolicy :: Value Text
override :: Value Bool
..}
    = ContentSecurityPolicyProperty {override :: Value Bool
override = PropertyType "Override" ContentSecurityPolicyProperty
Value Bool
newValue, ()
Value Text
haddock_workaround_ :: ()
contentSecurityPolicy :: Value Text
haddock_workaround_ :: ()
contentSecurityPolicy :: Value Text
..}