module Stratosphere.AppSync.DataSource.OpenSearchServiceConfigProperty (
        OpenSearchServiceConfigProperty(..),
        mkOpenSearchServiceConfigProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data OpenSearchServiceConfigProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-opensearchserviceconfig.html>
    OpenSearchServiceConfigProperty {OpenSearchServiceConfigProperty -> ()
haddock_workaround_ :: (),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-opensearchserviceconfig.html#cfn-appsync-datasource-opensearchserviceconfig-awsregion>
                                     OpenSearchServiceConfigProperty -> Value Text
awsRegion :: (Value Prelude.Text),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-opensearchserviceconfig.html#cfn-appsync-datasource-opensearchserviceconfig-endpoint>
                                     OpenSearchServiceConfigProperty -> Value Text
endpoint :: (Value Prelude.Text)}
  deriving stock (OpenSearchServiceConfigProperty
-> OpenSearchServiceConfigProperty -> Bool
(OpenSearchServiceConfigProperty
 -> OpenSearchServiceConfigProperty -> Bool)
-> (OpenSearchServiceConfigProperty
    -> OpenSearchServiceConfigProperty -> Bool)
-> Eq OpenSearchServiceConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OpenSearchServiceConfigProperty
-> OpenSearchServiceConfigProperty -> Bool
== :: OpenSearchServiceConfigProperty
-> OpenSearchServiceConfigProperty -> Bool
$c/= :: OpenSearchServiceConfigProperty
-> OpenSearchServiceConfigProperty -> Bool
/= :: OpenSearchServiceConfigProperty
-> OpenSearchServiceConfigProperty -> Bool
Prelude.Eq, Int -> OpenSearchServiceConfigProperty -> ShowS
[OpenSearchServiceConfigProperty] -> ShowS
OpenSearchServiceConfigProperty -> String
(Int -> OpenSearchServiceConfigProperty -> ShowS)
-> (OpenSearchServiceConfigProperty -> String)
-> ([OpenSearchServiceConfigProperty] -> ShowS)
-> Show OpenSearchServiceConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OpenSearchServiceConfigProperty -> ShowS
showsPrec :: Int -> OpenSearchServiceConfigProperty -> ShowS
$cshow :: OpenSearchServiceConfigProperty -> String
show :: OpenSearchServiceConfigProperty -> String
$cshowList :: [OpenSearchServiceConfigProperty] -> ShowS
showList :: [OpenSearchServiceConfigProperty] -> ShowS
Prelude.Show)
mkOpenSearchServiceConfigProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> OpenSearchServiceConfigProperty
mkOpenSearchServiceConfigProperty :: Value Text -> Value Text -> OpenSearchServiceConfigProperty
mkOpenSearchServiceConfigProperty Value Text
awsRegion Value Text
endpoint
  = OpenSearchServiceConfigProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), awsRegion :: Value Text
awsRegion = Value Text
awsRegion,
       endpoint :: Value Text
endpoint = Value Text
endpoint}
instance ToResourceProperties OpenSearchServiceConfigProperty where
  toResourceProperties :: OpenSearchServiceConfigProperty -> ResourceProperties
toResourceProperties OpenSearchServiceConfigProperty {()
Value Text
haddock_workaround_ :: OpenSearchServiceConfigProperty -> ()
awsRegion :: OpenSearchServiceConfigProperty -> Value Text
endpoint :: OpenSearchServiceConfigProperty -> Value Text
haddock_workaround_ :: ()
awsRegion :: Value Text
endpoint :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::AppSync::DataSource.OpenSearchServiceConfig",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"AwsRegion" 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
awsRegion,
                       Key
"Endpoint" 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
endpoint]}
instance JSON.ToJSON OpenSearchServiceConfigProperty where
  toJSON :: OpenSearchServiceConfigProperty -> Value
toJSON OpenSearchServiceConfigProperty {()
Value Text
haddock_workaround_ :: OpenSearchServiceConfigProperty -> ()
awsRegion :: OpenSearchServiceConfigProperty -> Value Text
endpoint :: OpenSearchServiceConfigProperty -> Value Text
haddock_workaround_ :: ()
awsRegion :: Value Text
endpoint :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"AwsRegion" 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
awsRegion, Key
"Endpoint" 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
endpoint]
instance Property "AwsRegion" OpenSearchServiceConfigProperty where
  type PropertyType "AwsRegion" OpenSearchServiceConfigProperty = Value Prelude.Text
  set :: PropertyType "AwsRegion" OpenSearchServiceConfigProperty
-> OpenSearchServiceConfigProperty
-> OpenSearchServiceConfigProperty
set PropertyType "AwsRegion" OpenSearchServiceConfigProperty
newValue OpenSearchServiceConfigProperty {()
Value Text
haddock_workaround_ :: OpenSearchServiceConfigProperty -> ()
awsRegion :: OpenSearchServiceConfigProperty -> Value Text
endpoint :: OpenSearchServiceConfigProperty -> Value Text
haddock_workaround_ :: ()
awsRegion :: Value Text
endpoint :: Value Text
..}
    = OpenSearchServiceConfigProperty {awsRegion :: Value Text
awsRegion = PropertyType "AwsRegion" OpenSearchServiceConfigProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
endpoint :: Value Text
haddock_workaround_ :: ()
endpoint :: Value Text
..}
instance Property "Endpoint" OpenSearchServiceConfigProperty where
  type PropertyType "Endpoint" OpenSearchServiceConfigProperty = Value Prelude.Text
  set :: PropertyType "Endpoint" OpenSearchServiceConfigProperty
-> OpenSearchServiceConfigProperty
-> OpenSearchServiceConfigProperty
set PropertyType "Endpoint" OpenSearchServiceConfigProperty
newValue OpenSearchServiceConfigProperty {()
Value Text
haddock_workaround_ :: OpenSearchServiceConfigProperty -> ()
awsRegion :: OpenSearchServiceConfigProperty -> Value Text
endpoint :: OpenSearchServiceConfigProperty -> Value Text
haddock_workaround_ :: ()
awsRegion :: Value Text
endpoint :: Value Text
..}
    = OpenSearchServiceConfigProperty {endpoint :: Value Text
endpoint = PropertyType "Endpoint" OpenSearchServiceConfigProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
awsRegion :: Value Text
haddock_workaround_ :: ()
awsRegion :: Value Text
..}