module Stratosphere.CodeBuild.ReportGroup.ReportExportConfigProperty (
module Exports, ReportExportConfigProperty(..),
mkReportExportConfigProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.CodeBuild.ReportGroup.S3ReportExportConfigProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ReportExportConfigProperty
=
ReportExportConfigProperty {ReportExportConfigProperty -> ()
haddock_workaround_ :: (),
ReportExportConfigProperty -> Value Text
exportConfigType :: (Value Prelude.Text),
ReportExportConfigProperty -> Maybe S3ReportExportConfigProperty
s3Destination :: (Prelude.Maybe S3ReportExportConfigProperty)}
deriving stock (ReportExportConfigProperty -> ReportExportConfigProperty -> Bool
(ReportExportConfigProperty -> ReportExportConfigProperty -> Bool)
-> (ReportExportConfigProperty
-> ReportExportConfigProperty -> Bool)
-> Eq ReportExportConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ReportExportConfigProperty -> ReportExportConfigProperty -> Bool
== :: ReportExportConfigProperty -> ReportExportConfigProperty -> Bool
$c/= :: ReportExportConfigProperty -> ReportExportConfigProperty -> Bool
/= :: ReportExportConfigProperty -> ReportExportConfigProperty -> Bool
Prelude.Eq, Int -> ReportExportConfigProperty -> ShowS
[ReportExportConfigProperty] -> ShowS
ReportExportConfigProperty -> String
(Int -> ReportExportConfigProperty -> ShowS)
-> (ReportExportConfigProperty -> String)
-> ([ReportExportConfigProperty] -> ShowS)
-> Show ReportExportConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ReportExportConfigProperty -> ShowS
showsPrec :: Int -> ReportExportConfigProperty -> ShowS
$cshow :: ReportExportConfigProperty -> String
show :: ReportExportConfigProperty -> String
$cshowList :: [ReportExportConfigProperty] -> ShowS
showList :: [ReportExportConfigProperty] -> ShowS
Prelude.Show)
mkReportExportConfigProperty ::
Value Prelude.Text -> ReportExportConfigProperty
mkReportExportConfigProperty :: Value Text -> ReportExportConfigProperty
mkReportExportConfigProperty Value Text
exportConfigType
= ReportExportConfigProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), exportConfigType :: Value Text
exportConfigType = Value Text
exportConfigType,
s3Destination :: Maybe S3ReportExportConfigProperty
s3Destination = Maybe S3ReportExportConfigProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties ReportExportConfigProperty where
toResourceProperties :: ReportExportConfigProperty -> ResourceProperties
toResourceProperties ReportExportConfigProperty {Maybe S3ReportExportConfigProperty
()
Value Text
haddock_workaround_ :: ReportExportConfigProperty -> ()
exportConfigType :: ReportExportConfigProperty -> Value Text
s3Destination :: ReportExportConfigProperty -> Maybe S3ReportExportConfigProperty
haddock_workaround_ :: ()
exportConfigType :: Value Text
s3Destination :: Maybe S3ReportExportConfigProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::CodeBuild::ReportGroup.ReportExportConfig",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"ExportConfigType" 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
exportConfigType]
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> S3ReportExportConfigProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"S3Destination" (S3ReportExportConfigProperty -> (Key, Value))
-> Maybe S3ReportExportConfigProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe S3ReportExportConfigProperty
s3Destination]))}
instance JSON.ToJSON ReportExportConfigProperty where
toJSON :: ReportExportConfigProperty -> Value
toJSON ReportExportConfigProperty {Maybe S3ReportExportConfigProperty
()
Value Text
haddock_workaround_ :: ReportExportConfigProperty -> ()
exportConfigType :: ReportExportConfigProperty -> Value Text
s3Destination :: ReportExportConfigProperty -> Maybe S3ReportExportConfigProperty
haddock_workaround_ :: ()
exportConfigType :: Value Text
s3Destination :: Maybe S3ReportExportConfigProperty
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"ExportConfigType" 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
exportConfigType]
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> S3ReportExportConfigProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"S3Destination" (S3ReportExportConfigProperty -> (Key, Value))
-> Maybe S3ReportExportConfigProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe S3ReportExportConfigProperty
s3Destination])))
instance Property "ExportConfigType" ReportExportConfigProperty where
type PropertyType "ExportConfigType" ReportExportConfigProperty = Value Prelude.Text
set :: PropertyType "ExportConfigType" ReportExportConfigProperty
-> ReportExportConfigProperty -> ReportExportConfigProperty
set PropertyType "ExportConfigType" ReportExportConfigProperty
newValue ReportExportConfigProperty {Maybe S3ReportExportConfigProperty
()
Value Text
haddock_workaround_ :: ReportExportConfigProperty -> ()
exportConfigType :: ReportExportConfigProperty -> Value Text
s3Destination :: ReportExportConfigProperty -> Maybe S3ReportExportConfigProperty
haddock_workaround_ :: ()
exportConfigType :: Value Text
s3Destination :: Maybe S3ReportExportConfigProperty
..}
= ReportExportConfigProperty {exportConfigType :: Value Text
exportConfigType = PropertyType "ExportConfigType" ReportExportConfigProperty
Value Text
newValue, Maybe S3ReportExportConfigProperty
()
haddock_workaround_ :: ()
s3Destination :: Maybe S3ReportExportConfigProperty
haddock_workaround_ :: ()
s3Destination :: Maybe S3ReportExportConfigProperty
..}
instance Property "S3Destination" ReportExportConfigProperty where
type PropertyType "S3Destination" ReportExportConfigProperty = S3ReportExportConfigProperty
set :: PropertyType "S3Destination" ReportExportConfigProperty
-> ReportExportConfigProperty -> ReportExportConfigProperty
set PropertyType "S3Destination" ReportExportConfigProperty
newValue ReportExportConfigProperty {Maybe S3ReportExportConfigProperty
()
Value Text
haddock_workaround_ :: ReportExportConfigProperty -> ()
exportConfigType :: ReportExportConfigProperty -> Value Text
s3Destination :: ReportExportConfigProperty -> Maybe S3ReportExportConfigProperty
haddock_workaround_ :: ()
exportConfigType :: Value Text
s3Destination :: Maybe S3ReportExportConfigProperty
..}
= ReportExportConfigProperty
{s3Destination :: Maybe S3ReportExportConfigProperty
s3Destination = S3ReportExportConfigProperty -> Maybe S3ReportExportConfigProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "S3Destination" ReportExportConfigProperty
S3ReportExportConfigProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
exportConfigType :: Value Text
haddock_workaround_ :: ()
exportConfigType :: Value Text
..}