module Stratosphere.S3Tables.Namespace (
        Namespace(..), mkNamespace
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data Namespace
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-namespace.html>
    Namespace {Namespace -> ()
haddock_workaround_ :: (),
               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-namespace.html#cfn-s3tables-namespace-namespace>
               Namespace -> Value Text
namespace :: (Value Prelude.Text),
               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-namespace.html#cfn-s3tables-namespace-tablebucketarn>
               Namespace -> Value Text
tableBucketARN :: (Value Prelude.Text)}
  deriving stock (Namespace -> Namespace -> Bool
(Namespace -> Namespace -> Bool)
-> (Namespace -> Namespace -> Bool) -> Eq Namespace
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Namespace -> Namespace -> Bool
== :: Namespace -> Namespace -> Bool
$c/= :: Namespace -> Namespace -> Bool
/= :: Namespace -> Namespace -> Bool
Prelude.Eq, Int -> Namespace -> ShowS
[Namespace] -> ShowS
Namespace -> String
(Int -> Namespace -> ShowS)
-> (Namespace -> String)
-> ([Namespace] -> ShowS)
-> Show Namespace
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Namespace -> ShowS
showsPrec :: Int -> Namespace -> ShowS
$cshow :: Namespace -> String
show :: Namespace -> String
$cshowList :: [Namespace] -> ShowS
showList :: [Namespace] -> ShowS
Prelude.Show)
mkNamespace ::
  Value Prelude.Text -> Value Prelude.Text -> Namespace
mkNamespace :: Value Text -> Value Text -> Namespace
mkNamespace Value Text
namespace Value Text
tableBucketARN
  = Namespace
      {haddock_workaround_ :: ()
haddock_workaround_ = (), namespace :: Value Text
namespace = Value Text
namespace,
       tableBucketARN :: Value Text
tableBucketARN = Value Text
tableBucketARN}
instance ToResourceProperties Namespace where
  toResourceProperties :: Namespace -> ResourceProperties
toResourceProperties Namespace {()
Value Text
haddock_workaround_ :: Namespace -> ()
namespace :: Namespace -> Value Text
tableBucketARN :: Namespace -> Value Text
haddock_workaround_ :: ()
namespace :: Value Text
tableBucketARN :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::S3Tables::Namespace",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Namespace" 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
namespace,
                       Key
"TableBucketARN" 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
tableBucketARN]}
instance JSON.ToJSON Namespace where
  toJSON :: Namespace -> Value
toJSON Namespace {()
Value Text
haddock_workaround_ :: Namespace -> ()
namespace :: Namespace -> Value Text
tableBucketARN :: Namespace -> Value Text
haddock_workaround_ :: ()
namespace :: Value Text
tableBucketARN :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Namespace" 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
namespace,
         Key
"TableBucketARN" 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
tableBucketARN]
instance Property "Namespace" Namespace where
  type PropertyType "Namespace" Namespace = Value Prelude.Text
  set :: PropertyType "Namespace" Namespace -> Namespace -> Namespace
set PropertyType "Namespace" Namespace
newValue Namespace {()
Value Text
haddock_workaround_ :: Namespace -> ()
namespace :: Namespace -> Value Text
tableBucketARN :: Namespace -> Value Text
haddock_workaround_ :: ()
namespace :: Value Text
tableBucketARN :: Value Text
..} = Namespace {namespace :: Value Text
namespace = PropertyType "Namespace" Namespace
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
tableBucketARN :: Value Text
haddock_workaround_ :: ()
tableBucketARN :: Value Text
..}
instance Property "TableBucketARN" Namespace where
  type PropertyType "TableBucketARN" Namespace = Value Prelude.Text
  set :: PropertyType "TableBucketARN" Namespace -> Namespace -> Namespace
set PropertyType "TableBucketARN" Namespace
newValue Namespace {()
Value Text
haddock_workaround_ :: Namespace -> ()
namespace :: Namespace -> Value Text
tableBucketARN :: Namespace -> Value Text
haddock_workaround_ :: ()
namespace :: Value Text
tableBucketARN :: Value Text
..}
    = Namespace {tableBucketARN :: Value Text
tableBucketARN = PropertyType "TableBucketARN" Namespace
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
namespace :: Value Text
haddock_workaround_ :: ()
namespace :: Value Text
..}