{-# 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.CloudDirectory.Types.BatchReadSuccessfulResponse
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.CloudDirectory.Types.BatchReadSuccessfulResponse where

import Amazonka.CloudDirectory.Types.BatchGetLinkAttributesResponse
import Amazonka.CloudDirectory.Types.BatchGetObjectAttributesResponse
import Amazonka.CloudDirectory.Types.BatchGetObjectInformationResponse
import Amazonka.CloudDirectory.Types.BatchListAttachedIndicesResponse
import Amazonka.CloudDirectory.Types.BatchListIncomingTypedLinksResponse
import Amazonka.CloudDirectory.Types.BatchListIndexResponse
import Amazonka.CloudDirectory.Types.BatchListObjectAttributesResponse
import Amazonka.CloudDirectory.Types.BatchListObjectChildrenResponse
import Amazonka.CloudDirectory.Types.BatchListObjectParentPathsResponse
import Amazonka.CloudDirectory.Types.BatchListObjectParentsResponse
import Amazonka.CloudDirectory.Types.BatchListObjectPoliciesResponse
import Amazonka.CloudDirectory.Types.BatchListOutgoingTypedLinksResponse
import Amazonka.CloudDirectory.Types.BatchListPolicyAttachmentsResponse
import Amazonka.CloudDirectory.Types.BatchLookupPolicyResponse
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude

-- | Represents the output of a @BatchRead@ success response operation.
--
-- /See:/ 'newBatchReadSuccessfulResponse' smart constructor.
data BatchReadSuccessfulResponse = BatchReadSuccessfulResponse'
  { -- | Lists objects attached to the specified index.
    BatchReadSuccessfulResponse -> Maybe BatchListIndexResponse
listIndex :: Prelude.Maybe BatchListIndexResponse,
    -- | Retrieves metadata about an object.
    BatchReadSuccessfulResponse
-> Maybe BatchGetObjectInformationResponse
getObjectInformation :: Prelude.Maybe BatchGetObjectInformationResponse,
    -- | Lists indices attached to an object.
    BatchReadSuccessfulResponse
-> Maybe BatchListAttachedIndicesResponse
listAttachedIndices :: Prelude.Maybe BatchListAttachedIndicesResponse,
    -- | Lists all policies from the root of the Directory to the object
    -- specified. If there are no policies present, an empty list is returned.
    -- If policies are present, and if some objects don\'t have the policies
    -- attached, it returns the @ObjectIdentifier@ for such objects. If
    -- policies are present, it returns @ObjectIdentifier@, @policyId@, and
    -- @policyType@. Paths that don\'t lead to the root from the target object
    -- are ignored. For more information, see
    -- <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directory.html#key_concepts_policies Policies>.
    BatchReadSuccessfulResponse -> Maybe BatchLookupPolicyResponse
lookupPolicy :: Prelude.Maybe BatchLookupPolicyResponse,
    -- | Retrieves all available parent paths for any object type such as node,
    -- leaf node, policy node, and index node objects. For more information
    -- about objects, see
    -- <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directorystructure.html Directory Structure>.
    BatchReadSuccessfulResponse
-> Maybe BatchListObjectParentPathsResponse
listObjectParentPaths :: Prelude.Maybe BatchListObjectParentPathsResponse,
    -- | Lists all attributes that are associated with an object.
    BatchReadSuccessfulResponse
-> Maybe BatchListObjectAttributesResponse
listObjectAttributes :: Prelude.Maybe BatchListObjectAttributesResponse,
    -- | Returns a paginated list of all the incoming TypedLinkSpecifier
    -- information for an object. It also supports filtering by typed link
    -- facet and identity attributes. For more information, see
    -- <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_links.html#directory_objects_links_typedlink Typed Links>.
    BatchReadSuccessfulResponse
-> Maybe BatchListIncomingTypedLinksResponse
listIncomingTypedLinks :: Prelude.Maybe BatchListIncomingTypedLinksResponse,
    -- | The list of attributes to retrieve from the typed link.
    BatchReadSuccessfulResponse -> Maybe BatchGetLinkAttributesResponse
getLinkAttributes :: Prelude.Maybe BatchGetLinkAttributesResponse,
    -- | Retrieves attributes within a facet that are associated with an object.
    BatchReadSuccessfulResponse
-> Maybe BatchGetObjectAttributesResponse
getObjectAttributes :: Prelude.Maybe BatchGetObjectAttributesResponse,
    -- | Returns a paginated list of child objects that are associated with a
    -- given object.
    BatchReadSuccessfulResponse
-> Maybe BatchListObjectChildrenResponse
listObjectChildren :: Prelude.Maybe BatchListObjectChildrenResponse,
    -- | The list of parent objects to retrieve.
    BatchReadSuccessfulResponse -> Maybe BatchListObjectParentsResponse
listObjectParents :: Prelude.Maybe BatchListObjectParentsResponse,
    -- | Returns all of the @ObjectIdentifiers@ to which a given policy is
    -- attached.
    BatchReadSuccessfulResponse
-> Maybe BatchListPolicyAttachmentsResponse
listPolicyAttachments :: Prelude.Maybe BatchListPolicyAttachmentsResponse,
    -- | Returns a paginated list of all the outgoing TypedLinkSpecifier
    -- information for an object. It also supports filtering by typed link
    -- facet and identity attributes. For more information, see
    -- <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_links.html#directory_objects_links_typedlink Typed Links>.
    BatchReadSuccessfulResponse
-> Maybe BatchListOutgoingTypedLinksResponse
listOutgoingTypedLinks :: Prelude.Maybe BatchListOutgoingTypedLinksResponse,
    -- | Returns policies attached to an object in pagination fashion.
    BatchReadSuccessfulResponse
-> Maybe BatchListObjectPoliciesResponse
listObjectPolicies :: Prelude.Maybe BatchListObjectPoliciesResponse
  }
  deriving (BatchReadSuccessfulResponse -> BatchReadSuccessfulResponse -> Bool
(BatchReadSuccessfulResponse
 -> BatchReadSuccessfulResponse -> Bool)
-> (BatchReadSuccessfulResponse
    -> BatchReadSuccessfulResponse -> Bool)
-> Eq BatchReadSuccessfulResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BatchReadSuccessfulResponse -> BatchReadSuccessfulResponse -> Bool
$c/= :: BatchReadSuccessfulResponse -> BatchReadSuccessfulResponse -> Bool
== :: BatchReadSuccessfulResponse -> BatchReadSuccessfulResponse -> Bool
$c== :: BatchReadSuccessfulResponse -> BatchReadSuccessfulResponse -> Bool
Prelude.Eq, ReadPrec [BatchReadSuccessfulResponse]
ReadPrec BatchReadSuccessfulResponse
Int -> ReadS BatchReadSuccessfulResponse
ReadS [BatchReadSuccessfulResponse]
(Int -> ReadS BatchReadSuccessfulResponse)
-> ReadS [BatchReadSuccessfulResponse]
-> ReadPrec BatchReadSuccessfulResponse
-> ReadPrec [BatchReadSuccessfulResponse]
-> Read BatchReadSuccessfulResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [BatchReadSuccessfulResponse]
$creadListPrec :: ReadPrec [BatchReadSuccessfulResponse]
readPrec :: ReadPrec BatchReadSuccessfulResponse
$creadPrec :: ReadPrec BatchReadSuccessfulResponse
readList :: ReadS [BatchReadSuccessfulResponse]
$creadList :: ReadS [BatchReadSuccessfulResponse]
readsPrec :: Int -> ReadS BatchReadSuccessfulResponse
$creadsPrec :: Int -> ReadS BatchReadSuccessfulResponse
Prelude.Read, Int -> BatchReadSuccessfulResponse -> ShowS
[BatchReadSuccessfulResponse] -> ShowS
BatchReadSuccessfulResponse -> String
(Int -> BatchReadSuccessfulResponse -> ShowS)
-> (BatchReadSuccessfulResponse -> String)
-> ([BatchReadSuccessfulResponse] -> ShowS)
-> Show BatchReadSuccessfulResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BatchReadSuccessfulResponse] -> ShowS
$cshowList :: [BatchReadSuccessfulResponse] -> ShowS
show :: BatchReadSuccessfulResponse -> String
$cshow :: BatchReadSuccessfulResponse -> String
showsPrec :: Int -> BatchReadSuccessfulResponse -> ShowS
$cshowsPrec :: Int -> BatchReadSuccessfulResponse -> ShowS
Prelude.Show, (forall x.
 BatchReadSuccessfulResponse -> Rep BatchReadSuccessfulResponse x)
-> (forall x.
    Rep BatchReadSuccessfulResponse x -> BatchReadSuccessfulResponse)
-> Generic BatchReadSuccessfulResponse
forall x.
Rep BatchReadSuccessfulResponse x -> BatchReadSuccessfulResponse
forall x.
BatchReadSuccessfulResponse -> Rep BatchReadSuccessfulResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep BatchReadSuccessfulResponse x -> BatchReadSuccessfulResponse
$cfrom :: forall x.
BatchReadSuccessfulResponse -> Rep BatchReadSuccessfulResponse x
Prelude.Generic)

-- |
-- Create a value of 'BatchReadSuccessfulResponse' 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:
--
-- 'listIndex', 'batchReadSuccessfulResponse_listIndex' - Lists objects attached to the specified index.
--
-- 'getObjectInformation', 'batchReadSuccessfulResponse_getObjectInformation' - Retrieves metadata about an object.
--
-- 'listAttachedIndices', 'batchReadSuccessfulResponse_listAttachedIndices' - Lists indices attached to an object.
--
-- 'lookupPolicy', 'batchReadSuccessfulResponse_lookupPolicy' - Lists all policies from the root of the Directory to the object
-- specified. If there are no policies present, an empty list is returned.
-- If policies are present, and if some objects don\'t have the policies
-- attached, it returns the @ObjectIdentifier@ for such objects. If
-- policies are present, it returns @ObjectIdentifier@, @policyId@, and
-- @policyType@. Paths that don\'t lead to the root from the target object
-- are ignored. For more information, see
-- <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directory.html#key_concepts_policies Policies>.
--
-- 'listObjectParentPaths', 'batchReadSuccessfulResponse_listObjectParentPaths' - Retrieves all available parent paths for any object type such as node,
-- leaf node, policy node, and index node objects. For more information
-- about objects, see
-- <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directorystructure.html Directory Structure>.
--
-- 'listObjectAttributes', 'batchReadSuccessfulResponse_listObjectAttributes' - Lists all attributes that are associated with an object.
--
-- 'listIncomingTypedLinks', 'batchReadSuccessfulResponse_listIncomingTypedLinks' - Returns a paginated list of all the incoming TypedLinkSpecifier
-- information for an object. It also supports filtering by typed link
-- facet and identity attributes. For more information, see
-- <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_links.html#directory_objects_links_typedlink Typed Links>.
--
-- 'getLinkAttributes', 'batchReadSuccessfulResponse_getLinkAttributes' - The list of attributes to retrieve from the typed link.
--
-- 'getObjectAttributes', 'batchReadSuccessfulResponse_getObjectAttributes' - Retrieves attributes within a facet that are associated with an object.
--
-- 'listObjectChildren', 'batchReadSuccessfulResponse_listObjectChildren' - Returns a paginated list of child objects that are associated with a
-- given object.
--
-- 'listObjectParents', 'batchReadSuccessfulResponse_listObjectParents' - The list of parent objects to retrieve.
--
-- 'listPolicyAttachments', 'batchReadSuccessfulResponse_listPolicyAttachments' - Returns all of the @ObjectIdentifiers@ to which a given policy is
-- attached.
--
-- 'listOutgoingTypedLinks', 'batchReadSuccessfulResponse_listOutgoingTypedLinks' - Returns a paginated list of all the outgoing TypedLinkSpecifier
-- information for an object. It also supports filtering by typed link
-- facet and identity attributes. For more information, see
-- <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_links.html#directory_objects_links_typedlink Typed Links>.
--
-- 'listObjectPolicies', 'batchReadSuccessfulResponse_listObjectPolicies' - Returns policies attached to an object in pagination fashion.
newBatchReadSuccessfulResponse ::
  BatchReadSuccessfulResponse
newBatchReadSuccessfulResponse :: BatchReadSuccessfulResponse
newBatchReadSuccessfulResponse =
  BatchReadSuccessfulResponse' :: Maybe BatchListIndexResponse
-> Maybe BatchGetObjectInformationResponse
-> Maybe BatchListAttachedIndicesResponse
-> Maybe BatchLookupPolicyResponse
-> Maybe BatchListObjectParentPathsResponse
-> Maybe BatchListObjectAttributesResponse
-> Maybe BatchListIncomingTypedLinksResponse
-> Maybe BatchGetLinkAttributesResponse
-> Maybe BatchGetObjectAttributesResponse
-> Maybe BatchListObjectChildrenResponse
-> Maybe BatchListObjectParentsResponse
-> Maybe BatchListPolicyAttachmentsResponse
-> Maybe BatchListOutgoingTypedLinksResponse
-> Maybe BatchListObjectPoliciesResponse
-> BatchReadSuccessfulResponse
BatchReadSuccessfulResponse'
    { $sel:listIndex:BatchReadSuccessfulResponse' :: Maybe BatchListIndexResponse
listIndex =
        Maybe BatchListIndexResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:getObjectInformation:BatchReadSuccessfulResponse' :: Maybe BatchGetObjectInformationResponse
getObjectInformation = Maybe BatchGetObjectInformationResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:listAttachedIndices:BatchReadSuccessfulResponse' :: Maybe BatchListAttachedIndicesResponse
listAttachedIndices = Maybe BatchListAttachedIndicesResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:lookupPolicy:BatchReadSuccessfulResponse' :: Maybe BatchLookupPolicyResponse
lookupPolicy = Maybe BatchLookupPolicyResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:listObjectParentPaths:BatchReadSuccessfulResponse' :: Maybe BatchListObjectParentPathsResponse
listObjectParentPaths = Maybe BatchListObjectParentPathsResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:listObjectAttributes:BatchReadSuccessfulResponse' :: Maybe BatchListObjectAttributesResponse
listObjectAttributes = Maybe BatchListObjectAttributesResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:listIncomingTypedLinks:BatchReadSuccessfulResponse' :: Maybe BatchListIncomingTypedLinksResponse
listIncomingTypedLinks = Maybe BatchListIncomingTypedLinksResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:getLinkAttributes:BatchReadSuccessfulResponse' :: Maybe BatchGetLinkAttributesResponse
getLinkAttributes = Maybe BatchGetLinkAttributesResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:getObjectAttributes:BatchReadSuccessfulResponse' :: Maybe BatchGetObjectAttributesResponse
getObjectAttributes = Maybe BatchGetObjectAttributesResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:listObjectChildren:BatchReadSuccessfulResponse' :: Maybe BatchListObjectChildrenResponse
listObjectChildren = Maybe BatchListObjectChildrenResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:listObjectParents:BatchReadSuccessfulResponse' :: Maybe BatchListObjectParentsResponse
listObjectParents = Maybe BatchListObjectParentsResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:listPolicyAttachments:BatchReadSuccessfulResponse' :: Maybe BatchListPolicyAttachmentsResponse
listPolicyAttachments = Maybe BatchListPolicyAttachmentsResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:listOutgoingTypedLinks:BatchReadSuccessfulResponse' :: Maybe BatchListOutgoingTypedLinksResponse
listOutgoingTypedLinks = Maybe BatchListOutgoingTypedLinksResponse
forall a. Maybe a
Prelude.Nothing,
      $sel:listObjectPolicies:BatchReadSuccessfulResponse' :: Maybe BatchListObjectPoliciesResponse
listObjectPolicies = Maybe BatchListObjectPoliciesResponse
forall a. Maybe a
Prelude.Nothing
    }

-- | Lists objects attached to the specified index.
batchReadSuccessfulResponse_listIndex :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchListIndexResponse)
batchReadSuccessfulResponse_listIndex :: (Maybe BatchListIndexResponse -> f (Maybe BatchListIndexResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_listIndex = (BatchReadSuccessfulResponse -> Maybe BatchListIndexResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchListIndexResponse -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchListIndexResponse)
     (Maybe BatchListIndexResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchListIndexResponse
listIndex :: Maybe BatchListIndexResponse
$sel:listIndex:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse -> Maybe BatchListIndexResponse
listIndex} -> Maybe BatchListIndexResponse
listIndex) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchListIndexResponse
a -> BatchReadSuccessfulResponse
s {$sel:listIndex:BatchReadSuccessfulResponse' :: Maybe BatchListIndexResponse
listIndex = Maybe BatchListIndexResponse
a} :: BatchReadSuccessfulResponse)

-- | Retrieves metadata about an object.
batchReadSuccessfulResponse_getObjectInformation :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchGetObjectInformationResponse)
batchReadSuccessfulResponse_getObjectInformation :: (Maybe BatchGetObjectInformationResponse
 -> f (Maybe BatchGetObjectInformationResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_getObjectInformation = (BatchReadSuccessfulResponse
 -> Maybe BatchGetObjectInformationResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchGetObjectInformationResponse
    -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchGetObjectInformationResponse)
     (Maybe BatchGetObjectInformationResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchGetObjectInformationResponse
getObjectInformation :: Maybe BatchGetObjectInformationResponse
$sel:getObjectInformation:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse
-> Maybe BatchGetObjectInformationResponse
getObjectInformation} -> Maybe BatchGetObjectInformationResponse
getObjectInformation) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchGetObjectInformationResponse
a -> BatchReadSuccessfulResponse
s {$sel:getObjectInformation:BatchReadSuccessfulResponse' :: Maybe BatchGetObjectInformationResponse
getObjectInformation = Maybe BatchGetObjectInformationResponse
a} :: BatchReadSuccessfulResponse)

-- | Lists indices attached to an object.
batchReadSuccessfulResponse_listAttachedIndices :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchListAttachedIndicesResponse)
batchReadSuccessfulResponse_listAttachedIndices :: (Maybe BatchListAttachedIndicesResponse
 -> f (Maybe BatchListAttachedIndicesResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_listAttachedIndices = (BatchReadSuccessfulResponse
 -> Maybe BatchListAttachedIndicesResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchListAttachedIndicesResponse
    -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchListAttachedIndicesResponse)
     (Maybe BatchListAttachedIndicesResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchListAttachedIndicesResponse
listAttachedIndices :: Maybe BatchListAttachedIndicesResponse
$sel:listAttachedIndices:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse
-> Maybe BatchListAttachedIndicesResponse
listAttachedIndices} -> Maybe BatchListAttachedIndicesResponse
listAttachedIndices) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchListAttachedIndicesResponse
a -> BatchReadSuccessfulResponse
s {$sel:listAttachedIndices:BatchReadSuccessfulResponse' :: Maybe BatchListAttachedIndicesResponse
listAttachedIndices = Maybe BatchListAttachedIndicesResponse
a} :: BatchReadSuccessfulResponse)

-- | Lists all policies from the root of the Directory to the object
-- specified. If there are no policies present, an empty list is returned.
-- If policies are present, and if some objects don\'t have the policies
-- attached, it returns the @ObjectIdentifier@ for such objects. If
-- policies are present, it returns @ObjectIdentifier@, @policyId@, and
-- @policyType@. Paths that don\'t lead to the root from the target object
-- are ignored. For more information, see
-- <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directory.html#key_concepts_policies Policies>.
batchReadSuccessfulResponse_lookupPolicy :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchLookupPolicyResponse)
batchReadSuccessfulResponse_lookupPolicy :: (Maybe BatchLookupPolicyResponse
 -> f (Maybe BatchLookupPolicyResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_lookupPolicy = (BatchReadSuccessfulResponse -> Maybe BatchLookupPolicyResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchLookupPolicyResponse -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchLookupPolicyResponse)
     (Maybe BatchLookupPolicyResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchLookupPolicyResponse
lookupPolicy :: Maybe BatchLookupPolicyResponse
$sel:lookupPolicy:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse -> Maybe BatchLookupPolicyResponse
lookupPolicy} -> Maybe BatchLookupPolicyResponse
lookupPolicy) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchLookupPolicyResponse
a -> BatchReadSuccessfulResponse
s {$sel:lookupPolicy:BatchReadSuccessfulResponse' :: Maybe BatchLookupPolicyResponse
lookupPolicy = Maybe BatchLookupPolicyResponse
a} :: BatchReadSuccessfulResponse)

-- | Retrieves all available parent paths for any object type such as node,
-- leaf node, policy node, and index node objects. For more information
-- about objects, see
-- <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directorystructure.html Directory Structure>.
batchReadSuccessfulResponse_listObjectParentPaths :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchListObjectParentPathsResponse)
batchReadSuccessfulResponse_listObjectParentPaths :: (Maybe BatchListObjectParentPathsResponse
 -> f (Maybe BatchListObjectParentPathsResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_listObjectParentPaths = (BatchReadSuccessfulResponse
 -> Maybe BatchListObjectParentPathsResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchListObjectParentPathsResponse
    -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchListObjectParentPathsResponse)
     (Maybe BatchListObjectParentPathsResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchListObjectParentPathsResponse
listObjectParentPaths :: Maybe BatchListObjectParentPathsResponse
$sel:listObjectParentPaths:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse
-> Maybe BatchListObjectParentPathsResponse
listObjectParentPaths} -> Maybe BatchListObjectParentPathsResponse
listObjectParentPaths) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchListObjectParentPathsResponse
a -> BatchReadSuccessfulResponse
s {$sel:listObjectParentPaths:BatchReadSuccessfulResponse' :: Maybe BatchListObjectParentPathsResponse
listObjectParentPaths = Maybe BatchListObjectParentPathsResponse
a} :: BatchReadSuccessfulResponse)

-- | Lists all attributes that are associated with an object.
batchReadSuccessfulResponse_listObjectAttributes :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchListObjectAttributesResponse)
batchReadSuccessfulResponse_listObjectAttributes :: (Maybe BatchListObjectAttributesResponse
 -> f (Maybe BatchListObjectAttributesResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_listObjectAttributes = (BatchReadSuccessfulResponse
 -> Maybe BatchListObjectAttributesResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchListObjectAttributesResponse
    -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchListObjectAttributesResponse)
     (Maybe BatchListObjectAttributesResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchListObjectAttributesResponse
listObjectAttributes :: Maybe BatchListObjectAttributesResponse
$sel:listObjectAttributes:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse
-> Maybe BatchListObjectAttributesResponse
listObjectAttributes} -> Maybe BatchListObjectAttributesResponse
listObjectAttributes) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchListObjectAttributesResponse
a -> BatchReadSuccessfulResponse
s {$sel:listObjectAttributes:BatchReadSuccessfulResponse' :: Maybe BatchListObjectAttributesResponse
listObjectAttributes = Maybe BatchListObjectAttributesResponse
a} :: BatchReadSuccessfulResponse)

-- | Returns a paginated list of all the incoming TypedLinkSpecifier
-- information for an object. It also supports filtering by typed link
-- facet and identity attributes. For more information, see
-- <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_links.html#directory_objects_links_typedlink Typed Links>.
batchReadSuccessfulResponse_listIncomingTypedLinks :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchListIncomingTypedLinksResponse)
batchReadSuccessfulResponse_listIncomingTypedLinks :: (Maybe BatchListIncomingTypedLinksResponse
 -> f (Maybe BatchListIncomingTypedLinksResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_listIncomingTypedLinks = (BatchReadSuccessfulResponse
 -> Maybe BatchListIncomingTypedLinksResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchListIncomingTypedLinksResponse
    -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchListIncomingTypedLinksResponse)
     (Maybe BatchListIncomingTypedLinksResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchListIncomingTypedLinksResponse
listIncomingTypedLinks :: Maybe BatchListIncomingTypedLinksResponse
$sel:listIncomingTypedLinks:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse
-> Maybe BatchListIncomingTypedLinksResponse
listIncomingTypedLinks} -> Maybe BatchListIncomingTypedLinksResponse
listIncomingTypedLinks) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchListIncomingTypedLinksResponse
a -> BatchReadSuccessfulResponse
s {$sel:listIncomingTypedLinks:BatchReadSuccessfulResponse' :: Maybe BatchListIncomingTypedLinksResponse
listIncomingTypedLinks = Maybe BatchListIncomingTypedLinksResponse
a} :: BatchReadSuccessfulResponse)

-- | The list of attributes to retrieve from the typed link.
batchReadSuccessfulResponse_getLinkAttributes :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchGetLinkAttributesResponse)
batchReadSuccessfulResponse_getLinkAttributes :: (Maybe BatchGetLinkAttributesResponse
 -> f (Maybe BatchGetLinkAttributesResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_getLinkAttributes = (BatchReadSuccessfulResponse
 -> Maybe BatchGetLinkAttributesResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchGetLinkAttributesResponse
    -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchGetLinkAttributesResponse)
     (Maybe BatchGetLinkAttributesResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchGetLinkAttributesResponse
getLinkAttributes :: Maybe BatchGetLinkAttributesResponse
$sel:getLinkAttributes:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse -> Maybe BatchGetLinkAttributesResponse
getLinkAttributes} -> Maybe BatchGetLinkAttributesResponse
getLinkAttributes) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchGetLinkAttributesResponse
a -> BatchReadSuccessfulResponse
s {$sel:getLinkAttributes:BatchReadSuccessfulResponse' :: Maybe BatchGetLinkAttributesResponse
getLinkAttributes = Maybe BatchGetLinkAttributesResponse
a} :: BatchReadSuccessfulResponse)

-- | Retrieves attributes within a facet that are associated with an object.
batchReadSuccessfulResponse_getObjectAttributes :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchGetObjectAttributesResponse)
batchReadSuccessfulResponse_getObjectAttributes :: (Maybe BatchGetObjectAttributesResponse
 -> f (Maybe BatchGetObjectAttributesResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_getObjectAttributes = (BatchReadSuccessfulResponse
 -> Maybe BatchGetObjectAttributesResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchGetObjectAttributesResponse
    -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchGetObjectAttributesResponse)
     (Maybe BatchGetObjectAttributesResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchGetObjectAttributesResponse
getObjectAttributes :: Maybe BatchGetObjectAttributesResponse
$sel:getObjectAttributes:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse
-> Maybe BatchGetObjectAttributesResponse
getObjectAttributes} -> Maybe BatchGetObjectAttributesResponse
getObjectAttributes) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchGetObjectAttributesResponse
a -> BatchReadSuccessfulResponse
s {$sel:getObjectAttributes:BatchReadSuccessfulResponse' :: Maybe BatchGetObjectAttributesResponse
getObjectAttributes = Maybe BatchGetObjectAttributesResponse
a} :: BatchReadSuccessfulResponse)

-- | Returns a paginated list of child objects that are associated with a
-- given object.
batchReadSuccessfulResponse_listObjectChildren :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchListObjectChildrenResponse)
batchReadSuccessfulResponse_listObjectChildren :: (Maybe BatchListObjectChildrenResponse
 -> f (Maybe BatchListObjectChildrenResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_listObjectChildren = (BatchReadSuccessfulResponse
 -> Maybe BatchListObjectChildrenResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchListObjectChildrenResponse
    -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchListObjectChildrenResponse)
     (Maybe BatchListObjectChildrenResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchListObjectChildrenResponse
listObjectChildren :: Maybe BatchListObjectChildrenResponse
$sel:listObjectChildren:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse
-> Maybe BatchListObjectChildrenResponse
listObjectChildren} -> Maybe BatchListObjectChildrenResponse
listObjectChildren) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchListObjectChildrenResponse
a -> BatchReadSuccessfulResponse
s {$sel:listObjectChildren:BatchReadSuccessfulResponse' :: Maybe BatchListObjectChildrenResponse
listObjectChildren = Maybe BatchListObjectChildrenResponse
a} :: BatchReadSuccessfulResponse)

-- | The list of parent objects to retrieve.
batchReadSuccessfulResponse_listObjectParents :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchListObjectParentsResponse)
batchReadSuccessfulResponse_listObjectParents :: (Maybe BatchListObjectParentsResponse
 -> f (Maybe BatchListObjectParentsResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_listObjectParents = (BatchReadSuccessfulResponse
 -> Maybe BatchListObjectParentsResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchListObjectParentsResponse
    -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchListObjectParentsResponse)
     (Maybe BatchListObjectParentsResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchListObjectParentsResponse
listObjectParents :: Maybe BatchListObjectParentsResponse
$sel:listObjectParents:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse -> Maybe BatchListObjectParentsResponse
listObjectParents} -> Maybe BatchListObjectParentsResponse
listObjectParents) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchListObjectParentsResponse
a -> BatchReadSuccessfulResponse
s {$sel:listObjectParents:BatchReadSuccessfulResponse' :: Maybe BatchListObjectParentsResponse
listObjectParents = Maybe BatchListObjectParentsResponse
a} :: BatchReadSuccessfulResponse)

-- | Returns all of the @ObjectIdentifiers@ to which a given policy is
-- attached.
batchReadSuccessfulResponse_listPolicyAttachments :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchListPolicyAttachmentsResponse)
batchReadSuccessfulResponse_listPolicyAttachments :: (Maybe BatchListPolicyAttachmentsResponse
 -> f (Maybe BatchListPolicyAttachmentsResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_listPolicyAttachments = (BatchReadSuccessfulResponse
 -> Maybe BatchListPolicyAttachmentsResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchListPolicyAttachmentsResponse
    -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchListPolicyAttachmentsResponse)
     (Maybe BatchListPolicyAttachmentsResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchListPolicyAttachmentsResponse
listPolicyAttachments :: Maybe BatchListPolicyAttachmentsResponse
$sel:listPolicyAttachments:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse
-> Maybe BatchListPolicyAttachmentsResponse
listPolicyAttachments} -> Maybe BatchListPolicyAttachmentsResponse
listPolicyAttachments) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchListPolicyAttachmentsResponse
a -> BatchReadSuccessfulResponse
s {$sel:listPolicyAttachments:BatchReadSuccessfulResponse' :: Maybe BatchListPolicyAttachmentsResponse
listPolicyAttachments = Maybe BatchListPolicyAttachmentsResponse
a} :: BatchReadSuccessfulResponse)

-- | Returns a paginated list of all the outgoing TypedLinkSpecifier
-- information for an object. It also supports filtering by typed link
-- facet and identity attributes. For more information, see
-- <https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_links.html#directory_objects_links_typedlink Typed Links>.
batchReadSuccessfulResponse_listOutgoingTypedLinks :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchListOutgoingTypedLinksResponse)
batchReadSuccessfulResponse_listOutgoingTypedLinks :: (Maybe BatchListOutgoingTypedLinksResponse
 -> f (Maybe BatchListOutgoingTypedLinksResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_listOutgoingTypedLinks = (BatchReadSuccessfulResponse
 -> Maybe BatchListOutgoingTypedLinksResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchListOutgoingTypedLinksResponse
    -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchListOutgoingTypedLinksResponse)
     (Maybe BatchListOutgoingTypedLinksResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchListOutgoingTypedLinksResponse
listOutgoingTypedLinks :: Maybe BatchListOutgoingTypedLinksResponse
$sel:listOutgoingTypedLinks:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse
-> Maybe BatchListOutgoingTypedLinksResponse
listOutgoingTypedLinks} -> Maybe BatchListOutgoingTypedLinksResponse
listOutgoingTypedLinks) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchListOutgoingTypedLinksResponse
a -> BatchReadSuccessfulResponse
s {$sel:listOutgoingTypedLinks:BatchReadSuccessfulResponse' :: Maybe BatchListOutgoingTypedLinksResponse
listOutgoingTypedLinks = Maybe BatchListOutgoingTypedLinksResponse
a} :: BatchReadSuccessfulResponse)

-- | Returns policies attached to an object in pagination fashion.
batchReadSuccessfulResponse_listObjectPolicies :: Lens.Lens' BatchReadSuccessfulResponse (Prelude.Maybe BatchListObjectPoliciesResponse)
batchReadSuccessfulResponse_listObjectPolicies :: (Maybe BatchListObjectPoliciesResponse
 -> f (Maybe BatchListObjectPoliciesResponse))
-> BatchReadSuccessfulResponse -> f BatchReadSuccessfulResponse
batchReadSuccessfulResponse_listObjectPolicies = (BatchReadSuccessfulResponse
 -> Maybe BatchListObjectPoliciesResponse)
-> (BatchReadSuccessfulResponse
    -> Maybe BatchListObjectPoliciesResponse
    -> BatchReadSuccessfulResponse)
-> Lens
     BatchReadSuccessfulResponse
     BatchReadSuccessfulResponse
     (Maybe BatchListObjectPoliciesResponse)
     (Maybe BatchListObjectPoliciesResponse)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchReadSuccessfulResponse' {Maybe BatchListObjectPoliciesResponse
listObjectPolicies :: Maybe BatchListObjectPoliciesResponse
$sel:listObjectPolicies:BatchReadSuccessfulResponse' :: BatchReadSuccessfulResponse
-> Maybe BatchListObjectPoliciesResponse
listObjectPolicies} -> Maybe BatchListObjectPoliciesResponse
listObjectPolicies) (\s :: BatchReadSuccessfulResponse
s@BatchReadSuccessfulResponse' {} Maybe BatchListObjectPoliciesResponse
a -> BatchReadSuccessfulResponse
s {$sel:listObjectPolicies:BatchReadSuccessfulResponse' :: Maybe BatchListObjectPoliciesResponse
listObjectPolicies = Maybe BatchListObjectPoliciesResponse
a} :: BatchReadSuccessfulResponse)

instance Core.FromJSON BatchReadSuccessfulResponse where
  parseJSON :: Value -> Parser BatchReadSuccessfulResponse
parseJSON =
    String
-> (Object -> Parser BatchReadSuccessfulResponse)
-> Value
-> Parser BatchReadSuccessfulResponse
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"BatchReadSuccessfulResponse"
      ( \Object
x ->
          Maybe BatchListIndexResponse
-> Maybe BatchGetObjectInformationResponse
-> Maybe BatchListAttachedIndicesResponse
-> Maybe BatchLookupPolicyResponse
-> Maybe BatchListObjectParentPathsResponse
-> Maybe BatchListObjectAttributesResponse
-> Maybe BatchListIncomingTypedLinksResponse
-> Maybe BatchGetLinkAttributesResponse
-> Maybe BatchGetObjectAttributesResponse
-> Maybe BatchListObjectChildrenResponse
-> Maybe BatchListObjectParentsResponse
-> Maybe BatchListPolicyAttachmentsResponse
-> Maybe BatchListOutgoingTypedLinksResponse
-> Maybe BatchListObjectPoliciesResponse
-> BatchReadSuccessfulResponse
BatchReadSuccessfulResponse'
            (Maybe BatchListIndexResponse
 -> Maybe BatchGetObjectInformationResponse
 -> Maybe BatchListAttachedIndicesResponse
 -> Maybe BatchLookupPolicyResponse
 -> Maybe BatchListObjectParentPathsResponse
 -> Maybe BatchListObjectAttributesResponse
 -> Maybe BatchListIncomingTypedLinksResponse
 -> Maybe BatchGetLinkAttributesResponse
 -> Maybe BatchGetObjectAttributesResponse
 -> Maybe BatchListObjectChildrenResponse
 -> Maybe BatchListObjectParentsResponse
 -> Maybe BatchListPolicyAttachmentsResponse
 -> Maybe BatchListOutgoingTypedLinksResponse
 -> Maybe BatchListObjectPoliciesResponse
 -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchListIndexResponse)
-> Parser
     (Maybe BatchGetObjectInformationResponse
      -> Maybe BatchListAttachedIndicesResponse
      -> Maybe BatchLookupPolicyResponse
      -> Maybe BatchListObjectParentPathsResponse
      -> Maybe BatchListObjectAttributesResponse
      -> Maybe BatchListIncomingTypedLinksResponse
      -> Maybe BatchGetLinkAttributesResponse
      -> Maybe BatchGetObjectAttributesResponse
      -> Maybe BatchListObjectChildrenResponse
      -> Maybe BatchListObjectParentsResponse
      -> Maybe BatchListPolicyAttachmentsResponse
      -> Maybe BatchListOutgoingTypedLinksResponse
      -> Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe BatchListIndexResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ListIndex")
            Parser
  (Maybe BatchGetObjectInformationResponse
   -> Maybe BatchListAttachedIndicesResponse
   -> Maybe BatchLookupPolicyResponse
   -> Maybe BatchListObjectParentPathsResponse
   -> Maybe BatchListObjectAttributesResponse
   -> Maybe BatchListIncomingTypedLinksResponse
   -> Maybe BatchGetLinkAttributesResponse
   -> Maybe BatchGetObjectAttributesResponse
   -> Maybe BatchListObjectChildrenResponse
   -> Maybe BatchListObjectParentsResponse
   -> Maybe BatchListPolicyAttachmentsResponse
   -> Maybe BatchListOutgoingTypedLinksResponse
   -> Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchGetObjectInformationResponse)
-> Parser
     (Maybe BatchListAttachedIndicesResponse
      -> Maybe BatchLookupPolicyResponse
      -> Maybe BatchListObjectParentPathsResponse
      -> Maybe BatchListObjectAttributesResponse
      -> Maybe BatchListIncomingTypedLinksResponse
      -> Maybe BatchGetLinkAttributesResponse
      -> Maybe BatchGetObjectAttributesResponse
      -> Maybe BatchListObjectChildrenResponse
      -> Maybe BatchListObjectParentsResponse
      -> Maybe BatchListPolicyAttachmentsResponse
      -> Maybe BatchListOutgoingTypedLinksResponse
      -> Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe BatchGetObjectInformationResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"GetObjectInformation")
            Parser
  (Maybe BatchListAttachedIndicesResponse
   -> Maybe BatchLookupPolicyResponse
   -> Maybe BatchListObjectParentPathsResponse
   -> Maybe BatchListObjectAttributesResponse
   -> Maybe BatchListIncomingTypedLinksResponse
   -> Maybe BatchGetLinkAttributesResponse
   -> Maybe BatchGetObjectAttributesResponse
   -> Maybe BatchListObjectChildrenResponse
   -> Maybe BatchListObjectParentsResponse
   -> Maybe BatchListPolicyAttachmentsResponse
   -> Maybe BatchListOutgoingTypedLinksResponse
   -> Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchListAttachedIndicesResponse)
-> Parser
     (Maybe BatchLookupPolicyResponse
      -> Maybe BatchListObjectParentPathsResponse
      -> Maybe BatchListObjectAttributesResponse
      -> Maybe BatchListIncomingTypedLinksResponse
      -> Maybe BatchGetLinkAttributesResponse
      -> Maybe BatchGetObjectAttributesResponse
      -> Maybe BatchListObjectChildrenResponse
      -> Maybe BatchListObjectParentsResponse
      -> Maybe BatchListPolicyAttachmentsResponse
      -> Maybe BatchListOutgoingTypedLinksResponse
      -> Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe BatchListAttachedIndicesResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ListAttachedIndices")
            Parser
  (Maybe BatchLookupPolicyResponse
   -> Maybe BatchListObjectParentPathsResponse
   -> Maybe BatchListObjectAttributesResponse
   -> Maybe BatchListIncomingTypedLinksResponse
   -> Maybe BatchGetLinkAttributesResponse
   -> Maybe BatchGetObjectAttributesResponse
   -> Maybe BatchListObjectChildrenResponse
   -> Maybe BatchListObjectParentsResponse
   -> Maybe BatchListPolicyAttachmentsResponse
   -> Maybe BatchListOutgoingTypedLinksResponse
   -> Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchLookupPolicyResponse)
-> Parser
     (Maybe BatchListObjectParentPathsResponse
      -> Maybe BatchListObjectAttributesResponse
      -> Maybe BatchListIncomingTypedLinksResponse
      -> Maybe BatchGetLinkAttributesResponse
      -> Maybe BatchGetObjectAttributesResponse
      -> Maybe BatchListObjectChildrenResponse
      -> Maybe BatchListObjectParentsResponse
      -> Maybe BatchListPolicyAttachmentsResponse
      -> Maybe BatchListOutgoingTypedLinksResponse
      -> Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe BatchLookupPolicyResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LookupPolicy")
            Parser
  (Maybe BatchListObjectParentPathsResponse
   -> Maybe BatchListObjectAttributesResponse
   -> Maybe BatchListIncomingTypedLinksResponse
   -> Maybe BatchGetLinkAttributesResponse
   -> Maybe BatchGetObjectAttributesResponse
   -> Maybe BatchListObjectChildrenResponse
   -> Maybe BatchListObjectParentsResponse
   -> Maybe BatchListPolicyAttachmentsResponse
   -> Maybe BatchListOutgoingTypedLinksResponse
   -> Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchListObjectParentPathsResponse)
-> Parser
     (Maybe BatchListObjectAttributesResponse
      -> Maybe BatchListIncomingTypedLinksResponse
      -> Maybe BatchGetLinkAttributesResponse
      -> Maybe BatchGetObjectAttributesResponse
      -> Maybe BatchListObjectChildrenResponse
      -> Maybe BatchListObjectParentsResponse
      -> Maybe BatchListPolicyAttachmentsResponse
      -> Maybe BatchListOutgoingTypedLinksResponse
      -> Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe BatchListObjectParentPathsResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ListObjectParentPaths")
            Parser
  (Maybe BatchListObjectAttributesResponse
   -> Maybe BatchListIncomingTypedLinksResponse
   -> Maybe BatchGetLinkAttributesResponse
   -> Maybe BatchGetObjectAttributesResponse
   -> Maybe BatchListObjectChildrenResponse
   -> Maybe BatchListObjectParentsResponse
   -> Maybe BatchListPolicyAttachmentsResponse
   -> Maybe BatchListOutgoingTypedLinksResponse
   -> Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchListObjectAttributesResponse)
-> Parser
     (Maybe BatchListIncomingTypedLinksResponse
      -> Maybe BatchGetLinkAttributesResponse
      -> Maybe BatchGetObjectAttributesResponse
      -> Maybe BatchListObjectChildrenResponse
      -> Maybe BatchListObjectParentsResponse
      -> Maybe BatchListPolicyAttachmentsResponse
      -> Maybe BatchListOutgoingTypedLinksResponse
      -> Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe BatchListObjectAttributesResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ListObjectAttributes")
            Parser
  (Maybe BatchListIncomingTypedLinksResponse
   -> Maybe BatchGetLinkAttributesResponse
   -> Maybe BatchGetObjectAttributesResponse
   -> Maybe BatchListObjectChildrenResponse
   -> Maybe BatchListObjectParentsResponse
   -> Maybe BatchListPolicyAttachmentsResponse
   -> Maybe BatchListOutgoingTypedLinksResponse
   -> Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchListIncomingTypedLinksResponse)
-> Parser
     (Maybe BatchGetLinkAttributesResponse
      -> Maybe BatchGetObjectAttributesResponse
      -> Maybe BatchListObjectChildrenResponse
      -> Maybe BatchListObjectParentsResponse
      -> Maybe BatchListPolicyAttachmentsResponse
      -> Maybe BatchListOutgoingTypedLinksResponse
      -> Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe BatchListIncomingTypedLinksResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ListIncomingTypedLinks")
            Parser
  (Maybe BatchGetLinkAttributesResponse
   -> Maybe BatchGetObjectAttributesResponse
   -> Maybe BatchListObjectChildrenResponse
   -> Maybe BatchListObjectParentsResponse
   -> Maybe BatchListPolicyAttachmentsResponse
   -> Maybe BatchListOutgoingTypedLinksResponse
   -> Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchGetLinkAttributesResponse)
-> Parser
     (Maybe BatchGetObjectAttributesResponse
      -> Maybe BatchListObjectChildrenResponse
      -> Maybe BatchListObjectParentsResponse
      -> Maybe BatchListPolicyAttachmentsResponse
      -> Maybe BatchListOutgoingTypedLinksResponse
      -> Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe BatchGetLinkAttributesResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"GetLinkAttributes")
            Parser
  (Maybe BatchGetObjectAttributesResponse
   -> Maybe BatchListObjectChildrenResponse
   -> Maybe BatchListObjectParentsResponse
   -> Maybe BatchListPolicyAttachmentsResponse
   -> Maybe BatchListOutgoingTypedLinksResponse
   -> Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchGetObjectAttributesResponse)
-> Parser
     (Maybe BatchListObjectChildrenResponse
      -> Maybe BatchListObjectParentsResponse
      -> Maybe BatchListPolicyAttachmentsResponse
      -> Maybe BatchListOutgoingTypedLinksResponse
      -> Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe BatchGetObjectAttributesResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"GetObjectAttributes")
            Parser
  (Maybe BatchListObjectChildrenResponse
   -> Maybe BatchListObjectParentsResponse
   -> Maybe BatchListPolicyAttachmentsResponse
   -> Maybe BatchListOutgoingTypedLinksResponse
   -> Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchListObjectChildrenResponse)
-> Parser
     (Maybe BatchListObjectParentsResponse
      -> Maybe BatchListPolicyAttachmentsResponse
      -> Maybe BatchListOutgoingTypedLinksResponse
      -> Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe BatchListObjectChildrenResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ListObjectChildren")
            Parser
  (Maybe BatchListObjectParentsResponse
   -> Maybe BatchListPolicyAttachmentsResponse
   -> Maybe BatchListOutgoingTypedLinksResponse
   -> Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchListObjectParentsResponse)
-> Parser
     (Maybe BatchListPolicyAttachmentsResponse
      -> Maybe BatchListOutgoingTypedLinksResponse
      -> Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe BatchListObjectParentsResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ListObjectParents")
            Parser
  (Maybe BatchListPolicyAttachmentsResponse
   -> Maybe BatchListOutgoingTypedLinksResponse
   -> Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchListPolicyAttachmentsResponse)
-> Parser
     (Maybe BatchListOutgoingTypedLinksResponse
      -> Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe BatchListPolicyAttachmentsResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ListPolicyAttachments")
            Parser
  (Maybe BatchListOutgoingTypedLinksResponse
   -> Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchListOutgoingTypedLinksResponse)
-> Parser
     (Maybe BatchListObjectPoliciesResponse
      -> BatchReadSuccessfulResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe BatchListOutgoingTypedLinksResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ListOutgoingTypedLinks")
            Parser
  (Maybe BatchListObjectPoliciesResponse
   -> BatchReadSuccessfulResponse)
-> Parser (Maybe BatchListObjectPoliciesResponse)
-> Parser BatchReadSuccessfulResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe BatchListObjectPoliciesResponse)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ListObjectPolicies")
      )

instance Prelude.Hashable BatchReadSuccessfulResponse

instance Prelude.NFData BatchReadSuccessfulResponse