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

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

-- |
-- Module      : Amazonka.IotTwinMaker.GetComponentType
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieves information about a component type.
module Amazonka.IotTwinMaker.GetComponentType
  ( -- * Creating a Request
    GetComponentType (..),
    newGetComponentType,

    -- * Request Lenses
    getComponentType_workspaceId,
    getComponentType_componentTypeId,

    -- * Destructuring the Response
    GetComponentTypeResponse (..),
    newGetComponentTypeResponse,

    -- * Response Lenses
    getComponentTypeResponse_componentTypeName,
    getComponentTypeResponse_description,
    getComponentTypeResponse_extendsFrom,
    getComponentTypeResponse_functions,
    getComponentTypeResponse_isAbstract,
    getComponentTypeResponse_isSchemaInitialized,
    getComponentTypeResponse_isSingleton,
    getComponentTypeResponse_propertyDefinitions,
    getComponentTypeResponse_propertyGroups,
    getComponentTypeResponse_status,
    getComponentTypeResponse_syncSource,
    getComponentTypeResponse_httpStatus,
    getComponentTypeResponse_workspaceId,
    getComponentTypeResponse_componentTypeId,
    getComponentTypeResponse_creationDateTime,
    getComponentTypeResponse_updateDateTime,
    getComponentTypeResponse_arn,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IotTwinMaker.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newGetComponentType' smart constructor.
data GetComponentType = GetComponentType'
  { -- | The ID of the workspace that contains the component type.
    GetComponentType -> Text
workspaceId :: Prelude.Text,
    -- | The ID of the component type.
    GetComponentType -> Text
componentTypeId :: Prelude.Text
  }
  deriving (GetComponentType -> GetComponentType -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetComponentType -> GetComponentType -> Bool
$c/= :: GetComponentType -> GetComponentType -> Bool
== :: GetComponentType -> GetComponentType -> Bool
$c== :: GetComponentType -> GetComponentType -> Bool
Prelude.Eq, ReadPrec [GetComponentType]
ReadPrec GetComponentType
Int -> ReadS GetComponentType
ReadS [GetComponentType]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetComponentType]
$creadListPrec :: ReadPrec [GetComponentType]
readPrec :: ReadPrec GetComponentType
$creadPrec :: ReadPrec GetComponentType
readList :: ReadS [GetComponentType]
$creadList :: ReadS [GetComponentType]
readsPrec :: Int -> ReadS GetComponentType
$creadsPrec :: Int -> ReadS GetComponentType
Prelude.Read, Int -> GetComponentType -> ShowS
[GetComponentType] -> ShowS
GetComponentType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetComponentType] -> ShowS
$cshowList :: [GetComponentType] -> ShowS
show :: GetComponentType -> String
$cshow :: GetComponentType -> String
showsPrec :: Int -> GetComponentType -> ShowS
$cshowsPrec :: Int -> GetComponentType -> ShowS
Prelude.Show, forall x. Rep GetComponentType x -> GetComponentType
forall x. GetComponentType -> Rep GetComponentType x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetComponentType x -> GetComponentType
$cfrom :: forall x. GetComponentType -> Rep GetComponentType x
Prelude.Generic)

-- |
-- Create a value of 'GetComponentType' 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:
--
-- 'workspaceId', 'getComponentType_workspaceId' - The ID of the workspace that contains the component type.
--
-- 'componentTypeId', 'getComponentType_componentTypeId' - The ID of the component type.
newGetComponentType ::
  -- | 'workspaceId'
  Prelude.Text ->
  -- | 'componentTypeId'
  Prelude.Text ->
  GetComponentType
newGetComponentType :: Text -> Text -> GetComponentType
newGetComponentType Text
pWorkspaceId_ Text
pComponentTypeId_ =
  GetComponentType'
    { $sel:workspaceId:GetComponentType' :: Text
workspaceId = Text
pWorkspaceId_,
      $sel:componentTypeId:GetComponentType' :: Text
componentTypeId = Text
pComponentTypeId_
    }

-- | The ID of the workspace that contains the component type.
getComponentType_workspaceId :: Lens.Lens' GetComponentType Prelude.Text
getComponentType_workspaceId :: Lens' GetComponentType Text
getComponentType_workspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentType' {Text
workspaceId :: Text
$sel:workspaceId:GetComponentType' :: GetComponentType -> Text
workspaceId} -> Text
workspaceId) (\s :: GetComponentType
s@GetComponentType' {} Text
a -> GetComponentType
s {$sel:workspaceId:GetComponentType' :: Text
workspaceId = Text
a} :: GetComponentType)

-- | The ID of the component type.
getComponentType_componentTypeId :: Lens.Lens' GetComponentType Prelude.Text
getComponentType_componentTypeId :: Lens' GetComponentType Text
getComponentType_componentTypeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentType' {Text
componentTypeId :: Text
$sel:componentTypeId:GetComponentType' :: GetComponentType -> Text
componentTypeId} -> Text
componentTypeId) (\s :: GetComponentType
s@GetComponentType' {} Text
a -> GetComponentType
s {$sel:componentTypeId:GetComponentType' :: Text
componentTypeId = Text
a} :: GetComponentType)

instance Core.AWSRequest GetComponentType where
  type
    AWSResponse GetComponentType =
      GetComponentTypeResponse
  request :: (Service -> Service)
-> GetComponentType -> Request GetComponentType
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetComponentType
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetComponentType)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Maybe (HashMap Text FunctionResponse)
-> Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe (HashMap Text PropertyDefinitionResponse)
-> Maybe (HashMap Text PropertyGroupResponse)
-> Maybe Status
-> Maybe Text
-> Int
-> Text
-> Text
-> POSIX
-> POSIX
-> Text
-> GetComponentTypeResponse
GetComponentTypeResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"componentTypeName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (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 -> Either String (Maybe a)
Data..?> Key
"extendsFrom" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ 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 -> Either String (Maybe a)
Data..?> Key
"functions" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ 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 -> Either String (Maybe a)
Data..?> Key
"isAbstract")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"isSchemaInitialized")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"isSingleton")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"propertyDefinitions"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ 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 -> Either String (Maybe a)
Data..?> Key
"propertyGroups" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ 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 -> Either String (Maybe a)
Data..?> Key
"status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"syncSource")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"workspaceId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"componentTypeId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"creationDateTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"updateDateTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"arn")
      )

instance Prelude.Hashable GetComponentType where
  hashWithSalt :: Int -> GetComponentType -> Int
hashWithSalt Int
_salt GetComponentType' {Text
componentTypeId :: Text
workspaceId :: Text
$sel:componentTypeId:GetComponentType' :: GetComponentType -> Text
$sel:workspaceId:GetComponentType' :: GetComponentType -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
workspaceId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
componentTypeId

instance Prelude.NFData GetComponentType where
  rnf :: GetComponentType -> ()
rnf GetComponentType' {Text
componentTypeId :: Text
workspaceId :: Text
$sel:componentTypeId:GetComponentType' :: GetComponentType -> Text
$sel:workspaceId:GetComponentType' :: GetComponentType -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
workspaceId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
componentTypeId

instance Data.ToHeaders GetComponentType where
  toHeaders :: GetComponentType -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToPath GetComponentType where
  toPath :: GetComponentType -> ByteString
toPath GetComponentType' {Text
componentTypeId :: Text
workspaceId :: Text
$sel:componentTypeId:GetComponentType' :: GetComponentType -> Text
$sel:workspaceId:GetComponentType' :: GetComponentType -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/workspaces/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
workspaceId,
        ByteString
"/component-types/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
componentTypeId
      ]

instance Data.ToQuery GetComponentType where
  toQuery :: GetComponentType -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newGetComponentTypeResponse' smart constructor.
data GetComponentTypeResponse = GetComponentTypeResponse'
  { -- | The component type name.
    GetComponentTypeResponse -> Maybe Text
componentTypeName :: Prelude.Maybe Prelude.Text,
    -- | The description of the component type.
    GetComponentTypeResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The name of the parent component type that this component type extends.
    GetComponentTypeResponse -> Maybe [Text]
extendsFrom :: Prelude.Maybe [Prelude.Text],
    -- | An object that maps strings to the functions in the component type. Each
    -- string in the mapping must be unique to this object.
    GetComponentTypeResponse -> Maybe (HashMap Text FunctionResponse)
functions :: Prelude.Maybe (Prelude.HashMap Prelude.Text FunctionResponse),
    -- | A Boolean value that specifies whether the component type is abstract.
    GetComponentTypeResponse -> Maybe Bool
isAbstract :: Prelude.Maybe Prelude.Bool,
    -- | A Boolean value that specifies whether the component type has a schema
    -- initializer and that the schema initializer has run.
    GetComponentTypeResponse -> Maybe Bool
isSchemaInitialized :: Prelude.Maybe Prelude.Bool,
    -- | A Boolean value that specifies whether an entity can have more than one
    -- component of this type.
    GetComponentTypeResponse -> Maybe Bool
isSingleton :: Prelude.Maybe Prelude.Bool,
    -- | An object that maps strings to the property definitions in the component
    -- type. Each string in the mapping must be unique to this object.
    GetComponentTypeResponse
-> Maybe (HashMap Text PropertyDefinitionResponse)
propertyDefinitions :: Prelude.Maybe (Prelude.HashMap Prelude.Text PropertyDefinitionResponse),
    -- | The maximum number of results to return at one time. The default is 25.
    --
    -- Valid Range: Minimum value of 1. Maximum value of 250.
    GetComponentTypeResponse
-> Maybe (HashMap Text PropertyGroupResponse)
propertyGroups :: Prelude.Maybe (Prelude.HashMap Prelude.Text PropertyGroupResponse),
    -- | The current status of the component type.
    GetComponentTypeResponse -> Maybe Status
status :: Prelude.Maybe Status,
    -- | The syncSource of the sync job, if this entity was created by a sync
    -- job.
    GetComponentTypeResponse -> Maybe Text
syncSource :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    GetComponentTypeResponse -> Int
httpStatus :: Prelude.Int,
    -- | The ID of the workspace that contains the component type.
    GetComponentTypeResponse -> Text
workspaceId :: Prelude.Text,
    -- | The ID of the component type.
    GetComponentTypeResponse -> Text
componentTypeId :: Prelude.Text,
    -- | The date and time when the component type was created.
    GetComponentTypeResponse -> POSIX
creationDateTime :: Data.POSIX,
    -- | The date and time when the component was last updated.
    GetComponentTypeResponse -> POSIX
updateDateTime :: Data.POSIX,
    -- | The ARN of the component type.
    GetComponentTypeResponse -> Text
arn :: Prelude.Text
  }
  deriving (GetComponentTypeResponse -> GetComponentTypeResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetComponentTypeResponse -> GetComponentTypeResponse -> Bool
$c/= :: GetComponentTypeResponse -> GetComponentTypeResponse -> Bool
== :: GetComponentTypeResponse -> GetComponentTypeResponse -> Bool
$c== :: GetComponentTypeResponse -> GetComponentTypeResponse -> Bool
Prelude.Eq, ReadPrec [GetComponentTypeResponse]
ReadPrec GetComponentTypeResponse
Int -> ReadS GetComponentTypeResponse
ReadS [GetComponentTypeResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetComponentTypeResponse]
$creadListPrec :: ReadPrec [GetComponentTypeResponse]
readPrec :: ReadPrec GetComponentTypeResponse
$creadPrec :: ReadPrec GetComponentTypeResponse
readList :: ReadS [GetComponentTypeResponse]
$creadList :: ReadS [GetComponentTypeResponse]
readsPrec :: Int -> ReadS GetComponentTypeResponse
$creadsPrec :: Int -> ReadS GetComponentTypeResponse
Prelude.Read, Int -> GetComponentTypeResponse -> ShowS
[GetComponentTypeResponse] -> ShowS
GetComponentTypeResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetComponentTypeResponse] -> ShowS
$cshowList :: [GetComponentTypeResponse] -> ShowS
show :: GetComponentTypeResponse -> String
$cshow :: GetComponentTypeResponse -> String
showsPrec :: Int -> GetComponentTypeResponse -> ShowS
$cshowsPrec :: Int -> GetComponentTypeResponse -> ShowS
Prelude.Show, forall x.
Rep GetComponentTypeResponse x -> GetComponentTypeResponse
forall x.
GetComponentTypeResponse -> Rep GetComponentTypeResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetComponentTypeResponse x -> GetComponentTypeResponse
$cfrom :: forall x.
GetComponentTypeResponse -> Rep GetComponentTypeResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetComponentTypeResponse' 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:
--
-- 'componentTypeName', 'getComponentTypeResponse_componentTypeName' - The component type name.
--
-- 'description', 'getComponentTypeResponse_description' - The description of the component type.
--
-- 'extendsFrom', 'getComponentTypeResponse_extendsFrom' - The name of the parent component type that this component type extends.
--
-- 'functions', 'getComponentTypeResponse_functions' - An object that maps strings to the functions in the component type. Each
-- string in the mapping must be unique to this object.
--
-- 'isAbstract', 'getComponentTypeResponse_isAbstract' - A Boolean value that specifies whether the component type is abstract.
--
-- 'isSchemaInitialized', 'getComponentTypeResponse_isSchemaInitialized' - A Boolean value that specifies whether the component type has a schema
-- initializer and that the schema initializer has run.
--
-- 'isSingleton', 'getComponentTypeResponse_isSingleton' - A Boolean value that specifies whether an entity can have more than one
-- component of this type.
--
-- 'propertyDefinitions', 'getComponentTypeResponse_propertyDefinitions' - An object that maps strings to the property definitions in the component
-- type. Each string in the mapping must be unique to this object.
--
-- 'propertyGroups', 'getComponentTypeResponse_propertyGroups' - The maximum number of results to return at one time. The default is 25.
--
-- Valid Range: Minimum value of 1. Maximum value of 250.
--
-- 'status', 'getComponentTypeResponse_status' - The current status of the component type.
--
-- 'syncSource', 'getComponentTypeResponse_syncSource' - The syncSource of the sync job, if this entity was created by a sync
-- job.
--
-- 'httpStatus', 'getComponentTypeResponse_httpStatus' - The response's http status code.
--
-- 'workspaceId', 'getComponentTypeResponse_workspaceId' - The ID of the workspace that contains the component type.
--
-- 'componentTypeId', 'getComponentTypeResponse_componentTypeId' - The ID of the component type.
--
-- 'creationDateTime', 'getComponentTypeResponse_creationDateTime' - The date and time when the component type was created.
--
-- 'updateDateTime', 'getComponentTypeResponse_updateDateTime' - The date and time when the component was last updated.
--
-- 'arn', 'getComponentTypeResponse_arn' - The ARN of the component type.
newGetComponentTypeResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'workspaceId'
  Prelude.Text ->
  -- | 'componentTypeId'
  Prelude.Text ->
  -- | 'creationDateTime'
  Prelude.UTCTime ->
  -- | 'updateDateTime'
  Prelude.UTCTime ->
  -- | 'arn'
  Prelude.Text ->
  GetComponentTypeResponse
newGetComponentTypeResponse :: Int
-> Text
-> Text
-> UTCTime
-> UTCTime
-> Text
-> GetComponentTypeResponse
newGetComponentTypeResponse
  Int
pHttpStatus_
  Text
pWorkspaceId_
  Text
pComponentTypeId_
  UTCTime
pCreationDateTime_
  UTCTime
pUpdateDateTime_
  Text
pArn_ =
    GetComponentTypeResponse'
      { $sel:componentTypeName:GetComponentTypeResponse' :: Maybe Text
componentTypeName =
          forall a. Maybe a
Prelude.Nothing,
        $sel:description:GetComponentTypeResponse' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
        $sel:extendsFrom:GetComponentTypeResponse' :: Maybe [Text]
extendsFrom = forall a. Maybe a
Prelude.Nothing,
        $sel:functions:GetComponentTypeResponse' :: Maybe (HashMap Text FunctionResponse)
functions = forall a. Maybe a
Prelude.Nothing,
        $sel:isAbstract:GetComponentTypeResponse' :: Maybe Bool
isAbstract = forall a. Maybe a
Prelude.Nothing,
        $sel:isSchemaInitialized:GetComponentTypeResponse' :: Maybe Bool
isSchemaInitialized = forall a. Maybe a
Prelude.Nothing,
        $sel:isSingleton:GetComponentTypeResponse' :: Maybe Bool
isSingleton = forall a. Maybe a
Prelude.Nothing,
        $sel:propertyDefinitions:GetComponentTypeResponse' :: Maybe (HashMap Text PropertyDefinitionResponse)
propertyDefinitions = forall a. Maybe a
Prelude.Nothing,
        $sel:propertyGroups:GetComponentTypeResponse' :: Maybe (HashMap Text PropertyGroupResponse)
propertyGroups = forall a. Maybe a
Prelude.Nothing,
        $sel:status:GetComponentTypeResponse' :: Maybe Status
status = forall a. Maybe a
Prelude.Nothing,
        $sel:syncSource:GetComponentTypeResponse' :: Maybe Text
syncSource = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:GetComponentTypeResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:workspaceId:GetComponentTypeResponse' :: Text
workspaceId = Text
pWorkspaceId_,
        $sel:componentTypeId:GetComponentTypeResponse' :: Text
componentTypeId = Text
pComponentTypeId_,
        $sel:creationDateTime:GetComponentTypeResponse' :: POSIX
creationDateTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationDateTime_,
        $sel:updateDateTime:GetComponentTypeResponse' :: POSIX
updateDateTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pUpdateDateTime_,
        $sel:arn:GetComponentTypeResponse' :: Text
arn = Text
pArn_
      }

-- | The component type name.
getComponentTypeResponse_componentTypeName :: Lens.Lens' GetComponentTypeResponse (Prelude.Maybe Prelude.Text)
getComponentTypeResponse_componentTypeName :: Lens' GetComponentTypeResponse (Maybe Text)
getComponentTypeResponse_componentTypeName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Maybe Text
componentTypeName :: Maybe Text
$sel:componentTypeName:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Text
componentTypeName} -> Maybe Text
componentTypeName) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Maybe Text
a -> GetComponentTypeResponse
s {$sel:componentTypeName:GetComponentTypeResponse' :: Maybe Text
componentTypeName = Maybe Text
a} :: GetComponentTypeResponse)

-- | The description of the component type.
getComponentTypeResponse_description :: Lens.Lens' GetComponentTypeResponse (Prelude.Maybe Prelude.Text)
getComponentTypeResponse_description :: Lens' GetComponentTypeResponse (Maybe Text)
getComponentTypeResponse_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Maybe Text
description :: Maybe Text
$sel:description:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Maybe Text
a -> GetComponentTypeResponse
s {$sel:description:GetComponentTypeResponse' :: Maybe Text
description = Maybe Text
a} :: GetComponentTypeResponse)

-- | The name of the parent component type that this component type extends.
getComponentTypeResponse_extendsFrom :: Lens.Lens' GetComponentTypeResponse (Prelude.Maybe [Prelude.Text])
getComponentTypeResponse_extendsFrom :: Lens' GetComponentTypeResponse (Maybe [Text])
getComponentTypeResponse_extendsFrom = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Maybe [Text]
extendsFrom :: Maybe [Text]
$sel:extendsFrom:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe [Text]
extendsFrom} -> Maybe [Text]
extendsFrom) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Maybe [Text]
a -> GetComponentTypeResponse
s {$sel:extendsFrom:GetComponentTypeResponse' :: Maybe [Text]
extendsFrom = Maybe [Text]
a} :: GetComponentTypeResponse) 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

-- | An object that maps strings to the functions in the component type. Each
-- string in the mapping must be unique to this object.
getComponentTypeResponse_functions :: Lens.Lens' GetComponentTypeResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text FunctionResponse))
getComponentTypeResponse_functions :: Lens'
  GetComponentTypeResponse (Maybe (HashMap Text FunctionResponse))
getComponentTypeResponse_functions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Maybe (HashMap Text FunctionResponse)
functions :: Maybe (HashMap Text FunctionResponse)
$sel:functions:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe (HashMap Text FunctionResponse)
functions} -> Maybe (HashMap Text FunctionResponse)
functions) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Maybe (HashMap Text FunctionResponse)
a -> GetComponentTypeResponse
s {$sel:functions:GetComponentTypeResponse' :: Maybe (HashMap Text FunctionResponse)
functions = Maybe (HashMap Text FunctionResponse)
a} :: GetComponentTypeResponse) 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

-- | A Boolean value that specifies whether the component type is abstract.
getComponentTypeResponse_isAbstract :: Lens.Lens' GetComponentTypeResponse (Prelude.Maybe Prelude.Bool)
getComponentTypeResponse_isAbstract :: Lens' GetComponentTypeResponse (Maybe Bool)
getComponentTypeResponse_isAbstract = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Maybe Bool
isAbstract :: Maybe Bool
$sel:isAbstract:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Bool
isAbstract} -> Maybe Bool
isAbstract) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Maybe Bool
a -> GetComponentTypeResponse
s {$sel:isAbstract:GetComponentTypeResponse' :: Maybe Bool
isAbstract = Maybe Bool
a} :: GetComponentTypeResponse)

-- | A Boolean value that specifies whether the component type has a schema
-- initializer and that the schema initializer has run.
getComponentTypeResponse_isSchemaInitialized :: Lens.Lens' GetComponentTypeResponse (Prelude.Maybe Prelude.Bool)
getComponentTypeResponse_isSchemaInitialized :: Lens' GetComponentTypeResponse (Maybe Bool)
getComponentTypeResponse_isSchemaInitialized = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Maybe Bool
isSchemaInitialized :: Maybe Bool
$sel:isSchemaInitialized:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Bool
isSchemaInitialized} -> Maybe Bool
isSchemaInitialized) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Maybe Bool
a -> GetComponentTypeResponse
s {$sel:isSchemaInitialized:GetComponentTypeResponse' :: Maybe Bool
isSchemaInitialized = Maybe Bool
a} :: GetComponentTypeResponse)

-- | A Boolean value that specifies whether an entity can have more than one
-- component of this type.
getComponentTypeResponse_isSingleton :: Lens.Lens' GetComponentTypeResponse (Prelude.Maybe Prelude.Bool)
getComponentTypeResponse_isSingleton :: Lens' GetComponentTypeResponse (Maybe Bool)
getComponentTypeResponse_isSingleton = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Maybe Bool
isSingleton :: Maybe Bool
$sel:isSingleton:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Bool
isSingleton} -> Maybe Bool
isSingleton) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Maybe Bool
a -> GetComponentTypeResponse
s {$sel:isSingleton:GetComponentTypeResponse' :: Maybe Bool
isSingleton = Maybe Bool
a} :: GetComponentTypeResponse)

-- | An object that maps strings to the property definitions in the component
-- type. Each string in the mapping must be unique to this object.
getComponentTypeResponse_propertyDefinitions :: Lens.Lens' GetComponentTypeResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text PropertyDefinitionResponse))
getComponentTypeResponse_propertyDefinitions :: Lens'
  GetComponentTypeResponse
  (Maybe (HashMap Text PropertyDefinitionResponse))
getComponentTypeResponse_propertyDefinitions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Maybe (HashMap Text PropertyDefinitionResponse)
propertyDefinitions :: Maybe (HashMap Text PropertyDefinitionResponse)
$sel:propertyDefinitions:GetComponentTypeResponse' :: GetComponentTypeResponse
-> Maybe (HashMap Text PropertyDefinitionResponse)
propertyDefinitions} -> Maybe (HashMap Text PropertyDefinitionResponse)
propertyDefinitions) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Maybe (HashMap Text PropertyDefinitionResponse)
a -> GetComponentTypeResponse
s {$sel:propertyDefinitions:GetComponentTypeResponse' :: Maybe (HashMap Text PropertyDefinitionResponse)
propertyDefinitions = Maybe (HashMap Text PropertyDefinitionResponse)
a} :: GetComponentTypeResponse) 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

-- | The maximum number of results to return at one time. The default is 25.
--
-- Valid Range: Minimum value of 1. Maximum value of 250.
getComponentTypeResponse_propertyGroups :: Lens.Lens' GetComponentTypeResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text PropertyGroupResponse))
getComponentTypeResponse_propertyGroups :: Lens'
  GetComponentTypeResponse
  (Maybe (HashMap Text PropertyGroupResponse))
getComponentTypeResponse_propertyGroups = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Maybe (HashMap Text PropertyGroupResponse)
propertyGroups :: Maybe (HashMap Text PropertyGroupResponse)
$sel:propertyGroups:GetComponentTypeResponse' :: GetComponentTypeResponse
-> Maybe (HashMap Text PropertyGroupResponse)
propertyGroups} -> Maybe (HashMap Text PropertyGroupResponse)
propertyGroups) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Maybe (HashMap Text PropertyGroupResponse)
a -> GetComponentTypeResponse
s {$sel:propertyGroups:GetComponentTypeResponse' :: Maybe (HashMap Text PropertyGroupResponse)
propertyGroups = Maybe (HashMap Text PropertyGroupResponse)
a} :: GetComponentTypeResponse) 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

-- | The current status of the component type.
getComponentTypeResponse_status :: Lens.Lens' GetComponentTypeResponse (Prelude.Maybe Status)
getComponentTypeResponse_status :: Lens' GetComponentTypeResponse (Maybe Status)
getComponentTypeResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Maybe Status
status :: Maybe Status
$sel:status:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Status
status} -> Maybe Status
status) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Maybe Status
a -> GetComponentTypeResponse
s {$sel:status:GetComponentTypeResponse' :: Maybe Status
status = Maybe Status
a} :: GetComponentTypeResponse)

-- | The syncSource of the sync job, if this entity was created by a sync
-- job.
getComponentTypeResponse_syncSource :: Lens.Lens' GetComponentTypeResponse (Prelude.Maybe Prelude.Text)
getComponentTypeResponse_syncSource :: Lens' GetComponentTypeResponse (Maybe Text)
getComponentTypeResponse_syncSource = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Maybe Text
syncSource :: Maybe Text
$sel:syncSource:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Text
syncSource} -> Maybe Text
syncSource) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Maybe Text
a -> GetComponentTypeResponse
s {$sel:syncSource:GetComponentTypeResponse' :: Maybe Text
syncSource = Maybe Text
a} :: GetComponentTypeResponse)

-- | The response's http status code.
getComponentTypeResponse_httpStatus :: Lens.Lens' GetComponentTypeResponse Prelude.Int
getComponentTypeResponse_httpStatus :: Lens' GetComponentTypeResponse Int
getComponentTypeResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetComponentTypeResponse' :: GetComponentTypeResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Int
a -> GetComponentTypeResponse
s {$sel:httpStatus:GetComponentTypeResponse' :: Int
httpStatus = Int
a} :: GetComponentTypeResponse)

-- | The ID of the workspace that contains the component type.
getComponentTypeResponse_workspaceId :: Lens.Lens' GetComponentTypeResponse Prelude.Text
getComponentTypeResponse_workspaceId :: Lens' GetComponentTypeResponse Text
getComponentTypeResponse_workspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Text
workspaceId :: Text
$sel:workspaceId:GetComponentTypeResponse' :: GetComponentTypeResponse -> Text
workspaceId} -> Text
workspaceId) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Text
a -> GetComponentTypeResponse
s {$sel:workspaceId:GetComponentTypeResponse' :: Text
workspaceId = Text
a} :: GetComponentTypeResponse)

-- | The ID of the component type.
getComponentTypeResponse_componentTypeId :: Lens.Lens' GetComponentTypeResponse Prelude.Text
getComponentTypeResponse_componentTypeId :: Lens' GetComponentTypeResponse Text
getComponentTypeResponse_componentTypeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Text
componentTypeId :: Text
$sel:componentTypeId:GetComponentTypeResponse' :: GetComponentTypeResponse -> Text
componentTypeId} -> Text
componentTypeId) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Text
a -> GetComponentTypeResponse
s {$sel:componentTypeId:GetComponentTypeResponse' :: Text
componentTypeId = Text
a} :: GetComponentTypeResponse)

-- | The date and time when the component type was created.
getComponentTypeResponse_creationDateTime :: Lens.Lens' GetComponentTypeResponse Prelude.UTCTime
getComponentTypeResponse_creationDateTime :: Lens' GetComponentTypeResponse UTCTime
getComponentTypeResponse_creationDateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {POSIX
creationDateTime :: POSIX
$sel:creationDateTime:GetComponentTypeResponse' :: GetComponentTypeResponse -> POSIX
creationDateTime} -> POSIX
creationDateTime) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} POSIX
a -> GetComponentTypeResponse
s {$sel:creationDateTime:GetComponentTypeResponse' :: POSIX
creationDateTime = POSIX
a} :: GetComponentTypeResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The date and time when the component was last updated.
getComponentTypeResponse_updateDateTime :: Lens.Lens' GetComponentTypeResponse Prelude.UTCTime
getComponentTypeResponse_updateDateTime :: Lens' GetComponentTypeResponse UTCTime
getComponentTypeResponse_updateDateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {POSIX
updateDateTime :: POSIX
$sel:updateDateTime:GetComponentTypeResponse' :: GetComponentTypeResponse -> POSIX
updateDateTime} -> POSIX
updateDateTime) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} POSIX
a -> GetComponentTypeResponse
s {$sel:updateDateTime:GetComponentTypeResponse' :: POSIX
updateDateTime = POSIX
a} :: GetComponentTypeResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The ARN of the component type.
getComponentTypeResponse_arn :: Lens.Lens' GetComponentTypeResponse Prelude.Text
getComponentTypeResponse_arn :: Lens' GetComponentTypeResponse Text
getComponentTypeResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComponentTypeResponse' {Text
arn :: Text
$sel:arn:GetComponentTypeResponse' :: GetComponentTypeResponse -> Text
arn} -> Text
arn) (\s :: GetComponentTypeResponse
s@GetComponentTypeResponse' {} Text
a -> GetComponentTypeResponse
s {$sel:arn:GetComponentTypeResponse' :: Text
arn = Text
a} :: GetComponentTypeResponse)

instance Prelude.NFData GetComponentTypeResponse where
  rnf :: GetComponentTypeResponse -> ()
rnf GetComponentTypeResponse' {Int
Maybe Bool
Maybe [Text]
Maybe Text
Maybe (HashMap Text PropertyGroupResponse)
Maybe (HashMap Text FunctionResponse)
Maybe (HashMap Text PropertyDefinitionResponse)
Maybe Status
Text
POSIX
arn :: Text
updateDateTime :: POSIX
creationDateTime :: POSIX
componentTypeId :: Text
workspaceId :: Text
httpStatus :: Int
syncSource :: Maybe Text
status :: Maybe Status
propertyGroups :: Maybe (HashMap Text PropertyGroupResponse)
propertyDefinitions :: Maybe (HashMap Text PropertyDefinitionResponse)
isSingleton :: Maybe Bool
isSchemaInitialized :: Maybe Bool
isAbstract :: Maybe Bool
functions :: Maybe (HashMap Text FunctionResponse)
extendsFrom :: Maybe [Text]
description :: Maybe Text
componentTypeName :: Maybe Text
$sel:arn:GetComponentTypeResponse' :: GetComponentTypeResponse -> Text
$sel:updateDateTime:GetComponentTypeResponse' :: GetComponentTypeResponse -> POSIX
$sel:creationDateTime:GetComponentTypeResponse' :: GetComponentTypeResponse -> POSIX
$sel:componentTypeId:GetComponentTypeResponse' :: GetComponentTypeResponse -> Text
$sel:workspaceId:GetComponentTypeResponse' :: GetComponentTypeResponse -> Text
$sel:httpStatus:GetComponentTypeResponse' :: GetComponentTypeResponse -> Int
$sel:syncSource:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Text
$sel:status:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Status
$sel:propertyGroups:GetComponentTypeResponse' :: GetComponentTypeResponse
-> Maybe (HashMap Text PropertyGroupResponse)
$sel:propertyDefinitions:GetComponentTypeResponse' :: GetComponentTypeResponse
-> Maybe (HashMap Text PropertyDefinitionResponse)
$sel:isSingleton:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Bool
$sel:isSchemaInitialized:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Bool
$sel:isAbstract:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Bool
$sel:functions:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe (HashMap Text FunctionResponse)
$sel:extendsFrom:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe [Text]
$sel:description:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Text
$sel:componentTypeName:GetComponentTypeResponse' :: GetComponentTypeResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
componentTypeName
      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 [Text]
extendsFrom
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text FunctionResponse)
functions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
isAbstract
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
isSchemaInitialized
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
isSingleton
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text PropertyDefinitionResponse)
propertyDefinitions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text PropertyGroupResponse)
propertyGroups
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Status
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
syncSource
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
workspaceId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
componentTypeId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
creationDateTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
updateDateTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
arn