{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.AppFlow.Types.ConnectorEntityField
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.AppFlow.Types.ConnectorEntityField where

import Amazonka.AppFlow.Types.DestinationFieldProperties
import Amazonka.AppFlow.Types.SourceFieldProperties
import Amazonka.AppFlow.Types.SupportedFieldTypeDetails
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude

-- | Describes the data model of a connector field. For example, for an
-- /account/ entity, the fields would be /account name/, /account ID/, and
-- so on.
--
-- /See:/ 'newConnectorEntityField' smart constructor.
data ConnectorEntityField = ConnectorEntityField'
  { -- | A map that has specific properties related to the ConnectorEntityField.
    ConnectorEntityField -> Maybe (HashMap Text Text)
customProperties :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | Default value that can be assigned to this field.
    ConnectorEntityField -> Maybe Text
defaultValue :: Prelude.Maybe Prelude.Text,
    -- | A description of the connector entity field.
    ConnectorEntityField -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The properties applied to a field when the connector is being used as a
    -- destination.
    ConnectorEntityField -> Maybe DestinationFieldProperties
destinationProperties :: Prelude.Maybe DestinationFieldProperties,
    -- | Booelan value that indicates whether this field is deprecated or not.
    ConnectorEntityField -> Maybe Bool
isDeprecated :: Prelude.Maybe Prelude.Bool,
    -- | Booelan value that indicates whether this field can be used as a primary
    -- key.
    ConnectorEntityField -> Maybe Bool
isPrimaryKey :: Prelude.Maybe Prelude.Bool,
    -- | The label applied to a connector entity field.
    ConnectorEntityField -> Maybe Text
label :: Prelude.Maybe Prelude.Text,
    -- | The parent identifier of the connector field.
    ConnectorEntityField -> Maybe Text
parentIdentifier :: Prelude.Maybe Prelude.Text,
    -- | The properties that can be applied to a field when the connector is
    -- being used as a source.
    ConnectorEntityField -> Maybe SourceFieldProperties
sourceProperties :: Prelude.Maybe SourceFieldProperties,
    -- | Contains details regarding the supported @FieldType@, including the
    -- corresponding @filterOperators@ and @supportedValues@.
    ConnectorEntityField -> Maybe SupportedFieldTypeDetails
supportedFieldTypeDetails :: Prelude.Maybe SupportedFieldTypeDetails,
    -- | The unique identifier of the connector field.
    ConnectorEntityField -> Text
identifier :: Prelude.Text
  }
  deriving (ConnectorEntityField -> ConnectorEntityField -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConnectorEntityField -> ConnectorEntityField -> Bool
$c/= :: ConnectorEntityField -> ConnectorEntityField -> Bool
== :: ConnectorEntityField -> ConnectorEntityField -> Bool
$c== :: ConnectorEntityField -> ConnectorEntityField -> Bool
Prelude.Eq, ReadPrec [ConnectorEntityField]
ReadPrec ConnectorEntityField
Int -> ReadS ConnectorEntityField
ReadS [ConnectorEntityField]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ConnectorEntityField]
$creadListPrec :: ReadPrec [ConnectorEntityField]
readPrec :: ReadPrec ConnectorEntityField
$creadPrec :: ReadPrec ConnectorEntityField
readList :: ReadS [ConnectorEntityField]
$creadList :: ReadS [ConnectorEntityField]
readsPrec :: Int -> ReadS ConnectorEntityField
$creadsPrec :: Int -> ReadS ConnectorEntityField
Prelude.Read, Int -> ConnectorEntityField -> ShowS
[ConnectorEntityField] -> ShowS
ConnectorEntityField -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ConnectorEntityField] -> ShowS
$cshowList :: [ConnectorEntityField] -> ShowS
show :: ConnectorEntityField -> String
$cshow :: ConnectorEntityField -> String
showsPrec :: Int -> ConnectorEntityField -> ShowS
$cshowsPrec :: Int -> ConnectorEntityField -> ShowS
Prelude.Show, forall x. Rep ConnectorEntityField x -> ConnectorEntityField
forall x. ConnectorEntityField -> Rep ConnectorEntityField x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ConnectorEntityField x -> ConnectorEntityField
$cfrom :: forall x. ConnectorEntityField -> Rep ConnectorEntityField x
Prelude.Generic)

-- |
-- Create a value of 'ConnectorEntityField' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'customProperties', 'connectorEntityField_customProperties' - A map that has specific properties related to the ConnectorEntityField.
--
-- 'defaultValue', 'connectorEntityField_defaultValue' - Default value that can be assigned to this field.
--
-- 'description', 'connectorEntityField_description' - A description of the connector entity field.
--
-- 'destinationProperties', 'connectorEntityField_destinationProperties' - The properties applied to a field when the connector is being used as a
-- destination.
--
-- 'isDeprecated', 'connectorEntityField_isDeprecated' - Booelan value that indicates whether this field is deprecated or not.
--
-- 'isPrimaryKey', 'connectorEntityField_isPrimaryKey' - Booelan value that indicates whether this field can be used as a primary
-- key.
--
-- 'label', 'connectorEntityField_label' - The label applied to a connector entity field.
--
-- 'parentIdentifier', 'connectorEntityField_parentIdentifier' - The parent identifier of the connector field.
--
-- 'sourceProperties', 'connectorEntityField_sourceProperties' - The properties that can be applied to a field when the connector is
-- being used as a source.
--
-- 'supportedFieldTypeDetails', 'connectorEntityField_supportedFieldTypeDetails' - Contains details regarding the supported @FieldType@, including the
-- corresponding @filterOperators@ and @supportedValues@.
--
-- 'identifier', 'connectorEntityField_identifier' - The unique identifier of the connector field.
newConnectorEntityField ::
  -- | 'identifier'
  Prelude.Text ->
  ConnectorEntityField
newConnectorEntityField :: Text -> ConnectorEntityField
newConnectorEntityField Text
pIdentifier_ =
  ConnectorEntityField'
    { $sel:customProperties:ConnectorEntityField' :: Maybe (HashMap Text Text)
customProperties =
        forall a. Maybe a
Prelude.Nothing,
      $sel:defaultValue:ConnectorEntityField' :: Maybe Text
defaultValue = forall a. Maybe a
Prelude.Nothing,
      $sel:description:ConnectorEntityField' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:destinationProperties:ConnectorEntityField' :: Maybe DestinationFieldProperties
destinationProperties = forall a. Maybe a
Prelude.Nothing,
      $sel:isDeprecated:ConnectorEntityField' :: Maybe Bool
isDeprecated = forall a. Maybe a
Prelude.Nothing,
      $sel:isPrimaryKey:ConnectorEntityField' :: Maybe Bool
isPrimaryKey = forall a. Maybe a
Prelude.Nothing,
      $sel:label:ConnectorEntityField' :: Maybe Text
label = forall a. Maybe a
Prelude.Nothing,
      $sel:parentIdentifier:ConnectorEntityField' :: Maybe Text
parentIdentifier = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceProperties:ConnectorEntityField' :: Maybe SourceFieldProperties
sourceProperties = forall a. Maybe a
Prelude.Nothing,
      $sel:supportedFieldTypeDetails:ConnectorEntityField' :: Maybe SupportedFieldTypeDetails
supportedFieldTypeDetails = forall a. Maybe a
Prelude.Nothing,
      $sel:identifier:ConnectorEntityField' :: Text
identifier = Text
pIdentifier_
    }

-- | A map that has specific properties related to the ConnectorEntityField.
connectorEntityField_customProperties :: Lens.Lens' ConnectorEntityField (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
connectorEntityField_customProperties :: Lens' ConnectorEntityField (Maybe (HashMap Text Text))
connectorEntityField_customProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorEntityField' {Maybe (HashMap Text Text)
customProperties :: Maybe (HashMap Text Text)
$sel:customProperties:ConnectorEntityField' :: ConnectorEntityField -> Maybe (HashMap Text Text)
customProperties} -> Maybe (HashMap Text Text)
customProperties) (\s :: ConnectorEntityField
s@ConnectorEntityField' {} Maybe (HashMap Text Text)
a -> ConnectorEntityField
s {$sel:customProperties:ConnectorEntityField' :: Maybe (HashMap Text Text)
customProperties = Maybe (HashMap Text Text)
a} :: ConnectorEntityField) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Default value that can be assigned to this field.
connectorEntityField_defaultValue :: Lens.Lens' ConnectorEntityField (Prelude.Maybe Prelude.Text)
connectorEntityField_defaultValue :: Lens' ConnectorEntityField (Maybe Text)
connectorEntityField_defaultValue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorEntityField' {Maybe Text
defaultValue :: Maybe Text
$sel:defaultValue:ConnectorEntityField' :: ConnectorEntityField -> Maybe Text
defaultValue} -> Maybe Text
defaultValue) (\s :: ConnectorEntityField
s@ConnectorEntityField' {} Maybe Text
a -> ConnectorEntityField
s {$sel:defaultValue:ConnectorEntityField' :: Maybe Text
defaultValue = Maybe Text
a} :: ConnectorEntityField)

-- | A description of the connector entity field.
connectorEntityField_description :: Lens.Lens' ConnectorEntityField (Prelude.Maybe Prelude.Text)
connectorEntityField_description :: Lens' ConnectorEntityField (Maybe Text)
connectorEntityField_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorEntityField' {Maybe Text
description :: Maybe Text
$sel:description:ConnectorEntityField' :: ConnectorEntityField -> Maybe Text
description} -> Maybe Text
description) (\s :: ConnectorEntityField
s@ConnectorEntityField' {} Maybe Text
a -> ConnectorEntityField
s {$sel:description:ConnectorEntityField' :: Maybe Text
description = Maybe Text
a} :: ConnectorEntityField)

-- | The properties applied to a field when the connector is being used as a
-- destination.
connectorEntityField_destinationProperties :: Lens.Lens' ConnectorEntityField (Prelude.Maybe DestinationFieldProperties)
connectorEntityField_destinationProperties :: Lens' ConnectorEntityField (Maybe DestinationFieldProperties)
connectorEntityField_destinationProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorEntityField' {Maybe DestinationFieldProperties
destinationProperties :: Maybe DestinationFieldProperties
$sel:destinationProperties:ConnectorEntityField' :: ConnectorEntityField -> Maybe DestinationFieldProperties
destinationProperties} -> Maybe DestinationFieldProperties
destinationProperties) (\s :: ConnectorEntityField
s@ConnectorEntityField' {} Maybe DestinationFieldProperties
a -> ConnectorEntityField
s {$sel:destinationProperties:ConnectorEntityField' :: Maybe DestinationFieldProperties
destinationProperties = Maybe DestinationFieldProperties
a} :: ConnectorEntityField)

-- | Booelan value that indicates whether this field is deprecated or not.
connectorEntityField_isDeprecated :: Lens.Lens' ConnectorEntityField (Prelude.Maybe Prelude.Bool)
connectorEntityField_isDeprecated :: Lens' ConnectorEntityField (Maybe Bool)
connectorEntityField_isDeprecated = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorEntityField' {Maybe Bool
isDeprecated :: Maybe Bool
$sel:isDeprecated:ConnectorEntityField' :: ConnectorEntityField -> Maybe Bool
isDeprecated} -> Maybe Bool
isDeprecated) (\s :: ConnectorEntityField
s@ConnectorEntityField' {} Maybe Bool
a -> ConnectorEntityField
s {$sel:isDeprecated:ConnectorEntityField' :: Maybe Bool
isDeprecated = Maybe Bool
a} :: ConnectorEntityField)

-- | Booelan value that indicates whether this field can be used as a primary
-- key.
connectorEntityField_isPrimaryKey :: Lens.Lens' ConnectorEntityField (Prelude.Maybe Prelude.Bool)
connectorEntityField_isPrimaryKey :: Lens' ConnectorEntityField (Maybe Bool)
connectorEntityField_isPrimaryKey = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorEntityField' {Maybe Bool
isPrimaryKey :: Maybe Bool
$sel:isPrimaryKey:ConnectorEntityField' :: ConnectorEntityField -> Maybe Bool
isPrimaryKey} -> Maybe Bool
isPrimaryKey) (\s :: ConnectorEntityField
s@ConnectorEntityField' {} Maybe Bool
a -> ConnectorEntityField
s {$sel:isPrimaryKey:ConnectorEntityField' :: Maybe Bool
isPrimaryKey = Maybe Bool
a} :: ConnectorEntityField)

-- | The label applied to a connector entity field.
connectorEntityField_label :: Lens.Lens' ConnectorEntityField (Prelude.Maybe Prelude.Text)
connectorEntityField_label :: Lens' ConnectorEntityField (Maybe Text)
connectorEntityField_label = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorEntityField' {Maybe Text
label :: Maybe Text
$sel:label:ConnectorEntityField' :: ConnectorEntityField -> Maybe Text
label} -> Maybe Text
label) (\s :: ConnectorEntityField
s@ConnectorEntityField' {} Maybe Text
a -> ConnectorEntityField
s {$sel:label:ConnectorEntityField' :: Maybe Text
label = Maybe Text
a} :: ConnectorEntityField)

-- | The parent identifier of the connector field.
connectorEntityField_parentIdentifier :: Lens.Lens' ConnectorEntityField (Prelude.Maybe Prelude.Text)
connectorEntityField_parentIdentifier :: Lens' ConnectorEntityField (Maybe Text)
connectorEntityField_parentIdentifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorEntityField' {Maybe Text
parentIdentifier :: Maybe Text
$sel:parentIdentifier:ConnectorEntityField' :: ConnectorEntityField -> Maybe Text
parentIdentifier} -> Maybe Text
parentIdentifier) (\s :: ConnectorEntityField
s@ConnectorEntityField' {} Maybe Text
a -> ConnectorEntityField
s {$sel:parentIdentifier:ConnectorEntityField' :: Maybe Text
parentIdentifier = Maybe Text
a} :: ConnectorEntityField)

-- | The properties that can be applied to a field when the connector is
-- being used as a source.
connectorEntityField_sourceProperties :: Lens.Lens' ConnectorEntityField (Prelude.Maybe SourceFieldProperties)
connectorEntityField_sourceProperties :: Lens' ConnectorEntityField (Maybe SourceFieldProperties)
connectorEntityField_sourceProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorEntityField' {Maybe SourceFieldProperties
sourceProperties :: Maybe SourceFieldProperties
$sel:sourceProperties:ConnectorEntityField' :: ConnectorEntityField -> Maybe SourceFieldProperties
sourceProperties} -> Maybe SourceFieldProperties
sourceProperties) (\s :: ConnectorEntityField
s@ConnectorEntityField' {} Maybe SourceFieldProperties
a -> ConnectorEntityField
s {$sel:sourceProperties:ConnectorEntityField' :: Maybe SourceFieldProperties
sourceProperties = Maybe SourceFieldProperties
a} :: ConnectorEntityField)

-- | Contains details regarding the supported @FieldType@, including the
-- corresponding @filterOperators@ and @supportedValues@.
connectorEntityField_supportedFieldTypeDetails :: Lens.Lens' ConnectorEntityField (Prelude.Maybe SupportedFieldTypeDetails)
connectorEntityField_supportedFieldTypeDetails :: Lens' ConnectorEntityField (Maybe SupportedFieldTypeDetails)
connectorEntityField_supportedFieldTypeDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorEntityField' {Maybe SupportedFieldTypeDetails
supportedFieldTypeDetails :: Maybe SupportedFieldTypeDetails
$sel:supportedFieldTypeDetails:ConnectorEntityField' :: ConnectorEntityField -> Maybe SupportedFieldTypeDetails
supportedFieldTypeDetails} -> Maybe SupportedFieldTypeDetails
supportedFieldTypeDetails) (\s :: ConnectorEntityField
s@ConnectorEntityField' {} Maybe SupportedFieldTypeDetails
a -> ConnectorEntityField
s {$sel:supportedFieldTypeDetails:ConnectorEntityField' :: Maybe SupportedFieldTypeDetails
supportedFieldTypeDetails = Maybe SupportedFieldTypeDetails
a} :: ConnectorEntityField)

-- | The unique identifier of the connector field.
connectorEntityField_identifier :: Lens.Lens' ConnectorEntityField Prelude.Text
connectorEntityField_identifier :: Lens' ConnectorEntityField Text
connectorEntityField_identifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorEntityField' {Text
identifier :: Text
$sel:identifier:ConnectorEntityField' :: ConnectorEntityField -> Text
identifier} -> Text
identifier) (\s :: ConnectorEntityField
s@ConnectorEntityField' {} Text
a -> ConnectorEntityField
s {$sel:identifier:ConnectorEntityField' :: Text
identifier = Text
a} :: ConnectorEntityField)

instance Data.FromJSON ConnectorEntityField where
  parseJSON :: Value -> Parser ConnectorEntityField
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"ConnectorEntityField"
      ( \Object
x ->
          Maybe (HashMap Text Text)
-> Maybe Text
-> Maybe Text
-> Maybe DestinationFieldProperties
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe SourceFieldProperties
-> Maybe SupportedFieldTypeDetails
-> Text
-> ConnectorEntityField
ConnectorEntityField'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"customProperties"
                            forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"defaultValue")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"description")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"destinationProperties")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"isDeprecated")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"isPrimaryKey")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"label")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"parentIdentifier")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"sourceProperties")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"supportedFieldTypeDetails")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"identifier")
      )

instance Prelude.Hashable ConnectorEntityField where
  hashWithSalt :: Int -> ConnectorEntityField -> Int
hashWithSalt Int
_salt ConnectorEntityField' {Maybe Bool
Maybe Text
Maybe (HashMap Text Text)
Maybe SourceFieldProperties
Maybe SupportedFieldTypeDetails
Maybe DestinationFieldProperties
Text
identifier :: Text
supportedFieldTypeDetails :: Maybe SupportedFieldTypeDetails
sourceProperties :: Maybe SourceFieldProperties
parentIdentifier :: Maybe Text
label :: Maybe Text
isPrimaryKey :: Maybe Bool
isDeprecated :: Maybe Bool
destinationProperties :: Maybe DestinationFieldProperties
description :: Maybe Text
defaultValue :: Maybe Text
customProperties :: Maybe (HashMap Text Text)
$sel:identifier:ConnectorEntityField' :: ConnectorEntityField -> Text
$sel:supportedFieldTypeDetails:ConnectorEntityField' :: ConnectorEntityField -> Maybe SupportedFieldTypeDetails
$sel:sourceProperties:ConnectorEntityField' :: ConnectorEntityField -> Maybe SourceFieldProperties
$sel:parentIdentifier:ConnectorEntityField' :: ConnectorEntityField -> Maybe Text
$sel:label:ConnectorEntityField' :: ConnectorEntityField -> Maybe Text
$sel:isPrimaryKey:ConnectorEntityField' :: ConnectorEntityField -> Maybe Bool
$sel:isDeprecated:ConnectorEntityField' :: ConnectorEntityField -> Maybe Bool
$sel:destinationProperties:ConnectorEntityField' :: ConnectorEntityField -> Maybe DestinationFieldProperties
$sel:description:ConnectorEntityField' :: ConnectorEntityField -> Maybe Text
$sel:defaultValue:ConnectorEntityField' :: ConnectorEntityField -> Maybe Text
$sel:customProperties:ConnectorEntityField' :: ConnectorEntityField -> Maybe (HashMap Text Text)
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
customProperties
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
defaultValue
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DestinationFieldProperties
destinationProperties
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
isDeprecated
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
isPrimaryKey
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
label
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
parentIdentifier
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SourceFieldProperties
sourceProperties
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SupportedFieldTypeDetails
supportedFieldTypeDetails
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
identifier

instance Prelude.NFData ConnectorEntityField where
  rnf :: ConnectorEntityField -> ()
rnf ConnectorEntityField' {Maybe Bool
Maybe Text
Maybe (HashMap Text Text)
Maybe SourceFieldProperties
Maybe SupportedFieldTypeDetails
Maybe DestinationFieldProperties
Text
identifier :: Text
supportedFieldTypeDetails :: Maybe SupportedFieldTypeDetails
sourceProperties :: Maybe SourceFieldProperties
parentIdentifier :: Maybe Text
label :: Maybe Text
isPrimaryKey :: Maybe Bool
isDeprecated :: Maybe Bool
destinationProperties :: Maybe DestinationFieldProperties
description :: Maybe Text
defaultValue :: Maybe Text
customProperties :: Maybe (HashMap Text Text)
$sel:identifier:ConnectorEntityField' :: ConnectorEntityField -> Text
$sel:supportedFieldTypeDetails:ConnectorEntityField' :: ConnectorEntityField -> Maybe SupportedFieldTypeDetails
$sel:sourceProperties:ConnectorEntityField' :: ConnectorEntityField -> Maybe SourceFieldProperties
$sel:parentIdentifier:ConnectorEntityField' :: ConnectorEntityField -> Maybe Text
$sel:label:ConnectorEntityField' :: ConnectorEntityField -> Maybe Text
$sel:isPrimaryKey:ConnectorEntityField' :: ConnectorEntityField -> Maybe Bool
$sel:isDeprecated:ConnectorEntityField' :: ConnectorEntityField -> Maybe Bool
$sel:destinationProperties:ConnectorEntityField' :: ConnectorEntityField -> Maybe DestinationFieldProperties
$sel:description:ConnectorEntityField' :: ConnectorEntityField -> Maybe Text
$sel:defaultValue:ConnectorEntityField' :: ConnectorEntityField -> Maybe Text
$sel:customProperties:ConnectorEntityField' :: ConnectorEntityField -> Maybe (HashMap Text Text)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
customProperties
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
defaultValue
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DestinationFieldProperties
destinationProperties
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
isDeprecated
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
isPrimaryKey
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
label
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
parentIdentifier
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SourceFieldProperties
sourceProperties
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SupportedFieldTypeDetails
supportedFieldTypeDetails
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
identifier