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