packages feed

amazonka-clouddirectory 1.5.0 → 1.6.0

raw patch · 82 files changed

+6474/−5350 lines, 82 filesdep ~amazonka-coredep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-core, amazonka-test

API changes (from Hackage documentation)

+ Network.AWS.CloudDirectory: _IncompatibleSchemaException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudDirectory: batchGetObjectAttributes :: ObjectReference -> SchemaFacet -> BatchGetObjectAttributes
+ Network.AWS.CloudDirectory: batchGetObjectAttributesResponse :: BatchGetObjectAttributesResponse
+ Network.AWS.CloudDirectory: bgoaAttributeNames :: Lens' BatchGetObjectAttributes [Text]
+ Network.AWS.CloudDirectory: bgoaAttributes :: Lens' BatchGetObjectAttributesResponse [AttributeKeyAndValue]
+ Network.AWS.CloudDirectory: bgoaObjectReference :: Lens' BatchGetObjectAttributes ObjectReference
+ Network.AWS.CloudDirectory: bgoaSchemaFacet :: Lens' BatchGetObjectAttributes SchemaFacet
+ Network.AWS.CloudDirectory: broGetObjectAttributes :: Lens' BatchReadOperation (Maybe BatchGetObjectAttributes)
+ Network.AWS.CloudDirectory: brsGetObjectAttributes :: Lens' BatchReadSuccessfulResponse (Maybe BatchGetObjectAttributesResponse)
+ Network.AWS.CloudDirectory: data BatchGetObjectAttributes
+ Network.AWS.CloudDirectory: data BatchGetObjectAttributesResponse
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: data GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: data GetAppliedSchemaVersionResponse
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: gasvSchemaARN :: Lens' GetAppliedSchemaVersion Text
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: gasvrsAppliedSchemaARN :: Lens' GetAppliedSchemaVersionResponse (Maybe Text)
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: gasvrsResponseStatus :: Lens' GetAppliedSchemaVersionResponse Int
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: getAppliedSchemaVersion :: Text -> GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: getAppliedSchemaVersionResponse :: Int -> GetAppliedSchemaVersionResponse
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance Control.DeepSeq.NFData Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance Control.DeepSeq.NFData Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersionResponse
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance Data.Data.Data Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance Data.Data.Data Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersionResponse
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance Data.Hashable.Class.Hashable Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance GHC.Classes.Eq Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance GHC.Classes.Eq Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersionResponse
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance GHC.Generics.Generic Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance GHC.Generics.Generic Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersionResponse
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance GHC.Read.Read Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance GHC.Read.Read Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersionResponse
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance GHC.Show.Show Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance GHC.Show.Show Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersionResponse
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetAppliedSchemaVersion: instance Network.AWS.Types.AWSRequest Network.AWS.CloudDirectory.GetAppliedSchemaVersion.GetAppliedSchemaVersion
+ Network.AWS.CloudDirectory.GetObjectAttributes: data GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: data GetObjectAttributesResponse
+ Network.AWS.CloudDirectory.GetObjectAttributes: getObjectAttributes :: Text -> ObjectReference -> SchemaFacet -> GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: getObjectAttributesResponse :: Int -> GetObjectAttributesResponse
+ Network.AWS.CloudDirectory.GetObjectAttributes: goaAttributeNames :: Lens' GetObjectAttributes [Text]
+ Network.AWS.CloudDirectory.GetObjectAttributes: goaConsistencyLevel :: Lens' GetObjectAttributes (Maybe ConsistencyLevel)
+ Network.AWS.CloudDirectory.GetObjectAttributes: goaDirectoryARN :: Lens' GetObjectAttributes Text
+ Network.AWS.CloudDirectory.GetObjectAttributes: goaObjectReference :: Lens' GetObjectAttributes ObjectReference
+ Network.AWS.CloudDirectory.GetObjectAttributes: goaSchemaFacet :: Lens' GetObjectAttributes SchemaFacet
+ Network.AWS.CloudDirectory.GetObjectAttributes: goarsAttributes :: Lens' GetObjectAttributesResponse [AttributeKeyAndValue]
+ Network.AWS.CloudDirectory.GetObjectAttributes: goarsResponseStatus :: Lens' GetObjectAttributesResponse Int
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance Control.DeepSeq.NFData Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance Control.DeepSeq.NFData Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributesResponse
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance Data.Data.Data Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance Data.Data.Data Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributesResponse
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance Data.Hashable.Class.Hashable Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance GHC.Classes.Eq Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance GHC.Classes.Eq Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributesResponse
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance GHC.Generics.Generic Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance GHC.Generics.Generic Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributesResponse
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance GHC.Read.Read Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance GHC.Read.Read Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributesResponse
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance GHC.Show.Show Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance GHC.Show.Show Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributesResponse
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributes
+ Network.AWS.CloudDirectory.GetObjectAttributes: instance Network.AWS.Types.AWSRequest Network.AWS.CloudDirectory.GetObjectAttributes.GetObjectAttributes
+ Network.AWS.CloudDirectory.ListAppliedSchemaARNs: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListAppliedSchemaARNs.ListAppliedSchemaARNs
+ Network.AWS.CloudDirectory.ListAppliedSchemaARNs: lasaSchemaARN :: Lens' ListAppliedSchemaARNs (Maybe Text)
+ Network.AWS.CloudDirectory.ListAttachedIndices: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListAttachedIndices.ListAttachedIndices
+ Network.AWS.CloudDirectory.ListDevelopmentSchemaARNs: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListDevelopmentSchemaARNs.ListDevelopmentSchemaARNs
+ Network.AWS.CloudDirectory.ListDirectories: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListDirectories.ListDirectories
+ Network.AWS.CloudDirectory.ListFacetAttributes: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListFacetAttributes.ListFacetAttributes
+ Network.AWS.CloudDirectory.ListFacetNames: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListFacetNames.ListFacetNames
+ Network.AWS.CloudDirectory.ListIndex: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListIndex.ListIndex
+ Network.AWS.CloudDirectory.ListObjectAttributes: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListObjectAttributes.ListObjectAttributes
+ Network.AWS.CloudDirectory.ListObjectParentPaths: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListObjectParentPaths.ListObjectParentPaths
+ Network.AWS.CloudDirectory.ListObjectPolicies: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListObjectPolicies.ListObjectPolicies
+ Network.AWS.CloudDirectory.ListPolicyAttachments: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListPolicyAttachments.ListPolicyAttachments
+ Network.AWS.CloudDirectory.ListPublishedSchemaARNs: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListPublishedSchemaARNs.ListPublishedSchemaARNs
+ Network.AWS.CloudDirectory.ListPublishedSchemaARNs: lpsaSchemaARN :: Lens' ListPublishedSchemaARNs (Maybe Text)
+ Network.AWS.CloudDirectory.ListTagsForResource: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListTagsForResource.ListTagsForResource
+ Network.AWS.CloudDirectory.ListTypedLinkFacetAttributes: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListTypedLinkFacetAttributes.ListTypedLinkFacetAttributes
+ Network.AWS.CloudDirectory.ListTypedLinkFacetNames: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.ListTypedLinkFacetNames.ListTypedLinkFacetNames
+ Network.AWS.CloudDirectory.LookupPolicy: instance Network.AWS.Pager.AWSPager Network.AWS.CloudDirectory.LookupPolicy.LookupPolicy
+ Network.AWS.CloudDirectory.PublishSchema: psMinorVersion :: Lens' PublishSchema (Maybe Text)
+ Network.AWS.CloudDirectory.Types: _IncompatibleSchemaException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudDirectory.Types: batchGetObjectAttributes :: ObjectReference -> SchemaFacet -> BatchGetObjectAttributes
+ Network.AWS.CloudDirectory.Types: batchGetObjectAttributesResponse :: BatchGetObjectAttributesResponse
+ Network.AWS.CloudDirectory.Types: bgoaAttributeNames :: Lens' BatchGetObjectAttributes [Text]
+ Network.AWS.CloudDirectory.Types: bgoaAttributes :: Lens' BatchGetObjectAttributesResponse [AttributeKeyAndValue]
+ Network.AWS.CloudDirectory.Types: bgoaObjectReference :: Lens' BatchGetObjectAttributes ObjectReference
+ Network.AWS.CloudDirectory.Types: bgoaSchemaFacet :: Lens' BatchGetObjectAttributes SchemaFacet
+ Network.AWS.CloudDirectory.Types: broGetObjectAttributes :: Lens' BatchReadOperation (Maybe BatchGetObjectAttributes)
+ Network.AWS.CloudDirectory.Types: brsGetObjectAttributes :: Lens' BatchReadSuccessfulResponse (Maybe BatchGetObjectAttributesResponse)
+ Network.AWS.CloudDirectory.Types: data BatchGetObjectAttributes
+ Network.AWS.CloudDirectory.Types: data BatchGetObjectAttributesResponse
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: data UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: data UpgradeAppliedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance Control.DeepSeq.NFData Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance Control.DeepSeq.NFData Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance Data.Data.Data Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance Data.Data.Data Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance Data.Hashable.Class.Hashable Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance GHC.Classes.Eq Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance GHC.Classes.Eq Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance GHC.Generics.Generic Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance GHC.Generics.Generic Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance GHC.Read.Read Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance GHC.Read.Read Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance GHC.Show.Show Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance GHC.Show.Show Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: instance Network.AWS.Types.AWSRequest Network.AWS.CloudDirectory.UpgradeAppliedSchema.UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: uasDirectoryARN :: Lens' UpgradeAppliedSchema Text
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: uasDryRun :: Lens' UpgradeAppliedSchema (Maybe Bool)
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: uasPublishedSchemaARN :: Lens' UpgradeAppliedSchema Text
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: uasrsDirectoryARN :: Lens' UpgradeAppliedSchemaResponse (Maybe Text)
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: uasrsResponseStatus :: Lens' UpgradeAppliedSchemaResponse Int
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: uasrsUpgradedSchemaARN :: Lens' UpgradeAppliedSchemaResponse (Maybe Text)
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: upgradeAppliedSchema :: Text -> Text -> UpgradeAppliedSchema
+ Network.AWS.CloudDirectory.UpgradeAppliedSchema: upgradeAppliedSchemaResponse :: Int -> UpgradeAppliedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: data UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: data UpgradePublishedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance Control.DeepSeq.NFData Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance Control.DeepSeq.NFData Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance Data.Data.Data Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance Data.Data.Data Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance Data.Hashable.Class.Hashable Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance GHC.Classes.Eq Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance GHC.Classes.Eq Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance GHC.Generics.Generic Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance GHC.Generics.Generic Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance GHC.Read.Read Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance GHC.Read.Read Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance GHC.Show.Show Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance GHC.Show.Show Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: instance Network.AWS.Types.AWSRequest Network.AWS.CloudDirectory.UpgradePublishedSchema.UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: upgradePublishedSchema :: Text -> Text -> Text -> UpgradePublishedSchema
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: upgradePublishedSchemaResponse :: Int -> UpgradePublishedSchemaResponse
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: upsDevelopmentSchemaARN :: Lens' UpgradePublishedSchema Text
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: upsDryRun :: Lens' UpgradePublishedSchema (Maybe Bool)
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: upsMinorVersion :: Lens' UpgradePublishedSchema Text
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: upsPublishedSchemaARN :: Lens' UpgradePublishedSchema Text
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: upsrsResponseStatus :: Lens' UpgradePublishedSchemaResponse Int
+ Network.AWS.CloudDirectory.UpgradePublishedSchema: upsrsUpgradedSchemaARN :: Lens' UpgradePublishedSchemaResponse (Maybe Text)
- Network.AWS.CloudDirectory: batchCreateObject :: ObjectReference -> Text -> Text -> BatchCreateObject
+ Network.AWS.CloudDirectory: batchCreateObject :: BatchCreateObject
- Network.AWS.CloudDirectory: batchDetachObject :: ObjectReference -> Text -> Text -> BatchDetachObject
+ Network.AWS.CloudDirectory: batchDetachObject :: ObjectReference -> Text -> BatchDetachObject
- Network.AWS.CloudDirectory: bcoBatchReferenceName :: Lens' BatchCreateObject Text
+ Network.AWS.CloudDirectory: bcoBatchReferenceName :: Lens' BatchCreateObject (Maybe Text)
- Network.AWS.CloudDirectory: bcoLinkName :: Lens' BatchCreateObject Text
+ Network.AWS.CloudDirectory: bcoLinkName :: Lens' BatchCreateObject (Maybe Text)
- Network.AWS.CloudDirectory: bcoParentReference :: Lens' BatchCreateObject ObjectReference
+ Network.AWS.CloudDirectory: bcoParentReference :: Lens' BatchCreateObject (Maybe ObjectReference)
- Network.AWS.CloudDirectory: bdoBatchReferenceName :: Lens' BatchDetachObject Text
+ Network.AWS.CloudDirectory: bdoBatchReferenceName :: Lens' BatchDetachObject (Maybe Text)
- Network.AWS.CloudDirectory.AttachPolicy: apDirectoryARN :: Lens' AttachPolicy (Maybe Text)
+ Network.AWS.CloudDirectory.AttachPolicy: apDirectoryARN :: Lens' AttachPolicy Text
- Network.AWS.CloudDirectory.AttachPolicy: attachPolicy :: ObjectReference -> ObjectReference -> AttachPolicy
+ Network.AWS.CloudDirectory.AttachPolicy: attachPolicy :: Text -> ObjectReference -> ObjectReference -> AttachPolicy
- Network.AWS.CloudDirectory.Types: batchCreateObject :: ObjectReference -> Text -> Text -> BatchCreateObject
+ Network.AWS.CloudDirectory.Types: batchCreateObject :: BatchCreateObject
- Network.AWS.CloudDirectory.Types: batchDetachObject :: ObjectReference -> Text -> Text -> BatchDetachObject
+ Network.AWS.CloudDirectory.Types: batchDetachObject :: ObjectReference -> Text -> BatchDetachObject
- Network.AWS.CloudDirectory.Types: bcoBatchReferenceName :: Lens' BatchCreateObject Text
+ Network.AWS.CloudDirectory.Types: bcoBatchReferenceName :: Lens' BatchCreateObject (Maybe Text)
- Network.AWS.CloudDirectory.Types: bcoLinkName :: Lens' BatchCreateObject Text
+ Network.AWS.CloudDirectory.Types: bcoLinkName :: Lens' BatchCreateObject (Maybe Text)
- Network.AWS.CloudDirectory.Types: bcoParentReference :: Lens' BatchCreateObject ObjectReference
+ Network.AWS.CloudDirectory.Types: bcoParentReference :: Lens' BatchCreateObject (Maybe ObjectReference)
- Network.AWS.CloudDirectory.Types: bdoBatchReferenceName :: Lens' BatchDetachObject Text
+ Network.AWS.CloudDirectory.Types: bdoBatchReferenceName :: Lens' BatchDetachObject (Maybe Text)

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.5.0`+`1.6.0`   ## Description
amazonka-clouddirectory.cabal view
@@ -1,5 +1,5 @@ name:                  amazonka-clouddirectory-version:               1.5.0+version:               1.6.0 synopsis:              Amazon CloudDirectory SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues@@ -7,7 +7,7 @@ license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright:             Copyright (c) 2013-2017 Brendan Hay+copyright:             Copyright (c) 2013-2018 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple cabal-version:         >= 1.10@@ -70,8 +70,10 @@         , Network.AWS.CloudDirectory.DetachTypedLink         , Network.AWS.CloudDirectory.DisableDirectory         , Network.AWS.CloudDirectory.EnableDirectory+        , Network.AWS.CloudDirectory.GetAppliedSchemaVersion         , Network.AWS.CloudDirectory.GetDirectory         , Network.AWS.CloudDirectory.GetFacet+        , Network.AWS.CloudDirectory.GetObjectAttributes         , Network.AWS.CloudDirectory.GetObjectInformation         , Network.AWS.CloudDirectory.GetSchemaAsJSON         , Network.AWS.CloudDirectory.GetTypedLinkFacetInformation@@ -105,6 +107,8 @@         , Network.AWS.CloudDirectory.UpdateObjectAttributes         , Network.AWS.CloudDirectory.UpdateSchema         , Network.AWS.CloudDirectory.UpdateTypedLinkFacet+        , Network.AWS.CloudDirectory.UpgradeAppliedSchema+        , Network.AWS.CloudDirectory.UpgradePublishedSchema         , Network.AWS.CloudDirectory.Waiters      other-modules:@@ -112,7 +116,7 @@         , Network.AWS.CloudDirectory.Types.Sum      build-depends:-          amazonka-core == 1.5.0.*+          amazonka-core == 1.6.0.*         , base          >= 4.7     && < 5  test-suite amazonka-clouddirectory-test@@ -132,8 +136,8 @@         , Test.AWS.CloudDirectory.Internal      build-depends:-          amazonka-core == 1.5.0.*-        , amazonka-test == 1.5.0.*+          amazonka-core == 1.6.0.*+        , amazonka-test == 1.6.0.*         , amazonka-clouddirectory         , base         , bytestring
+ fixture/GetAppliedSchemaVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/clouddirectory/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  clouddirectory.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetAppliedSchemaVersionResponse.proto view
+ fixture/GetObjectAttributes.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/clouddirectory/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  clouddirectory.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetObjectAttributesResponse.proto view
+ fixture/UpgradeAppliedSchema.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/clouddirectory/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  clouddirectory.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpgradeAppliedSchemaResponse.proto view
+ fixture/UpgradePublishedSchema.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/clouddirectory/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  clouddirectory.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpgradePublishedSchemaResponse.proto view
gen/Network/AWS/CloudDirectory.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Network.AWS.CloudDirectory--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -83,6 +83,9 @@     -- ** StillContainsLinksException     , _StillContainsLinksException +    -- ** IncompatibleSchemaException+    , _IncompatibleSchemaException+     -- ** NotNodeException     , _NotNodeException @@ -131,43 +134,46 @@     -- * Operations     -- $operations -    -- ** ListTypedLinkFacetAttributes+    -- ** ListTypedLinkFacetAttributes (Paginated)     , module Network.AWS.CloudDirectory.ListTypedLinkFacetAttributes      -- ** DeleteObject     , module Network.AWS.CloudDirectory.DeleteObject -    -- ** ListIndex+    -- ** ListIndex (Paginated)     , module Network.AWS.CloudDirectory.ListIndex +    -- ** UpgradeAppliedSchema+    , module Network.AWS.CloudDirectory.UpgradeAppliedSchema+     -- ** GetDirectory     , module Network.AWS.CloudDirectory.GetDirectory      -- ** GetObjectInformation     , module Network.AWS.CloudDirectory.GetObjectInformation -    -- ** ListAttachedIndices+    -- ** ListAttachedIndices (Paginated)     , module Network.AWS.CloudDirectory.ListAttachedIndices      -- ** DetachFromIndex     , module Network.AWS.CloudDirectory.DetachFromIndex -    -- ** LookupPolicy+    -- ** LookupPolicy (Paginated)     , module Network.AWS.CloudDirectory.LookupPolicy -    -- ** ListTagsForResource+    -- ** ListTagsForResource (Paginated)     , module Network.AWS.CloudDirectory.ListTagsForResource -    -- ** ListPublishedSchemaARNs+    -- ** ListPublishedSchemaARNs (Paginated)     , module Network.AWS.CloudDirectory.ListPublishedSchemaARNs -    -- ** ListDirectories+    -- ** ListDirectories (Paginated)     , module Network.AWS.CloudDirectory.ListDirectories      -- ** CreateTypedLinkFacet     , module Network.AWS.CloudDirectory.CreateTypedLinkFacet -    -- ** ListObjectParentPaths+    -- ** ListObjectParentPaths (Paginated)     , module Network.AWS.CloudDirectory.ListObjectParentPaths      -- ** DisableDirectory@@ -176,7 +182,7 @@     -- ** CreateDirectory     , module Network.AWS.CloudDirectory.CreateDirectory -    -- ** ListFacetAttributes+    -- ** ListFacetAttributes (Paginated)     , module Network.AWS.CloudDirectory.ListFacetAttributes      -- ** UpdateTypedLinkFacet@@ -185,16 +191,19 @@     -- ** DeleteTypedLinkFacet     , module Network.AWS.CloudDirectory.DeleteTypedLinkFacet +    -- ** GetAppliedSchemaVersion+    , module Network.AWS.CloudDirectory.GetAppliedSchemaVersion+     -- ** RemoveFacetFromObject     , module Network.AWS.CloudDirectory.RemoveFacetFromObject      -- ** EnableDirectory     , module Network.AWS.CloudDirectory.EnableDirectory -    -- ** ListObjectAttributes+    -- ** ListObjectAttributes (Paginated)     , module Network.AWS.CloudDirectory.ListObjectAttributes -    -- ** ListAppliedSchemaARNs+    -- ** ListAppliedSchemaARNs (Paginated)     , module Network.AWS.CloudDirectory.ListAppliedSchemaARNs      -- ** ListIncomingTypedLinks@@ -206,7 +215,7 @@     -- ** GetTypedLinkFacetInformation     , module Network.AWS.CloudDirectory.GetTypedLinkFacetInformation -    -- ** ListDevelopmentSchemaARNs+    -- ** ListDevelopmentSchemaARNs (Paginated)     , module Network.AWS.CloudDirectory.ListDevelopmentSchemaARNs      -- ** AttachObject@@ -218,9 +227,15 @@     -- ** CreateObject     , module Network.AWS.CloudDirectory.CreateObject +    -- ** UpgradePublishedSchema+    , module Network.AWS.CloudDirectory.UpgradePublishedSchema+     -- ** CreateFacet     , module Network.AWS.CloudDirectory.CreateFacet +    -- ** GetObjectAttributes+    , module Network.AWS.CloudDirectory.GetObjectAttributes+     -- ** DeleteFacet     , module Network.AWS.CloudDirectory.DeleteFacet @@ -230,7 +245,7 @@     -- ** ListObjectChildren     , module Network.AWS.CloudDirectory.ListObjectChildren -    -- ** ListTypedLinkFacetNames+    -- ** ListTypedLinkFacetNames (Paginated)     , module Network.AWS.CloudDirectory.ListTypedLinkFacetNames      -- ** AttachTypedLink@@ -266,7 +281,7 @@     -- ** ListObjectParents     , module Network.AWS.CloudDirectory.ListObjectParents -    -- ** ListPolicyAttachments+    -- ** ListPolicyAttachments (Paginated)     , module Network.AWS.CloudDirectory.ListPolicyAttachments      -- ** TagResource@@ -281,7 +296,7 @@     -- ** DetachTypedLink     , module Network.AWS.CloudDirectory.DetachTypedLink -    -- ** ListFacetNames+    -- ** ListFacetNames (Paginated)     , module Network.AWS.CloudDirectory.ListFacetNames      -- ** UntagResource@@ -305,7 +320,7 @@     -- ** AttachToIndex     , module Network.AWS.CloudDirectory.AttachToIndex -    -- ** ListObjectPolicies+    -- ** ListObjectPolicies (Paginated)     , module Network.AWS.CloudDirectory.ListObjectPolicies      -- * Types@@ -430,11 +445,11 @@     -- ** BatchCreateObject     , BatchCreateObject     , batchCreateObject-    , bcoSchemaFacet-    , bcoObjectAttributeList     , bcoParentReference     , bcoLinkName     , bcoBatchReferenceName+    , bcoSchemaFacet+    , bcoObjectAttributeList      -- ** BatchCreateObjectResponse     , BatchCreateObjectResponse@@ -464,9 +479,9 @@     -- ** BatchDetachObject     , BatchDetachObject     , batchDetachObject+    , bdoBatchReferenceName     , bdoParentReference     , bdoLinkName-    , bdoBatchReferenceName      -- ** BatchDetachObjectResponse     , BatchDetachObjectResponse@@ -492,6 +507,18 @@     , BatchDetachTypedLinkResponse     , batchDetachTypedLinkResponse +    -- ** BatchGetObjectAttributes+    , BatchGetObjectAttributes+    , batchGetObjectAttributes+    , bgoaObjectReference+    , bgoaSchemaFacet+    , bgoaAttributeNames++    -- ** BatchGetObjectAttributesResponse+    , BatchGetObjectAttributesResponse+    , batchGetObjectAttributesResponse+    , bgoaAttributes+     -- ** BatchGetObjectInformation     , BatchGetObjectInformation     , batchGetObjectInformation@@ -655,6 +682,7 @@     , broListObjectParentPaths     , broListObjectAttributes     , broListIncomingTypedLinks+    , broGetObjectAttributes     , broListObjectChildren     , broListPolicyAttachments     , broListOutgoingTypedLinks@@ -676,6 +704,7 @@     , brsListObjectParentPaths     , brsListObjectAttributes     , brsListIncomingTypedLinks+    , brsGetObjectAttributes     , brsListObjectChildren     , brsListPolicyAttachments     , brsListOutgoingTypedLinks@@ -932,8 +961,10 @@ import Network.AWS.CloudDirectory.DetachTypedLink import Network.AWS.CloudDirectory.DisableDirectory import Network.AWS.CloudDirectory.EnableDirectory+import Network.AWS.CloudDirectory.GetAppliedSchemaVersion import Network.AWS.CloudDirectory.GetDirectory import Network.AWS.CloudDirectory.GetFacet+import Network.AWS.CloudDirectory.GetObjectAttributes import Network.AWS.CloudDirectory.GetObjectInformation import Network.AWS.CloudDirectory.GetSchemaAsJSON import Network.AWS.CloudDirectory.GetTypedLinkFacetInformation@@ -967,6 +998,8 @@ import Network.AWS.CloudDirectory.UpdateObjectAttributes import Network.AWS.CloudDirectory.UpdateSchema import Network.AWS.CloudDirectory.UpdateTypedLinkFacet+import Network.AWS.CloudDirectory.UpgradeAppliedSchema+import Network.AWS.CloudDirectory.UpgradePublishedSchema import Network.AWS.CloudDirectory.Waiters  {- $errors
gen/Network/AWS/CloudDirectory/AddFacetToObject.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.CloudDirectory.AddFacetToObject--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 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) ----- Adds a new 'Facet' to an object.+-- Adds a new 'Facet' to an object. An object can have more than one facet applied on it. -- -- module Network.AWS.CloudDirectory.AddFacetToObject@@ -63,7 +63,7 @@ -- -- * 'aftoDirectoryARN' - The Amazon Resource Name (ARN) that is associated with the 'Directory' where the object resides. For more information, see 'arns' . ----- * 'aftoSchemaFacet' - Identifiers for the facet that you are adding to the object.+-- * 'aftoSchemaFacet' - Identifiers for the facet that you are adding to the object. See 'SchemaFacet' for details. -- -- * 'aftoObjectReference' - A reference to the object you are adding the specified facet to. addFacetToObject@@ -73,28 +73,28 @@     -> AddFacetToObject addFacetToObject pDirectoryARN_ pSchemaFacet_ pObjectReference_ =   AddFacetToObject'-  { _aftoObjectAttributeList = Nothing-  , _aftoDirectoryARN = pDirectoryARN_-  , _aftoSchemaFacet = pSchemaFacet_-  , _aftoObjectReference = pObjectReference_-  }+    { _aftoObjectAttributeList = Nothing+    , _aftoDirectoryARN = pDirectoryARN_+    , _aftoSchemaFacet = pSchemaFacet_+    , _aftoObjectReference = pObjectReference_+    }   -- | Attributes on the facet that you are adding to the object. aftoObjectAttributeList :: Lens' AddFacetToObject [AttributeKeyAndValue]-aftoObjectAttributeList = lens _aftoObjectAttributeList (\ s a -> s{_aftoObjectAttributeList = a}) . _Default . _Coerce;+aftoObjectAttributeList = lens _aftoObjectAttributeList (\ s a -> s{_aftoObjectAttributeList = a}) . _Default . _Coerce  -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' where the object resides. For more information, see 'arns' . aftoDirectoryARN :: Lens' AddFacetToObject Text-aftoDirectoryARN = lens _aftoDirectoryARN (\ s a -> s{_aftoDirectoryARN = a});+aftoDirectoryARN = lens _aftoDirectoryARN (\ s a -> s{_aftoDirectoryARN = a}) --- | Identifiers for the facet that you are adding to the object.+-- | Identifiers for the facet that you are adding to the object. See 'SchemaFacet' for details. aftoSchemaFacet :: Lens' AddFacetToObject SchemaFacet-aftoSchemaFacet = lens _aftoSchemaFacet (\ s a -> s{_aftoSchemaFacet = a});+aftoSchemaFacet = lens _aftoSchemaFacet (\ s a -> s{_aftoSchemaFacet = a})  -- | A reference to the object you are adding the specified facet to. aftoObjectReference :: Lens' AddFacetToObject ObjectReference-aftoObjectReference = lens _aftoObjectReference (\ s a -> s{_aftoObjectReference = a});+aftoObjectReference = lens _aftoObjectReference (\ s a -> s{_aftoObjectReference = a})  instance AWSRequest AddFacetToObject where         type Rs AddFacetToObject = AddFacetToObjectResponse@@ -150,6 +150,6 @@  -- | -- | The response status code. aftorsResponseStatus :: Lens' AddFacetToObjectResponse Int-aftorsResponseStatus = lens _aftorsResponseStatus (\ s a -> s{_aftorsResponseStatus = a});+aftorsResponseStatus = lens _aftorsResponseStatus (\ s a -> s{_aftorsResponseStatus = a})  instance NFData AddFacetToObjectResponse where
gen/Network/AWS/CloudDirectory/ApplySchema.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.CloudDirectory.ApplySchema--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 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) ----- Copies the input published schema into the 'Directory' with the same name and version as that of the published schema .+-- Copies the input published schema, at the specified version, into the 'Directory' with the same name and version as that of the published schema. -- -- module Network.AWS.CloudDirectory.ApplySchema@@ -66,18 +66,18 @@     -> ApplySchema applySchema pPublishedSchemaARN_ pDirectoryARN_ =   ApplySchema'-  { _asPublishedSchemaARN = pPublishedSchemaARN_-  , _asDirectoryARN = pDirectoryARN_-  }+    { _asPublishedSchemaARN = pPublishedSchemaARN_+    , _asDirectoryARN = pDirectoryARN_+    }   -- | Published schema Amazon Resource Name (ARN) that needs to be copied. For more information, see 'arns' . asPublishedSchemaARN :: Lens' ApplySchema Text-asPublishedSchemaARN = lens _asPublishedSchemaARN (\ s a -> s{_asPublishedSchemaARN = a});+asPublishedSchemaARN = lens _asPublishedSchemaARN (\ s a -> s{_asPublishedSchemaARN = a})  -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' into which the schema is copied. For more information, see 'arns' . asDirectoryARN :: Lens' ApplySchema Text-asDirectoryARN = lens _asDirectoryARN (\ s a -> s{_asDirectoryARN = a});+asDirectoryARN = lens _asDirectoryARN (\ s a -> s{_asDirectoryARN = a})  instance AWSRequest ApplySchema where         type Rs ApplySchema = ApplySchemaResponse@@ -134,22 +134,22 @@     -> ApplySchemaResponse applySchemaResponse pResponseStatus_ =   ApplySchemaResponse'-  { _asrsDirectoryARN = Nothing-  , _asrsAppliedSchemaARN = Nothing-  , _asrsResponseStatus = pResponseStatus_-  }+    { _asrsDirectoryARN = Nothing+    , _asrsAppliedSchemaARN = Nothing+    , _asrsResponseStatus = pResponseStatus_+    }   -- | The ARN that is associated with the 'Directory' . For more information, see 'arns' . asrsDirectoryARN :: Lens' ApplySchemaResponse (Maybe Text)-asrsDirectoryARN = lens _asrsDirectoryARN (\ s a -> s{_asrsDirectoryARN = a});+asrsDirectoryARN = lens _asrsDirectoryARN (\ s a -> s{_asrsDirectoryARN = a})  -- | The applied schema ARN that is associated with the copied schema in the 'Directory' . You can use this ARN to describe the schema information applied on this directory. For more information, see 'arns' . asrsAppliedSchemaARN :: Lens' ApplySchemaResponse (Maybe Text)-asrsAppliedSchemaARN = lens _asrsAppliedSchemaARN (\ s a -> s{_asrsAppliedSchemaARN = a});+asrsAppliedSchemaARN = lens _asrsAppliedSchemaARN (\ s a -> s{_asrsAppliedSchemaARN = a})  -- | -- | The response status code. asrsResponseStatus :: Lens' ApplySchemaResponse Int-asrsResponseStatus = lens _asrsResponseStatus (\ s a -> s{_asrsResponseStatus = a});+asrsResponseStatus = lens _asrsResponseStatus (\ s a -> s{_asrsResponseStatus = a})  instance NFData ApplySchemaResponse where
gen/Network/AWS/CloudDirectory/AttachObject.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.AttachObject--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -81,28 +81,28 @@     -> AttachObject attachObject pDirectoryARN_ pParentReference_ pChildReference_ pLinkName_ =   AttachObject'-  { _aoDirectoryARN = pDirectoryARN_-  , _aoParentReference = pParentReference_-  , _aoChildReference = pChildReference_-  , _aoLinkName = pLinkName_-  }+    { _aoDirectoryARN = pDirectoryARN_+    , _aoParentReference = pParentReference_+    , _aoChildReference = pChildReference_+    , _aoLinkName = pLinkName_+    }   -- | Amazon Resource Name (ARN) that is associated with the 'Directory' where both objects reside. For more information, see 'arns' . aoDirectoryARN :: Lens' AttachObject Text-aoDirectoryARN = lens _aoDirectoryARN (\ s a -> s{_aoDirectoryARN = a});+aoDirectoryARN = lens _aoDirectoryARN (\ s a -> s{_aoDirectoryARN = a})  -- | The parent object reference. aoParentReference :: Lens' AttachObject ObjectReference-aoParentReference = lens _aoParentReference (\ s a -> s{_aoParentReference = a});+aoParentReference = lens _aoParentReference (\ s a -> s{_aoParentReference = a})  -- | The child object reference to be attached to the object. aoChildReference :: Lens' AttachObject ObjectReference-aoChildReference = lens _aoChildReference (\ s a -> s{_aoChildReference = a});+aoChildReference = lens _aoChildReference (\ s a -> s{_aoChildReference = a})  -- | The link name with which the child object is attached to the parent. aoLinkName :: Lens' AttachObject Text-aoLinkName = lens _aoLinkName (\ s a -> s{_aoLinkName = a});+aoLinkName = lens _aoLinkName (\ s a -> s{_aoLinkName = a})  instance AWSRequest AttachObject where         type Rs AttachObject = AttachObjectResponse@@ -157,17 +157,17 @@     -> AttachObjectResponse attachObjectResponse pResponseStatus_ =   AttachObjectResponse'-  { _aorsAttachedObjectIdentifier = Nothing-  , _aorsResponseStatus = pResponseStatus_-  }+    { _aorsAttachedObjectIdentifier = Nothing+    , _aorsResponseStatus = pResponseStatus_+    }   -- | The attached @ObjectIdentifier@ , which is the child @ObjectIdentifier@ . aorsAttachedObjectIdentifier :: Lens' AttachObjectResponse (Maybe Text)-aorsAttachedObjectIdentifier = lens _aorsAttachedObjectIdentifier (\ s a -> s{_aorsAttachedObjectIdentifier = a});+aorsAttachedObjectIdentifier = lens _aorsAttachedObjectIdentifier (\ s a -> s{_aorsAttachedObjectIdentifier = a})  -- | -- | The response status code. aorsResponseStatus :: Lens' AttachObjectResponse Int-aorsResponseStatus = lens _aorsResponseStatus (\ s a -> s{_aorsResponseStatus = a});+aorsResponseStatus = lens _aorsResponseStatus (\ s a -> s{_aorsResponseStatus = a})  instance NFData AttachObjectResponse where
gen/Network/AWS/CloudDirectory/AttachPolicy.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.AttachPolicy--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -47,7 +47,7 @@  -- | /See:/ 'attachPolicy' smart constructor. data AttachPolicy = AttachPolicy'-  { _apDirectoryARN    :: !(Maybe Text)+  { _apDirectoryARN    :: !Text   , _apPolicyReference :: !ObjectReference   , _apObjectReference :: !ObjectReference   } deriving (Eq, Read, Show, Data, Typeable, Generic)@@ -63,28 +63,29 @@ -- -- * 'apObjectReference' - The reference that identifies the object to which the policy will be attached. attachPolicy-    :: ObjectReference -- ^ 'apPolicyReference'+    :: Text -- ^ 'apDirectoryARN'+    -> ObjectReference -- ^ 'apPolicyReference'     -> ObjectReference -- ^ 'apObjectReference'     -> AttachPolicy-attachPolicy pPolicyReference_ pObjectReference_ =+attachPolicy pDirectoryARN_ pPolicyReference_ pObjectReference_ =   AttachPolicy'-  { _apDirectoryARN = Nothing-  , _apPolicyReference = pPolicyReference_-  , _apObjectReference = pObjectReference_-  }+    { _apDirectoryARN = pDirectoryARN_+    , _apPolicyReference = pPolicyReference_+    , _apObjectReference = pObjectReference_+    }   -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' where both objects reside. For more information, see 'arns' .-apDirectoryARN :: Lens' AttachPolicy (Maybe Text)-apDirectoryARN = lens _apDirectoryARN (\ s a -> s{_apDirectoryARN = a});+apDirectoryARN :: Lens' AttachPolicy Text+apDirectoryARN = lens _apDirectoryARN (\ s a -> s{_apDirectoryARN = a})  -- | The reference that is associated with the policy object. apPolicyReference :: Lens' AttachPolicy ObjectReference-apPolicyReference = lens _apPolicyReference (\ s a -> s{_apPolicyReference = a});+apPolicyReference = lens _apPolicyReference (\ s a -> s{_apPolicyReference = a})  -- | The reference that identifies the object to which the policy will be attached. apObjectReference :: Lens' AttachPolicy ObjectReference-apObjectReference = lens _apObjectReference (\ s a -> s{_apObjectReference = a});+apObjectReference = lens _apObjectReference (\ s a -> s{_apObjectReference = a})  instance AWSRequest AttachPolicy where         type Rs AttachPolicy = AttachPolicyResponse@@ -137,6 +138,6 @@  -- | -- | The response status code. aprsResponseStatus :: Lens' AttachPolicyResponse Int-aprsResponseStatus = lens _aprsResponseStatus (\ s a -> s{_aprsResponseStatus = a});+aprsResponseStatus = lens _aprsResponseStatus (\ s a -> s{_aprsResponseStatus = a})  instance NFData AttachPolicyResponse where
gen/Network/AWS/CloudDirectory/AttachToIndex.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.AttachToIndex--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,23 +70,23 @@     -> AttachToIndex attachToIndex pDirectoryARN_ pIndexReference_ pTargetReference_ =   AttachToIndex'-  { _atiDirectoryARN = pDirectoryARN_-  , _atiIndexReference = pIndexReference_-  , _atiTargetReference = pTargetReference_-  }+    { _atiDirectoryARN = pDirectoryARN_+    , _atiIndexReference = pIndexReference_+    , _atiTargetReference = pTargetReference_+    }   -- | The Amazon Resource Name (ARN) of the directory where the object and index exist. atiDirectoryARN :: Lens' AttachToIndex Text-atiDirectoryARN = lens _atiDirectoryARN (\ s a -> s{_atiDirectoryARN = a});+atiDirectoryARN = lens _atiDirectoryARN (\ s a -> s{_atiDirectoryARN = a})  -- | A reference to the index that you are attaching the object to. atiIndexReference :: Lens' AttachToIndex ObjectReference-atiIndexReference = lens _atiIndexReference (\ s a -> s{_atiIndexReference = a});+atiIndexReference = lens _atiIndexReference (\ s a -> s{_atiIndexReference = a})  -- | A reference to the object that you are attaching to the index. atiTargetReference :: Lens' AttachToIndex ObjectReference-atiTargetReference = lens _atiTargetReference (\ s a -> s{_atiTargetReference = a});+atiTargetReference = lens _atiTargetReference (\ s a -> s{_atiTargetReference = a})  instance AWSRequest AttachToIndex where         type Rs AttachToIndex = AttachToIndexResponse@@ -141,17 +141,17 @@     -> AttachToIndexResponse attachToIndexResponse pResponseStatus_ =   AttachToIndexResponse'-  { _atirsAttachedObjectIdentifier = Nothing-  , _atirsResponseStatus = pResponseStatus_-  }+    { _atirsAttachedObjectIdentifier = Nothing+    , _atirsResponseStatus = pResponseStatus_+    }   -- | The @ObjectIdentifier@ of the object that was attached to the index. atirsAttachedObjectIdentifier :: Lens' AttachToIndexResponse (Maybe Text)-atirsAttachedObjectIdentifier = lens _atirsAttachedObjectIdentifier (\ s a -> s{_atirsAttachedObjectIdentifier = a});+atirsAttachedObjectIdentifier = lens _atirsAttachedObjectIdentifier (\ s a -> s{_atirsAttachedObjectIdentifier = a})  -- | -- | The response status code. atirsResponseStatus :: Lens' AttachToIndexResponse Int-atirsResponseStatus = lens _atirsResponseStatus (\ s a -> s{_atirsResponseStatus = a});+atirsResponseStatus = lens _atirsResponseStatus (\ s a -> s{_atirsResponseStatus = a})  instance NFData AttachToIndexResponse where
gen/Network/AWS/CloudDirectory/AttachTypedLink.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.AttachTypedLink--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -79,33 +79,33 @@     -> AttachTypedLink attachTypedLink pDirectoryARN_ pSourceObjectReference_ pTargetObjectReference_ pTypedLinkFacet_ =   AttachTypedLink'-  { _atlDirectoryARN = pDirectoryARN_-  , _atlSourceObjectReference = pSourceObjectReference_-  , _atlTargetObjectReference = pTargetObjectReference_-  , _atlTypedLinkFacet = pTypedLinkFacet_-  , _atlAttributes = mempty-  }+    { _atlDirectoryARN = pDirectoryARN_+    , _atlSourceObjectReference = pSourceObjectReference_+    , _atlTargetObjectReference = pTargetObjectReference_+    , _atlTypedLinkFacet = pTypedLinkFacet_+    , _atlAttributes = mempty+    }   -- | The Amazon Resource Name (ARN) of the directory where you want to attach the typed link. atlDirectoryARN :: Lens' AttachTypedLink Text-atlDirectoryARN = lens _atlDirectoryARN (\ s a -> s{_atlDirectoryARN = a});+atlDirectoryARN = lens _atlDirectoryARN (\ s a -> s{_atlDirectoryARN = a})  -- | Identifies the source object that the typed link will attach to. atlSourceObjectReference :: Lens' AttachTypedLink ObjectReference-atlSourceObjectReference = lens _atlSourceObjectReference (\ s a -> s{_atlSourceObjectReference = a});+atlSourceObjectReference = lens _atlSourceObjectReference (\ s a -> s{_atlSourceObjectReference = a})  -- | Identifies the target object that the typed link will attach to. atlTargetObjectReference :: Lens' AttachTypedLink ObjectReference-atlTargetObjectReference = lens _atlTargetObjectReference (\ s a -> s{_atlTargetObjectReference = a});+atlTargetObjectReference = lens _atlTargetObjectReference (\ s a -> s{_atlTargetObjectReference = a})  -- | Identifies the typed link facet that is associated with the typed link. atlTypedLinkFacet :: Lens' AttachTypedLink TypedLinkSchemaAndFacetName-atlTypedLinkFacet = lens _atlTypedLinkFacet (\ s a -> s{_atlTypedLinkFacet = a});+atlTypedLinkFacet = lens _atlTypedLinkFacet (\ s a -> s{_atlTypedLinkFacet = a})  -- | A set of attributes that are associated with the typed link. atlAttributes :: Lens' AttachTypedLink [AttributeNameAndValue]-atlAttributes = lens _atlAttributes (\ s a -> s{_atlAttributes = a}) . _Coerce;+atlAttributes = lens _atlAttributes (\ s a -> s{_atlAttributes = a}) . _Coerce  instance AWSRequest AttachTypedLink where         type Rs AttachTypedLink = AttachTypedLinkResponse@@ -165,15 +165,17 @@     -> AttachTypedLinkResponse attachTypedLinkResponse pResponseStatus_ =   AttachTypedLinkResponse'-  {_atlrsTypedLinkSpecifier = Nothing, _atlrsResponseStatus = pResponseStatus_}+    { _atlrsTypedLinkSpecifier = Nothing+    , _atlrsResponseStatus = pResponseStatus_+    }   -- | Returns a typed link specifier as output. atlrsTypedLinkSpecifier :: Lens' AttachTypedLinkResponse (Maybe TypedLinkSpecifier)-atlrsTypedLinkSpecifier = lens _atlrsTypedLinkSpecifier (\ s a -> s{_atlrsTypedLinkSpecifier = a});+atlrsTypedLinkSpecifier = lens _atlrsTypedLinkSpecifier (\ s a -> s{_atlrsTypedLinkSpecifier = a})  -- | -- | The response status code. atlrsResponseStatus :: Lens' AttachTypedLinkResponse Int-atlrsResponseStatus = lens _atlrsResponseStatus (\ s a -> s{_atlrsResponseStatus = a});+atlrsResponseStatus = lens _atlrsResponseStatus (\ s a -> s{_atlrsResponseStatus = a})  instance NFData AttachTypedLinkResponse where
gen/Network/AWS/CloudDirectory/BatchRead.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.BatchRead--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,23 +68,23 @@     -> BatchRead batchRead pDirectoryARN_ =   BatchRead'-  { _brConsistencyLevel = Nothing-  , _brDirectoryARN = pDirectoryARN_-  , _brOperations = mempty-  }+    { _brConsistencyLevel = Nothing+    , _brDirectoryARN = pDirectoryARN_+    , _brOperations = mempty+    }   -- | Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object. brConsistencyLevel :: Lens' BatchRead (Maybe ConsistencyLevel)-brConsistencyLevel = lens _brConsistencyLevel (\ s a -> s{_brConsistencyLevel = a});+brConsistencyLevel = lens _brConsistencyLevel (\ s a -> s{_brConsistencyLevel = a})  -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' . For more information, see 'arns' . brDirectoryARN :: Lens' BatchRead Text-brDirectoryARN = lens _brDirectoryARN (\ s a -> s{_brDirectoryARN = a});+brDirectoryARN = lens _brDirectoryARN (\ s a -> s{_brDirectoryARN = a})  -- | A list of operations that are part of the batch. brOperations :: Lens' BatchRead [BatchReadOperation]-brOperations = lens _brOperations (\ s a -> s{_brOperations = a}) . _Coerce;+brOperations = lens _brOperations (\ s a -> s{_brOperations = a}) . _Coerce  instance AWSRequest BatchRead where         type Rs BatchRead = BatchReadResponse@@ -137,15 +137,15 @@     -> BatchReadResponse batchReadResponse pResponseStatus_ =   BatchReadResponse'-  {_brrsResponses = Nothing, _brrsResponseStatus = pResponseStatus_}+    {_brrsResponses = Nothing, _brrsResponseStatus = pResponseStatus_}   -- | A list of all the responses for each batch read. brrsResponses :: Lens' BatchReadResponse [BatchReadOperationResponse]-brrsResponses = lens _brrsResponses (\ s a -> s{_brrsResponses = a}) . _Default . _Coerce;+brrsResponses = lens _brrsResponses (\ s a -> s{_brrsResponses = a}) . _Default . _Coerce  -- | -- | The response status code. brrsResponseStatus :: Lens' BatchReadResponse Int-brrsResponseStatus = lens _brrsResponseStatus (\ s a -> s{_brrsResponseStatus = a});+brrsResponseStatus = lens _brrsResponseStatus (\ s a -> s{_brrsResponseStatus = a})  instance NFData BatchReadResponse where
gen/Network/AWS/CloudDirectory/BatchWrite.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.CloudDirectory.BatchWrite--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 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) ----- Performs all the write operations in a batch. Either all the operations succeed or none. Batch writes supports only object-related operations.+-- Performs all the write operations in a batch. Either all the operations succeed or none. -- -- module Network.AWS.CloudDirectory.BatchWrite@@ -68,11 +68,11 @@  -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' . For more information, see 'arns' . bwDirectoryARN :: Lens' BatchWrite Text-bwDirectoryARN = lens _bwDirectoryARN (\ s a -> s{_bwDirectoryARN = a});+bwDirectoryARN = lens _bwDirectoryARN (\ s a -> s{_bwDirectoryARN = a})  -- | A list of operations that are part of the batch. bwOperations :: Lens' BatchWrite [BatchWriteOperation]-bwOperations = lens _bwOperations (\ s a -> s{_bwOperations = a}) . _Coerce;+bwOperations = lens _bwOperations (\ s a -> s{_bwOperations = a}) . _Coerce  instance AWSRequest BatchWrite where         type Rs BatchWrite = BatchWriteResponse@@ -123,15 +123,15 @@     -> BatchWriteResponse batchWriteResponse pResponseStatus_ =   BatchWriteResponse'-  {_bwrsResponses = Nothing, _bwrsResponseStatus = pResponseStatus_}+    {_bwrsResponses = Nothing, _bwrsResponseStatus = pResponseStatus_}   -- | A list of all the responses for each batch write. bwrsResponses :: Lens' BatchWriteResponse [BatchWriteOperationResponse]-bwrsResponses = lens _bwrsResponses (\ s a -> s{_bwrsResponses = a}) . _Default . _Coerce;+bwrsResponses = lens _bwrsResponses (\ s a -> s{_bwrsResponses = a}) . _Default . _Coerce  -- | -- | The response status code. bwrsResponseStatus :: Lens' BatchWriteResponse Int-bwrsResponseStatus = lens _bwrsResponseStatus (\ s a -> s{_bwrsResponseStatus = a});+bwrsResponseStatus = lens _bwrsResponseStatus (\ s a -> s{_bwrsResponseStatus = a})  instance NFData BatchWriteResponse where
gen/Network/AWS/CloudDirectory/CreateDirectory.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.CreateDirectory--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -72,11 +72,11 @@  -- | The name of the 'Directory' . Should be unique per account, per region. cdName :: Lens' CreateDirectory Text-cdName = lens _cdName (\ s a -> s{_cdName = a});+cdName = lens _cdName (\ s a -> s{_cdName = a})  -- | The Amazon Resource Name (ARN) of the published schema that will be copied into the data 'Directory' . For more information, see 'arns' . cdSchemaARN :: Lens' CreateDirectory Text-cdSchemaARN = lens _cdSchemaARN (\ s a -> s{_cdSchemaARN = a});+cdSchemaARN = lens _cdSchemaARN (\ s a -> s{_cdSchemaARN = a})  instance AWSRequest CreateDirectory where         type Rs CreateDirectory = CreateDirectoryResponse@@ -142,32 +142,32 @@     -> CreateDirectoryResponse createDirectoryResponse pResponseStatus_ pDirectoryARN_ pName_ pObjectIdentifier_ pAppliedSchemaARN_ =   CreateDirectoryResponse'-  { _cdrsResponseStatus = pResponseStatus_-  , _cdrsDirectoryARN = pDirectoryARN_-  , _cdrsName = pName_-  , _cdrsObjectIdentifier = pObjectIdentifier_-  , _cdrsAppliedSchemaARN = pAppliedSchemaARN_-  }+    { _cdrsResponseStatus = pResponseStatus_+    , _cdrsDirectoryARN = pDirectoryARN_+    , _cdrsName = pName_+    , _cdrsObjectIdentifier = pObjectIdentifier_+    , _cdrsAppliedSchemaARN = pAppliedSchemaARN_+    }   -- | -- | The response status code. cdrsResponseStatus :: Lens' CreateDirectoryResponse Int-cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a});+cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a})  -- | The ARN that is associated with the 'Directory' . For more information, see 'arns' . cdrsDirectoryARN :: Lens' CreateDirectoryResponse Text-cdrsDirectoryARN = lens _cdrsDirectoryARN (\ s a -> s{_cdrsDirectoryARN = a});+cdrsDirectoryARN = lens _cdrsDirectoryARN (\ s a -> s{_cdrsDirectoryARN = a})  -- | The name of the 'Directory' . cdrsName :: Lens' CreateDirectoryResponse Text-cdrsName = lens _cdrsName (\ s a -> s{_cdrsName = a});+cdrsName = lens _cdrsName (\ s a -> s{_cdrsName = a})  -- | The root object node of the created directory. cdrsObjectIdentifier :: Lens' CreateDirectoryResponse Text-cdrsObjectIdentifier = lens _cdrsObjectIdentifier (\ s a -> s{_cdrsObjectIdentifier = a});+cdrsObjectIdentifier = lens _cdrsObjectIdentifier (\ s a -> s{_cdrsObjectIdentifier = a})  -- | The ARN of the published schema in the 'Directory' . Once a published schema is copied into the directory, it has its own ARN, which is referred to applied schema ARN. For more information, see 'arns' . cdrsAppliedSchemaARN :: Lens' CreateDirectoryResponse Text-cdrsAppliedSchemaARN = lens _cdrsAppliedSchemaARN (\ s a -> s{_cdrsAppliedSchemaARN = a});+cdrsAppliedSchemaARN = lens _cdrsAppliedSchemaARN (\ s a -> s{_cdrsAppliedSchemaARN = a})  instance NFData CreateDirectoryResponse where
gen/Network/AWS/CloudDirectory/CreateFacet.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.CreateFacet--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     -> CreateFacet createFacet pSchemaARN_ pName_ pObjectType_ =   CreateFacet'-  { _cfAttributes = Nothing-  , _cfSchemaARN = pSchemaARN_-  , _cfName = pName_-  , _cfObjectType = pObjectType_-  }+    { _cfAttributes = Nothing+    , _cfSchemaARN = pSchemaARN_+    , _cfName = pName_+    , _cfObjectType = pObjectType_+    }   -- | The attributes that are associated with the 'Facet' . cfAttributes :: Lens' CreateFacet [FacetAttribute]-cfAttributes = lens _cfAttributes (\ s a -> s{_cfAttributes = a}) . _Default . _Coerce;+cfAttributes = lens _cfAttributes (\ s a -> s{_cfAttributes = a}) . _Default . _Coerce  -- | The schema ARN in which the new 'Facet' will be created. For more information, see 'arns' . cfSchemaARN :: Lens' CreateFacet Text-cfSchemaARN = lens _cfSchemaARN (\ s a -> s{_cfSchemaARN = a});+cfSchemaARN = lens _cfSchemaARN (\ s a -> s{_cfSchemaARN = a})  -- | The name of the 'Facet' , which is unique for a given schema. cfName :: Lens' CreateFacet Text-cfName = lens _cfName (\ s a -> s{_cfName = a});+cfName = lens _cfName (\ s a -> s{_cfName = a})  -- | Specifies whether a given object created from this facet is of type node, leaf node, policy or index.     * Node: Can have multiple children but one parent.     * Leaf node: Cannot have children but can have multiple parents.     * Policy: Allows you to store a policy document and policy type. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .     * Index: Can be created with the Index API. cfObjectType :: Lens' CreateFacet ObjectType-cfObjectType = lens _cfObjectType (\ s a -> s{_cfObjectType = a});+cfObjectType = lens _cfObjectType (\ s a -> s{_cfObjectType = a})  instance AWSRequest CreateFacet where         type Rs CreateFacet = CreateFacetResponse@@ -148,6 +148,6 @@  -- | -- | The response status code. cfrsResponseStatus :: Lens' CreateFacetResponse Int-cfrsResponseStatus = lens _cfrsResponseStatus (\ s a -> s{_cfrsResponseStatus = a});+cfrsResponseStatus = lens _cfrsResponseStatus (\ s a -> s{_cfrsResponseStatus = a})  instance NFData CreateFacetResponse where
gen/Network/AWS/CloudDirectory/CreateIndex.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.CreateIndex--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -77,33 +77,33 @@     -> CreateIndex createIndex pDirectoryARN_ pIsUnique_ =   CreateIndex'-  { _ciParentReference = Nothing-  , _ciLinkName = Nothing-  , _ciDirectoryARN = pDirectoryARN_-  , _ciOrderedIndexedAttributeList = mempty-  , _ciIsUnique = pIsUnique_-  }+    { _ciParentReference = Nothing+    , _ciLinkName = Nothing+    , _ciDirectoryARN = pDirectoryARN_+    , _ciOrderedIndexedAttributeList = mempty+    , _ciIsUnique = pIsUnique_+    }   -- | A reference to the parent object that contains the index object. ciParentReference :: Lens' CreateIndex (Maybe ObjectReference)-ciParentReference = lens _ciParentReference (\ s a -> s{_ciParentReference = a});+ciParentReference = lens _ciParentReference (\ s a -> s{_ciParentReference = a})  -- | The name of the link between the parent object and the index object. ciLinkName :: Lens' CreateIndex (Maybe Text)-ciLinkName = lens _ciLinkName (\ s a -> s{_ciLinkName = a});+ciLinkName = lens _ciLinkName (\ s a -> s{_ciLinkName = a})  -- | The ARN of the directory where the index should be created. ciDirectoryARN :: Lens' CreateIndex Text-ciDirectoryARN = lens _ciDirectoryARN (\ s a -> s{_ciDirectoryARN = a});+ciDirectoryARN = lens _ciDirectoryARN (\ s a -> s{_ciDirectoryARN = a})  -- | Specifies the attributes that should be indexed on. Currently only a single attribute is supported. ciOrderedIndexedAttributeList :: Lens' CreateIndex [AttributeKey]-ciOrderedIndexedAttributeList = lens _ciOrderedIndexedAttributeList (\ s a -> s{_ciOrderedIndexedAttributeList = a}) . _Coerce;+ciOrderedIndexedAttributeList = lens _ciOrderedIndexedAttributeList (\ s a -> s{_ciOrderedIndexedAttributeList = a}) . _Coerce  -- | Indicates whether the attribute that is being indexed has unique values or not. ciIsUnique :: Lens' CreateIndex Bool-ciIsUnique = lens _ciIsUnique (\ s a -> s{_ciIsUnique = a});+ciIsUnique = lens _ciIsUnique (\ s a -> s{_ciIsUnique = a})  instance AWSRequest CreateIndex where         type Rs CreateIndex = CreateIndexResponse@@ -159,15 +159,15 @@     -> CreateIndexResponse createIndexResponse pResponseStatus_ =   CreateIndexResponse'-  {_cirsObjectIdentifier = Nothing, _cirsResponseStatus = pResponseStatus_}+    {_cirsObjectIdentifier = Nothing, _cirsResponseStatus = pResponseStatus_}   -- | The @ObjectIdentifier@ of the index created by this operation. cirsObjectIdentifier :: Lens' CreateIndexResponse (Maybe Text)-cirsObjectIdentifier = lens _cirsObjectIdentifier (\ s a -> s{_cirsObjectIdentifier = a});+cirsObjectIdentifier = lens _cirsObjectIdentifier (\ s a -> s{_cirsObjectIdentifier = a})  -- | -- | The response status code. cirsResponseStatus :: Lens' CreateIndexResponse Int-cirsResponseStatus = lens _cirsResponseStatus (\ s a -> s{_cirsResponseStatus = a});+cirsResponseStatus = lens _cirsResponseStatus (\ s a -> s{_cirsResponseStatus = a})  instance NFData CreateIndexResponse where
gen/Network/AWS/CloudDirectory/CreateObject.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.CreateObject--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,39 +70,39 @@ -- -- * 'coDirectoryARN' - The Amazon Resource Name (ARN) that is associated with the 'Directory' in which the object will be created. For more information, see 'arns' . ----- * 'coSchemaFacets' - A list of schema facets to be associated with the object that contains @SchemaArn@ and facet name. For more information, see 'arns' .+-- * 'coSchemaFacets' - A list of schema facets to be associated with the object. Do not provide minor version components. See 'SchemaFacet' for details. createObject     :: Text -- ^ 'coDirectoryARN'     -> CreateObject createObject pDirectoryARN_ =   CreateObject'-  { _coParentReference = Nothing-  , _coObjectAttributeList = Nothing-  , _coLinkName = Nothing-  , _coDirectoryARN = pDirectoryARN_-  , _coSchemaFacets = mempty-  }+    { _coParentReference = Nothing+    , _coObjectAttributeList = Nothing+    , _coLinkName = Nothing+    , _coDirectoryARN = pDirectoryARN_+    , _coSchemaFacets = mempty+    }   -- | If specified, the parent reference to which this object will be attached. coParentReference :: Lens' CreateObject (Maybe ObjectReference)-coParentReference = lens _coParentReference (\ s a -> s{_coParentReference = a});+coParentReference = lens _coParentReference (\ s a -> s{_coParentReference = a})  -- | The attribute map whose attribute ARN contains the key and attribute value as the map value. coObjectAttributeList :: Lens' CreateObject [AttributeKeyAndValue]-coObjectAttributeList = lens _coObjectAttributeList (\ s a -> s{_coObjectAttributeList = a}) . _Default . _Coerce;+coObjectAttributeList = lens _coObjectAttributeList (\ s a -> s{_coObjectAttributeList = a}) . _Default . _Coerce  -- | The name of link that is used to attach this object to a parent. coLinkName :: Lens' CreateObject (Maybe Text)-coLinkName = lens _coLinkName (\ s a -> s{_coLinkName = a});+coLinkName = lens _coLinkName (\ s a -> s{_coLinkName = a})  -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' in which the object will be created. For more information, see 'arns' . coDirectoryARN :: Lens' CreateObject Text-coDirectoryARN = lens _coDirectoryARN (\ s a -> s{_coDirectoryARN = a});+coDirectoryARN = lens _coDirectoryARN (\ s a -> s{_coDirectoryARN = a}) --- | A list of schema facets to be associated with the object that contains @SchemaArn@ and facet name. For more information, see 'arns' .+-- | A list of schema facets to be associated with the object. Do not provide minor version components. See 'SchemaFacet' for details. coSchemaFacets :: Lens' CreateObject [SchemaFacet]-coSchemaFacets = lens _coSchemaFacets (\ s a -> s{_coSchemaFacets = a}) . _Coerce;+coSchemaFacets = lens _coSchemaFacets (\ s a -> s{_coSchemaFacets = a}) . _Coerce  instance AWSRequest CreateObject where         type Rs CreateObject = CreateObjectResponse@@ -157,15 +157,15 @@     -> CreateObjectResponse createObjectResponse pResponseStatus_ =   CreateObjectResponse'-  {_corsObjectIdentifier = Nothing, _corsResponseStatus = pResponseStatus_}+    {_corsObjectIdentifier = Nothing, _corsResponseStatus = pResponseStatus_}   -- | The identifier that is associated with the object. corsObjectIdentifier :: Lens' CreateObjectResponse (Maybe Text)-corsObjectIdentifier = lens _corsObjectIdentifier (\ s a -> s{_corsObjectIdentifier = a});+corsObjectIdentifier = lens _corsObjectIdentifier (\ s a -> s{_corsObjectIdentifier = a})  -- | -- | The response status code. corsResponseStatus :: Lens' CreateObjectResponse Int-corsResponseStatus = lens _corsResponseStatus (\ s a -> s{_corsResponseStatus = a});+corsResponseStatus = lens _corsResponseStatus (\ s a -> s{_corsResponseStatus = a})  instance NFData CreateObjectResponse where
gen/Network/AWS/CloudDirectory/CreateSchema.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.CreateSchema--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -71,7 +71,7 @@  -- | The name that is associated with the schema. This is unique to each account and in each region. csName :: Lens' CreateSchema Text-csName = lens _csName (\ s a -> s{_csName = a});+csName = lens _csName (\ s a -> s{_csName = a})  instance AWSRequest CreateSchema where         type Rs CreateSchema = CreateSchemaResponse@@ -120,15 +120,15 @@     -> CreateSchemaResponse createSchemaResponse pResponseStatus_ =   CreateSchemaResponse'-  {_csrsSchemaARN = Nothing, _csrsResponseStatus = pResponseStatus_}+    {_csrsSchemaARN = Nothing, _csrsResponseStatus = pResponseStatus_}   -- | The Amazon Resource Name (ARN) that is associated with the schema. For more information, see 'arns' . csrsSchemaARN :: Lens' CreateSchemaResponse (Maybe Text)-csrsSchemaARN = lens _csrsSchemaARN (\ s a -> s{_csrsSchemaARN = a});+csrsSchemaARN = lens _csrsSchemaARN (\ s a -> s{_csrsSchemaARN = a})  -- | -- | The response status code. csrsResponseStatus :: Lens' CreateSchemaResponse Int-csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a});+csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a})  instance NFData CreateSchemaResponse where
gen/Network/AWS/CloudDirectory/CreateTypedLinkFacet.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.CreateTypedLinkFacet--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,11 +68,11 @@  -- | The Amazon Resource Name (ARN) that is associated with the schema. For more information, see 'arns' . ctlfSchemaARN :: Lens' CreateTypedLinkFacet Text-ctlfSchemaARN = lens _ctlfSchemaARN (\ s a -> s{_ctlfSchemaARN = a});+ctlfSchemaARN = lens _ctlfSchemaARN (\ s a -> s{_ctlfSchemaARN = a})  -- | 'Facet' structure that is associated with the typed link facet. ctlfFacet :: Lens' CreateTypedLinkFacet TypedLinkFacet-ctlfFacet = lens _ctlfFacet (\ s a -> s{_ctlfFacet = a});+ctlfFacet = lens _ctlfFacet (\ s a -> s{_ctlfFacet = a})  instance AWSRequest CreateTypedLinkFacet where         type Rs CreateTypedLinkFacet =@@ -124,6 +124,6 @@  -- | -- | The response status code. ctlfrsResponseStatus :: Lens' CreateTypedLinkFacetResponse Int-ctlfrsResponseStatus = lens _ctlfrsResponseStatus (\ s a -> s{_ctlfrsResponseStatus = a});+ctlfrsResponseStatus = lens _ctlfrsResponseStatus (\ s a -> s{_ctlfrsResponseStatus = a})  instance NFData CreateTypedLinkFacetResponse where
gen/Network/AWS/CloudDirectory/DeleteDirectory.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.DeleteDirectory--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The ARN of the directory to delete. delDirectoryARN :: Lens' DeleteDirectory Text-delDirectoryARN = lens _delDirectoryARN (\ s a -> s{_delDirectoryARN = a});+delDirectoryARN = lens _delDirectoryARN (\ s a -> s{_delDirectoryARN = a})  instance AWSRequest DeleteDirectory where         type Rs DeleteDirectory = DeleteDirectoryResponse@@ -114,15 +114,15 @@     -> DeleteDirectoryResponse deleteDirectoryResponse pResponseStatus_ pDirectoryARN_ =   DeleteDirectoryResponse'-  {_ddrsResponseStatus = pResponseStatus_, _ddrsDirectoryARN = pDirectoryARN_}+    {_ddrsResponseStatus = pResponseStatus_, _ddrsDirectoryARN = pDirectoryARN_}   -- | -- | The response status code. ddrsResponseStatus :: Lens' DeleteDirectoryResponse Int-ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a});+ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a})  -- | The ARN of the deleted directory. ddrsDirectoryARN :: Lens' DeleteDirectoryResponse Text-ddrsDirectoryARN = lens _ddrsDirectoryARN (\ s a -> s{_ddrsDirectoryARN = a});+ddrsDirectoryARN = lens _ddrsDirectoryARN (\ s a -> s{_ddrsDirectoryARN = a})  instance NFData DeleteDirectoryResponse where
gen/Network/AWS/CloudDirectory/DeleteFacet.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.DeleteFacet--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,11 +68,11 @@  -- | The Amazon Resource Name (ARN) that is associated with the 'Facet' . For more information, see 'arns' . dfSchemaARN :: Lens' DeleteFacet Text-dfSchemaARN = lens _dfSchemaARN (\ s a -> s{_dfSchemaARN = a});+dfSchemaARN = lens _dfSchemaARN (\ s a -> s{_dfSchemaARN = a})  -- | The name of the facet to delete. dfName :: Lens' DeleteFacet Text-dfName = lens _dfName (\ s a -> s{_dfName = a});+dfName = lens _dfName (\ s a -> s{_dfName = a})  instance AWSRequest DeleteFacet where         type Rs DeleteFacet = DeleteFacetResponse@@ -122,6 +122,6 @@  -- | -- | The response status code. dfrsResponseStatus :: Lens' DeleteFacetResponse Int-dfrsResponseStatus = lens _dfrsResponseStatus (\ s a -> s{_dfrsResponseStatus = a});+dfrsResponseStatus = lens _dfrsResponseStatus (\ s a -> s{_dfrsResponseStatus = a})  instance NFData DeleteFacetResponse where
gen/Network/AWS/CloudDirectory/DeleteObject.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.DeleteObject--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,16 +64,16 @@     -> DeleteObject deleteObject pDirectoryARN_ pObjectReference_ =   DeleteObject'-  {_doDirectoryARN = pDirectoryARN_, _doObjectReference = pObjectReference_}+    {_doDirectoryARN = pDirectoryARN_, _doObjectReference = pObjectReference_}   -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' where the object resides. For more information, see 'arns' . doDirectoryARN :: Lens' DeleteObject Text-doDirectoryARN = lens _doDirectoryARN (\ s a -> s{_doDirectoryARN = a});+doDirectoryARN = lens _doDirectoryARN (\ s a -> s{_doDirectoryARN = a})  -- | A reference that identifies the object. doObjectReference :: Lens' DeleteObject ObjectReference-doObjectReference = lens _doObjectReference (\ s a -> s{_doObjectReference = a});+doObjectReference = lens _doObjectReference (\ s a -> s{_doObjectReference = a})  instance AWSRequest DeleteObject where         type Rs DeleteObject = DeleteObjectResponse@@ -125,6 +125,6 @@  -- | -- | The response status code. dorsResponseStatus :: Lens' DeleteObjectResponse Int-dorsResponseStatus = lens _dorsResponseStatus (\ s a -> s{_dorsResponseStatus = a});+dorsResponseStatus = lens _dorsResponseStatus (\ s a -> s{_dorsResponseStatus = a})  instance NFData DeleteObjectResponse where
gen/Network/AWS/CloudDirectory/DeleteSchema.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.DeleteSchema--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The Amazon Resource Name (ARN) of the development schema. For more information, see 'arns' . dsSchemaARN :: Lens' DeleteSchema Text-dsSchemaARN = lens _dsSchemaARN (\ s a -> s{_dsSchemaARN = a});+dsSchemaARN = lens _dsSchemaARN (\ s a -> s{_dsSchemaARN = a})  instance AWSRequest DeleteSchema where         type Rs DeleteSchema = DeleteSchemaResponse@@ -111,15 +111,15 @@     -> DeleteSchemaResponse deleteSchemaResponse pResponseStatus_ =   DeleteSchemaResponse'-  {_dsrsSchemaARN = Nothing, _dsrsResponseStatus = pResponseStatus_}+    {_dsrsSchemaARN = Nothing, _dsrsResponseStatus = pResponseStatus_}   -- | The input ARN that is returned as part of the response. For more information, see 'arns' . dsrsSchemaARN :: Lens' DeleteSchemaResponse (Maybe Text)-dsrsSchemaARN = lens _dsrsSchemaARN (\ s a -> s{_dsrsSchemaARN = a});+dsrsSchemaARN = lens _dsrsSchemaARN (\ s a -> s{_dsrsSchemaARN = a})  -- | -- | The response status code. dsrsResponseStatus :: Lens' DeleteSchemaResponse Int-dsrsResponseStatus = lens _dsrsResponseStatus (\ s a -> s{_dsrsResponseStatus = a});+dsrsResponseStatus = lens _dsrsResponseStatus (\ s a -> s{_dsrsResponseStatus = a})  instance NFData DeleteSchemaResponse where
gen/Network/AWS/CloudDirectory/DeleteTypedLinkFacet.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.DeleteTypedLinkFacet--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,11 +68,11 @@  -- | The Amazon Resource Name (ARN) that is associated with the schema. For more information, see 'arns' . dtlfSchemaARN :: Lens' DeleteTypedLinkFacet Text-dtlfSchemaARN = lens _dtlfSchemaARN (\ s a -> s{_dtlfSchemaARN = a});+dtlfSchemaARN = lens _dtlfSchemaARN (\ s a -> s{_dtlfSchemaARN = a})  -- | The unique name of the typed link facet. dtlfName :: Lens' DeleteTypedLinkFacet Text-dtlfName = lens _dtlfName (\ s a -> s{_dtlfName = a});+dtlfName = lens _dtlfName (\ s a -> s{_dtlfName = a})  instance AWSRequest DeleteTypedLinkFacet where         type Rs DeleteTypedLinkFacet =@@ -124,6 +124,6 @@  -- | -- | The response status code. dtlfrsResponseStatus :: Lens' DeleteTypedLinkFacetResponse Int-dtlfrsResponseStatus = lens _dtlfrsResponseStatus (\ s a -> s{_dtlfrsResponseStatus = a});+dtlfrsResponseStatus = lens _dtlfrsResponseStatus (\ s a -> s{_dtlfrsResponseStatus = a})  instance NFData DeleteTypedLinkFacetResponse where
gen/Network/AWS/CloudDirectory/DetachFromIndex.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.DetachFromIndex--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,23 +70,23 @@     -> DetachFromIndex detachFromIndex pDirectoryARN_ pIndexReference_ pTargetReference_ =   DetachFromIndex'-  { _dfiDirectoryARN = pDirectoryARN_-  , _dfiIndexReference = pIndexReference_-  , _dfiTargetReference = pTargetReference_-  }+    { _dfiDirectoryARN = pDirectoryARN_+    , _dfiIndexReference = pIndexReference_+    , _dfiTargetReference = pTargetReference_+    }   -- | The Amazon Resource Name (ARN) of the directory the index and object exist in. dfiDirectoryARN :: Lens' DetachFromIndex Text-dfiDirectoryARN = lens _dfiDirectoryARN (\ s a -> s{_dfiDirectoryARN = a});+dfiDirectoryARN = lens _dfiDirectoryARN (\ s a -> s{_dfiDirectoryARN = a})  -- | A reference to the index object. dfiIndexReference :: Lens' DetachFromIndex ObjectReference-dfiIndexReference = lens _dfiIndexReference (\ s a -> s{_dfiIndexReference = a});+dfiIndexReference = lens _dfiIndexReference (\ s a -> s{_dfiIndexReference = a})  -- | A reference to the object being detached from the index. dfiTargetReference :: Lens' DetachFromIndex ObjectReference-dfiTargetReference = lens _dfiTargetReference (\ s a -> s{_dfiTargetReference = a});+dfiTargetReference = lens _dfiTargetReference (\ s a -> s{_dfiTargetReference = a})  instance AWSRequest DetachFromIndex where         type Rs DetachFromIndex = DetachFromIndexResponse@@ -141,17 +141,17 @@     -> DetachFromIndexResponse detachFromIndexResponse pResponseStatus_ =   DetachFromIndexResponse'-  { _dfirsDetachedObjectIdentifier = Nothing-  , _dfirsResponseStatus = pResponseStatus_-  }+    { _dfirsDetachedObjectIdentifier = Nothing+    , _dfirsResponseStatus = pResponseStatus_+    }   -- | The @ObjectIdentifier@ of the object that was detached from the index. dfirsDetachedObjectIdentifier :: Lens' DetachFromIndexResponse (Maybe Text)-dfirsDetachedObjectIdentifier = lens _dfirsDetachedObjectIdentifier (\ s a -> s{_dfirsDetachedObjectIdentifier = a});+dfirsDetachedObjectIdentifier = lens _dfirsDetachedObjectIdentifier (\ s a -> s{_dfirsDetachedObjectIdentifier = a})  -- | -- | The response status code. dfirsResponseStatus :: Lens' DetachFromIndexResponse Int-dfirsResponseStatus = lens _dfirsResponseStatus (\ s a -> s{_dfirsResponseStatus = a});+dfirsResponseStatus = lens _dfirsResponseStatus (\ s a -> s{_dfirsResponseStatus = a})  instance NFData DetachFromIndexResponse where
gen/Network/AWS/CloudDirectory/DetachObject.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.DetachObject--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,23 +70,23 @@     -> DetachObject detachObject pDirectoryARN_ pParentReference_ pLinkName_ =   DetachObject'-  { _detDirectoryARN = pDirectoryARN_-  , _detParentReference = pParentReference_-  , _detLinkName = pLinkName_-  }+    { _detDirectoryARN = pDirectoryARN_+    , _detParentReference = pParentReference_+    , _detLinkName = pLinkName_+    }   -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' where objects reside. For more information, see 'arns' . detDirectoryARN :: Lens' DetachObject Text-detDirectoryARN = lens _detDirectoryARN (\ s a -> s{_detDirectoryARN = a});+detDirectoryARN = lens _detDirectoryARN (\ s a -> s{_detDirectoryARN = a})  -- | The parent reference from which the object with the specified link name is detached. detParentReference :: Lens' DetachObject ObjectReference-detParentReference = lens _detParentReference (\ s a -> s{_detParentReference = a});+detParentReference = lens _detParentReference (\ s a -> s{_detParentReference = a})  -- | The link name associated with the object that needs to be detached. detLinkName :: Lens' DetachObject Text-detLinkName = lens _detLinkName (\ s a -> s{_detLinkName = a});+detLinkName = lens _detLinkName (\ s a -> s{_detLinkName = a})  instance AWSRequest DetachObject where         type Rs DetachObject = DetachObjectResponse@@ -141,17 +141,17 @@     -> DetachObjectResponse detachObjectResponse pResponseStatus_ =   DetachObjectResponse'-  { _detrsDetachedObjectIdentifier = Nothing-  , _detrsResponseStatus = pResponseStatus_-  }+    { _detrsDetachedObjectIdentifier = Nothing+    , _detrsResponseStatus = pResponseStatus_+    }   -- | The @ObjectIdentifier@ that was detached from the object. detrsDetachedObjectIdentifier :: Lens' DetachObjectResponse (Maybe Text)-detrsDetachedObjectIdentifier = lens _detrsDetachedObjectIdentifier (\ s a -> s{_detrsDetachedObjectIdentifier = a});+detrsDetachedObjectIdentifier = lens _detrsDetachedObjectIdentifier (\ s a -> s{_detrsDetachedObjectIdentifier = a})  -- | -- | The response status code. detrsResponseStatus :: Lens' DetachObjectResponse Int-detrsResponseStatus = lens _detrsResponseStatus (\ s a -> s{_detrsResponseStatus = a});+detrsResponseStatus = lens _detrsResponseStatus (\ s a -> s{_detrsResponseStatus = a})  instance NFData DetachObjectResponse where
gen/Network/AWS/CloudDirectory/DetachPolicy.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.DetachPolicy--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,23 +69,23 @@     -> DetachPolicy detachPolicy pDirectoryARN_ pPolicyReference_ pObjectReference_ =   DetachPolicy'-  { _dpDirectoryARN = pDirectoryARN_-  , _dpPolicyReference = pPolicyReference_-  , _dpObjectReference = pObjectReference_-  }+    { _dpDirectoryARN = pDirectoryARN_+    , _dpPolicyReference = pPolicyReference_+    , _dpObjectReference = pObjectReference_+    }   -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' where both objects reside. For more information, see 'arns' . dpDirectoryARN :: Lens' DetachPolicy Text-dpDirectoryARN = lens _dpDirectoryARN (\ s a -> s{_dpDirectoryARN = a});+dpDirectoryARN = lens _dpDirectoryARN (\ s a -> s{_dpDirectoryARN = a})  -- | Reference that identifies the policy object. dpPolicyReference :: Lens' DetachPolicy ObjectReference-dpPolicyReference = lens _dpPolicyReference (\ s a -> s{_dpPolicyReference = a});+dpPolicyReference = lens _dpPolicyReference (\ s a -> s{_dpPolicyReference = a})  -- | Reference that identifies the object whose policy object will be detached. dpObjectReference :: Lens' DetachPolicy ObjectReference-dpObjectReference = lens _dpObjectReference (\ s a -> s{_dpObjectReference = a});+dpObjectReference = lens _dpObjectReference (\ s a -> s{_dpObjectReference = a})  instance AWSRequest DetachPolicy where         type Rs DetachPolicy = DetachPolicyResponse@@ -138,6 +138,6 @@  -- | -- | The response status code. dprsResponseStatus :: Lens' DetachPolicyResponse Int-dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a});+dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a})  instance NFData DetachPolicyResponse where
gen/Network/AWS/CloudDirectory/DetachTypedLink.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.DetachTypedLink--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,18 +62,18 @@     -> DetachTypedLink detachTypedLink pDirectoryARN_ pTypedLinkSpecifier_ =   DetachTypedLink'-  { _dtlDirectoryARN = pDirectoryARN_-  , _dtlTypedLinkSpecifier = pTypedLinkSpecifier_-  }+    { _dtlDirectoryARN = pDirectoryARN_+    , _dtlTypedLinkSpecifier = pTypedLinkSpecifier_+    }   -- | The Amazon Resource Name (ARN) of the directory where you want to detach the typed link. dtlDirectoryARN :: Lens' DetachTypedLink Text-dtlDirectoryARN = lens _dtlDirectoryARN (\ s a -> s{_dtlDirectoryARN = a});+dtlDirectoryARN = lens _dtlDirectoryARN (\ s a -> s{_dtlDirectoryARN = a})  -- | Used to accept a typed link specifier as input. dtlTypedLinkSpecifier :: Lens' DetachTypedLink TypedLinkSpecifier-dtlTypedLinkSpecifier = lens _dtlTypedLinkSpecifier (\ s a -> s{_dtlTypedLinkSpecifier = a});+dtlTypedLinkSpecifier = lens _dtlTypedLinkSpecifier (\ s a -> s{_dtlTypedLinkSpecifier = a})  instance AWSRequest DetachTypedLink where         type Rs DetachTypedLink = DetachTypedLinkResponse
gen/Network/AWS/CloudDirectory/DisableDirectory.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.DisableDirectory--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The ARN of the directory to disable. ddDirectoryARN :: Lens' DisableDirectory Text-ddDirectoryARN = lens _ddDirectoryARN (\ s a -> s{_ddDirectoryARN = a});+ddDirectoryARN = lens _ddDirectoryARN (\ s a -> s{_ddDirectoryARN = a})  instance AWSRequest DisableDirectory where         type Rs DisableDirectory = DisableDirectoryResponse@@ -114,15 +114,15 @@     -> DisableDirectoryResponse disableDirectoryResponse pResponseStatus_ pDirectoryARN_ =   DisableDirectoryResponse'-  {_drsResponseStatus = pResponseStatus_, _drsDirectoryARN = pDirectoryARN_}+    {_drsResponseStatus = pResponseStatus_, _drsDirectoryARN = pDirectoryARN_}   -- | -- | The response status code. drsResponseStatus :: Lens' DisableDirectoryResponse Int-drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});+drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})  -- | The ARN of the directory that has been disabled. drsDirectoryARN :: Lens' DisableDirectoryResponse Text-drsDirectoryARN = lens _drsDirectoryARN (\ s a -> s{_drsDirectoryARN = a});+drsDirectoryARN = lens _drsDirectoryARN (\ s a -> s{_drsDirectoryARN = a})  instance NFData DisableDirectoryResponse where
gen/Network/AWS/CloudDirectory/EnableDirectory.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.EnableDirectory--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The ARN of the directory to enable. edDirectoryARN :: Lens' EnableDirectory Text-edDirectoryARN = lens _edDirectoryARN (\ s a -> s{_edDirectoryARN = a});+edDirectoryARN = lens _edDirectoryARN (\ s a -> s{_edDirectoryARN = a})  instance AWSRequest EnableDirectory where         type Rs EnableDirectory = EnableDirectoryResponse@@ -114,15 +114,15 @@     -> EnableDirectoryResponse enableDirectoryResponse pResponseStatus_ pDirectoryARN_ =   EnableDirectoryResponse'-  {_edrsResponseStatus = pResponseStatus_, _edrsDirectoryARN = pDirectoryARN_}+    {_edrsResponseStatus = pResponseStatus_, _edrsDirectoryARN = pDirectoryARN_}   -- | -- | The response status code. edrsResponseStatus :: Lens' EnableDirectoryResponse Int-edrsResponseStatus = lens _edrsResponseStatus (\ s a -> s{_edrsResponseStatus = a});+edrsResponseStatus = lens _edrsResponseStatus (\ s a -> s{_edrsResponseStatus = a})  -- | The ARN of the enabled directory. edrsDirectoryARN :: Lens' EnableDirectoryResponse Text-edrsDirectoryARN = lens _edrsDirectoryARN (\ s a -> s{_edrsDirectoryARN = a});+edrsDirectoryARN = lens _edrsDirectoryARN (\ s a -> s{_edrsDirectoryARN = a})  instance NFData EnableDirectoryResponse where
+ gen/Network/AWS/CloudDirectory/GetAppliedSchemaVersion.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudDirectory.GetAppliedSchemaVersion+-- Copyright   : (c) 2013-2018 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)+--+-- Returns current applied schema version ARN, including the minor version in use.+--+--+module Network.AWS.CloudDirectory.GetAppliedSchemaVersion+    (+    -- * Creating a Request+      getAppliedSchemaVersion+    , GetAppliedSchemaVersion+    -- * Request Lenses+    , gasvSchemaARN++    -- * Destructuring the Response+    , getAppliedSchemaVersionResponse+    , GetAppliedSchemaVersionResponse+    -- * Response Lenses+    , gasvrsAppliedSchemaARN+    , gasvrsResponseStatus+    ) where++import Network.AWS.CloudDirectory.Types+import Network.AWS.CloudDirectory.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getAppliedSchemaVersion' smart constructor.+newtype GetAppliedSchemaVersion = GetAppliedSchemaVersion'+  { _gasvSchemaARN :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetAppliedSchemaVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gasvSchemaARN' - The ARN of the applied schema.+getAppliedSchemaVersion+    :: Text -- ^ 'gasvSchemaARN'+    -> GetAppliedSchemaVersion+getAppliedSchemaVersion pSchemaARN_ =+  GetAppliedSchemaVersion' {_gasvSchemaARN = pSchemaARN_}+++-- | The ARN of the applied schema.+gasvSchemaARN :: Lens' GetAppliedSchemaVersion Text+gasvSchemaARN = lens _gasvSchemaARN (\ s a -> s{_gasvSchemaARN = a})++instance AWSRequest GetAppliedSchemaVersion where+        type Rs GetAppliedSchemaVersion =+             GetAppliedSchemaVersionResponse+        request = postJSON cloudDirectory+        response+          = receiveJSON+              (\ s h x ->+                 GetAppliedSchemaVersionResponse' <$>+                   (x .?> "AppliedSchemaArn") <*> (pure (fromEnum s)))++instance Hashable GetAppliedSchemaVersion where++instance NFData GetAppliedSchemaVersion where++instance ToHeaders GetAppliedSchemaVersion where+        toHeaders = const mempty++instance ToJSON GetAppliedSchemaVersion where+        toJSON GetAppliedSchemaVersion'{..}+          = object+              (catMaybes [Just ("SchemaArn" .= _gasvSchemaARN)])++instance ToPath GetAppliedSchemaVersion where+        toPath+          = const+              "/amazonclouddirectory/2017-01-11/schema/getappliedschema"++instance ToQuery GetAppliedSchemaVersion where+        toQuery = const mempty++-- | /See:/ 'getAppliedSchemaVersionResponse' smart constructor.+data GetAppliedSchemaVersionResponse = GetAppliedSchemaVersionResponse'+  { _gasvrsAppliedSchemaARN :: !(Maybe Text)+  , _gasvrsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetAppliedSchemaVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gasvrsAppliedSchemaARN' - Current applied schema ARN, including the minor version in use if one was provided.+--+-- * 'gasvrsResponseStatus' - -- | The response status code.+getAppliedSchemaVersionResponse+    :: Int -- ^ 'gasvrsResponseStatus'+    -> GetAppliedSchemaVersionResponse+getAppliedSchemaVersionResponse pResponseStatus_ =+  GetAppliedSchemaVersionResponse'+    { _gasvrsAppliedSchemaARN = Nothing+    , _gasvrsResponseStatus = pResponseStatus_+    }+++-- | Current applied schema ARN, including the minor version in use if one was provided.+gasvrsAppliedSchemaARN :: Lens' GetAppliedSchemaVersionResponse (Maybe Text)+gasvrsAppliedSchemaARN = lens _gasvrsAppliedSchemaARN (\ s a -> s{_gasvrsAppliedSchemaARN = a})++-- | -- | The response status code.+gasvrsResponseStatus :: Lens' GetAppliedSchemaVersionResponse Int+gasvrsResponseStatus = lens _gasvrsResponseStatus (\ s a -> s{_gasvrsResponseStatus = a})++instance NFData GetAppliedSchemaVersionResponse where
gen/Network/AWS/CloudDirectory/GetDirectory.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.GetDirectory--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The ARN of the directory. gdDirectoryARN :: Lens' GetDirectory Text-gdDirectoryARN = lens _gdDirectoryARN (\ s a -> s{_gdDirectoryARN = a});+gdDirectoryARN = lens _gdDirectoryARN (\ s a -> s{_gdDirectoryARN = a})  instance AWSRequest GetDirectory where         type Rs GetDirectory = GetDirectoryResponse@@ -113,15 +113,15 @@     -> GetDirectoryResponse getDirectoryResponse pResponseStatus_ pDirectory_ =   GetDirectoryResponse'-  {_gdrsResponseStatus = pResponseStatus_, _gdrsDirectory = pDirectory_}+    {_gdrsResponseStatus = pResponseStatus_, _gdrsDirectory = pDirectory_}   -- | -- | The response status code. gdrsResponseStatus :: Lens' GetDirectoryResponse Int-gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a});+gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a})  -- | Metadata about the directory. gdrsDirectory :: Lens' GetDirectoryResponse Directory-gdrsDirectory = lens _gdrsDirectory (\ s a -> s{_gdrsDirectory = a});+gdrsDirectory = lens _gdrsDirectory (\ s a -> s{_gdrsDirectory = a})  instance NFData GetDirectoryResponse where
gen/Network/AWS/CloudDirectory/GetFacet.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.GetFacet--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,11 +69,11 @@  -- | The Amazon Resource Name (ARN) that is associated with the 'Facet' . For more information, see 'arns' . gfSchemaARN :: Lens' GetFacet Text-gfSchemaARN = lens _gfSchemaARN (\ s a -> s{_gfSchemaARN = a});+gfSchemaARN = lens _gfSchemaARN (\ s a -> s{_gfSchemaARN = a})  -- | The name of the facet to retrieve. gfName :: Lens' GetFacet Text-gfName = lens _gfName (\ s a -> s{_gfName = a});+gfName = lens _gfName (\ s a -> s{_gfName = a})  instance AWSRequest GetFacet where         type Rs GetFacet = GetFacetResponse@@ -122,15 +122,15 @@     -> GetFacetResponse getFacetResponse pResponseStatus_ =   GetFacetResponse'-  {_gfrsFacet = Nothing, _gfrsResponseStatus = pResponseStatus_}+    {_gfrsFacet = Nothing, _gfrsResponseStatus = pResponseStatus_}   -- | The 'Facet' structure that is associated with the facet. gfrsFacet :: Lens' GetFacetResponse (Maybe Facet)-gfrsFacet = lens _gfrsFacet (\ s a -> s{_gfrsFacet = a});+gfrsFacet = lens _gfrsFacet (\ s a -> s{_gfrsFacet = a})  -- | -- | The response status code. gfrsResponseStatus :: Lens' GetFacetResponse Int-gfrsResponseStatus = lens _gfrsResponseStatus (\ s a -> s{_gfrsResponseStatus = a});+gfrsResponseStatus = lens _gfrsResponseStatus (\ s a -> s{_gfrsResponseStatus = a})  instance NFData GetFacetResponse where
+ gen/Network/AWS/CloudDirectory/GetObjectAttributes.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudDirectory.GetObjectAttributes+-- Copyright   : (c) 2013-2018 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)+--+-- Retrieves attributes within a facet that are associated with an object.+--+--+module Network.AWS.CloudDirectory.GetObjectAttributes+    (+    -- * Creating a Request+      getObjectAttributes+    , GetObjectAttributes+    -- * Request Lenses+    , goaConsistencyLevel+    , goaDirectoryARN+    , goaObjectReference+    , goaSchemaFacet+    , goaAttributeNames++    -- * Destructuring the Response+    , getObjectAttributesResponse+    , GetObjectAttributesResponse+    -- * Response Lenses+    , goarsAttributes+    , goarsResponseStatus+    ) where++import Network.AWS.CloudDirectory.Types+import Network.AWS.CloudDirectory.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getObjectAttributes' smart constructor.+data GetObjectAttributes = GetObjectAttributes'+  { _goaConsistencyLevel :: !(Maybe ConsistencyLevel)+  , _goaDirectoryARN     :: !Text+  , _goaObjectReference  :: !ObjectReference+  , _goaSchemaFacet      :: !SchemaFacet+  , _goaAttributeNames   :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetObjectAttributes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'goaConsistencyLevel' - The consistency level at which to retrieve the attributes on an object.+--+-- * 'goaDirectoryARN' - The Amazon Resource Name (ARN) that is associated with the 'Directory' where the object resides.+--+-- * 'goaObjectReference' - Reference that identifies the object whose attributes will be retrieved.+--+-- * 'goaSchemaFacet' - Identifier for the facet whose attributes will be retrieved. See 'SchemaFacet' for details.+--+-- * 'goaAttributeNames' - List of attribute names whose values will be retrieved.+getObjectAttributes+    :: Text -- ^ 'goaDirectoryARN'+    -> ObjectReference -- ^ 'goaObjectReference'+    -> SchemaFacet -- ^ 'goaSchemaFacet'+    -> GetObjectAttributes+getObjectAttributes pDirectoryARN_ pObjectReference_ pSchemaFacet_ =+  GetObjectAttributes'+    { _goaConsistencyLevel = Nothing+    , _goaDirectoryARN = pDirectoryARN_+    , _goaObjectReference = pObjectReference_+    , _goaSchemaFacet = pSchemaFacet_+    , _goaAttributeNames = mempty+    }+++-- | The consistency level at which to retrieve the attributes on an object.+goaConsistencyLevel :: Lens' GetObjectAttributes (Maybe ConsistencyLevel)+goaConsistencyLevel = lens _goaConsistencyLevel (\ s a -> s{_goaConsistencyLevel = a})++-- | The Amazon Resource Name (ARN) that is associated with the 'Directory' where the object resides.+goaDirectoryARN :: Lens' GetObjectAttributes Text+goaDirectoryARN = lens _goaDirectoryARN (\ s a -> s{_goaDirectoryARN = a})++-- | Reference that identifies the object whose attributes will be retrieved.+goaObjectReference :: Lens' GetObjectAttributes ObjectReference+goaObjectReference = lens _goaObjectReference (\ s a -> s{_goaObjectReference = a})++-- | Identifier for the facet whose attributes will be retrieved. See 'SchemaFacet' for details.+goaSchemaFacet :: Lens' GetObjectAttributes SchemaFacet+goaSchemaFacet = lens _goaSchemaFacet (\ s a -> s{_goaSchemaFacet = a})++-- | List of attribute names whose values will be retrieved.+goaAttributeNames :: Lens' GetObjectAttributes [Text]+goaAttributeNames = lens _goaAttributeNames (\ s a -> s{_goaAttributeNames = a}) . _Coerce++instance AWSRequest GetObjectAttributes where+        type Rs GetObjectAttributes =+             GetObjectAttributesResponse+        request = postJSON cloudDirectory+        response+          = receiveJSON+              (\ s h x ->+                 GetObjectAttributesResponse' <$>+                   (x .?> "Attributes" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable GetObjectAttributes where++instance NFData GetObjectAttributes where++instance ToHeaders GetObjectAttributes where+        toHeaders GetObjectAttributes'{..}+          = mconcat+              ["x-amz-consistency-level" =# _goaConsistencyLevel,+               "x-amz-data-partition" =# _goaDirectoryARN]++instance ToJSON GetObjectAttributes where+        toJSON GetObjectAttributes'{..}+          = object+              (catMaybes+                 [Just ("ObjectReference" .= _goaObjectReference),+                  Just ("SchemaFacet" .= _goaSchemaFacet),+                  Just ("AttributeNames" .= _goaAttributeNames)])++instance ToPath GetObjectAttributes where+        toPath+          = const+              "/amazonclouddirectory/2017-01-11/object/attributes/get"++instance ToQuery GetObjectAttributes where+        toQuery = const mempty++-- | /See:/ 'getObjectAttributesResponse' smart constructor.+data GetObjectAttributesResponse = GetObjectAttributesResponse'+  { _goarsAttributes     :: !(Maybe [AttributeKeyAndValue])+  , _goarsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetObjectAttributesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'goarsAttributes' - The attributes that are associated with the object.+--+-- * 'goarsResponseStatus' - -- | The response status code.+getObjectAttributesResponse+    :: Int -- ^ 'goarsResponseStatus'+    -> GetObjectAttributesResponse+getObjectAttributesResponse pResponseStatus_ =+  GetObjectAttributesResponse'+    {_goarsAttributes = Nothing, _goarsResponseStatus = pResponseStatus_}+++-- | The attributes that are associated with the object.+goarsAttributes :: Lens' GetObjectAttributesResponse [AttributeKeyAndValue]+goarsAttributes = lens _goarsAttributes (\ s a -> s{_goarsAttributes = a}) . _Default . _Coerce++-- | -- | The response status code.+goarsResponseStatus :: Lens' GetObjectAttributesResponse Int+goarsResponseStatus = lens _goarsResponseStatus (\ s a -> s{_goarsResponseStatus = a})++instance NFData GetObjectAttributesResponse where
gen/Network/AWS/CloudDirectory/GetObjectInformation.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.GetObjectInformation--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,23 +70,23 @@     -> GetObjectInformation getObjectInformation pDirectoryARN_ pObjectReference_ =   GetObjectInformation'-  { _goiConsistencyLevel = Nothing-  , _goiDirectoryARN = pDirectoryARN_-  , _goiObjectReference = pObjectReference_-  }+    { _goiConsistencyLevel = Nothing+    , _goiDirectoryARN = pDirectoryARN_+    , _goiObjectReference = pObjectReference_+    }   -- | The consistency level at which to retrieve the object information. goiConsistencyLevel :: Lens' GetObjectInformation (Maybe ConsistencyLevel)-goiConsistencyLevel = lens _goiConsistencyLevel (\ s a -> s{_goiConsistencyLevel = a});+goiConsistencyLevel = lens _goiConsistencyLevel (\ s a -> s{_goiConsistencyLevel = a})  -- | The ARN of the directory being retrieved. goiDirectoryARN :: Lens' GetObjectInformation Text-goiDirectoryARN = lens _goiDirectoryARN (\ s a -> s{_goiDirectoryARN = a});+goiDirectoryARN = lens _goiDirectoryARN (\ s a -> s{_goiDirectoryARN = a})  -- | A reference to the object. goiObjectReference :: Lens' GetObjectInformation ObjectReference-goiObjectReference = lens _goiObjectReference (\ s a -> s{_goiObjectReference = a});+goiObjectReference = lens _goiObjectReference (\ s a -> s{_goiObjectReference = a})  instance AWSRequest GetObjectInformation where         type Rs GetObjectInformation =@@ -138,7 +138,7 @@ -- -- * 'goirsObjectIdentifier' - The @ObjectIdentifier@ of the specified object. ----- * 'goirsSchemaFacets' - The facets attached to the specified object.+-- * 'goirsSchemaFacets' - The facets attached to the specified object. Although the response does not include minor version information, the most recently applied minor version of each Facet is in effect. See 'GetAppliedSchemaVersion' for details. -- -- * 'goirsResponseStatus' - -- | The response status code. getObjectInformationResponse@@ -146,22 +146,22 @@     -> GetObjectInformationResponse getObjectInformationResponse pResponseStatus_ =   GetObjectInformationResponse'-  { _goirsObjectIdentifier = Nothing-  , _goirsSchemaFacets = Nothing-  , _goirsResponseStatus = pResponseStatus_-  }+    { _goirsObjectIdentifier = Nothing+    , _goirsSchemaFacets = Nothing+    , _goirsResponseStatus = pResponseStatus_+    }   -- | The @ObjectIdentifier@ of the specified object. goirsObjectIdentifier :: Lens' GetObjectInformationResponse (Maybe Text)-goirsObjectIdentifier = lens _goirsObjectIdentifier (\ s a -> s{_goirsObjectIdentifier = a});+goirsObjectIdentifier = lens _goirsObjectIdentifier (\ s a -> s{_goirsObjectIdentifier = a}) --- | The facets attached to the specified object.+-- | The facets attached to the specified object. Although the response does not include minor version information, the most recently applied minor version of each Facet is in effect. See 'GetAppliedSchemaVersion' for details. goirsSchemaFacets :: Lens' GetObjectInformationResponse [SchemaFacet]-goirsSchemaFacets = lens _goirsSchemaFacets (\ s a -> s{_goirsSchemaFacets = a}) . _Default . _Coerce;+goirsSchemaFacets = lens _goirsSchemaFacets (\ s a -> s{_goirsSchemaFacets = a}) . _Default . _Coerce  -- | -- | The response status code. goirsResponseStatus :: Lens' GetObjectInformationResponse Int-goirsResponseStatus = lens _goirsResponseStatus (\ s a -> s{_goirsResponseStatus = a});+goirsResponseStatus = lens _goirsResponseStatus (\ s a -> s{_goirsResponseStatus = a})  instance NFData GetObjectInformationResponse where
gen/Network/AWS/CloudDirectory/GetSchemaAsJSON.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.GetSchemaAsJSON--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The ARN of the schema to retrieve. gsajSchemaARN :: Lens' GetSchemaAsJSON Text-gsajSchemaARN = lens _gsajSchemaARN (\ s a -> s{_gsajSchemaARN = a});+gsajSchemaARN = lens _gsajSchemaARN (\ s a -> s{_gsajSchemaARN = a})  instance AWSRequest GetSchemaAsJSON where         type Rs GetSchemaAsJSON = GetSchemaAsJSONResponse@@ -117,22 +117,22 @@     -> GetSchemaAsJSONResponse getSchemaAsJSONResponse pResponseStatus_ =   GetSchemaAsJSONResponse'-  { _gsajrsDocument = Nothing-  , _gsajrsName = Nothing-  , _gsajrsResponseStatus = pResponseStatus_-  }+    { _gsajrsDocument = Nothing+    , _gsajrsName = Nothing+    , _gsajrsResponseStatus = pResponseStatus_+    }   -- | The JSON representation of the schema document. gsajrsDocument :: Lens' GetSchemaAsJSONResponse (Maybe Text)-gsajrsDocument = lens _gsajrsDocument (\ s a -> s{_gsajrsDocument = a});+gsajrsDocument = lens _gsajrsDocument (\ s a -> s{_gsajrsDocument = a})  -- | The name of the retrieved schema. gsajrsName :: Lens' GetSchemaAsJSONResponse (Maybe Text)-gsajrsName = lens _gsajrsName (\ s a -> s{_gsajrsName = a});+gsajrsName = lens _gsajrsName (\ s a -> s{_gsajrsName = a})  -- | -- | The response status code. gsajrsResponseStatus :: Lens' GetSchemaAsJSONResponse Int-gsajrsResponseStatus = lens _gsajrsResponseStatus (\ s a -> s{_gsajrsResponseStatus = a});+gsajrsResponseStatus = lens _gsajrsResponseStatus (\ s a -> s{_gsajrsResponseStatus = a})  instance NFData GetSchemaAsJSONResponse where
gen/Network/AWS/CloudDirectory/GetTypedLinkFacetInformation.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.GetTypedLinkFacetInformation--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,16 +65,16 @@     -> GetTypedLinkFacetInformation getTypedLinkFacetInformation pSchemaARN_ pName_ =   GetTypedLinkFacetInformation'-  {_gtlfiSchemaARN = pSchemaARN_, _gtlfiName = pName_}+    {_gtlfiSchemaARN = pSchemaARN_, _gtlfiName = pName_}   -- | The Amazon Resource Name (ARN) that is associated with the schema. For more information, see 'arns' . gtlfiSchemaARN :: Lens' GetTypedLinkFacetInformation Text-gtlfiSchemaARN = lens _gtlfiSchemaARN (\ s a -> s{_gtlfiSchemaARN = a});+gtlfiSchemaARN = lens _gtlfiSchemaARN (\ s a -> s{_gtlfiSchemaARN = a})  -- | The unique name of the typed link facet. gtlfiName :: Lens' GetTypedLinkFacetInformation Text-gtlfiName = lens _gtlfiName (\ s a -> s{_gtlfiName = a});+gtlfiName = lens _gtlfiName (\ s a -> s{_gtlfiName = a})  instance AWSRequest GetTypedLinkFacetInformation          where@@ -127,18 +127,18 @@     -> GetTypedLinkFacetInformationResponse getTypedLinkFacetInformationResponse pResponseStatus_ =   GetTypedLinkFacetInformationResponse'-  { _gtlfirsIdentityAttributeOrder = Nothing-  , _gtlfirsResponseStatus = pResponseStatus_-  }+    { _gtlfirsIdentityAttributeOrder = Nothing+    , _gtlfirsResponseStatus = pResponseStatus_+    }   -- | The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> . gtlfirsIdentityAttributeOrder :: Lens' GetTypedLinkFacetInformationResponse [Text]-gtlfirsIdentityAttributeOrder = lens _gtlfirsIdentityAttributeOrder (\ s a -> s{_gtlfirsIdentityAttributeOrder = a}) . _Default . _Coerce;+gtlfirsIdentityAttributeOrder = lens _gtlfirsIdentityAttributeOrder (\ s a -> s{_gtlfirsIdentityAttributeOrder = a}) . _Default . _Coerce  -- | -- | The response status code. gtlfirsResponseStatus :: Lens' GetTypedLinkFacetInformationResponse Int-gtlfirsResponseStatus = lens _gtlfirsResponseStatus (\ s a -> s{_gtlfirsResponseStatus = a});+gtlfirsResponseStatus = lens _gtlfirsResponseStatus (\ s a -> s{_gtlfirsResponseStatus = a})  instance NFData GetTypedLinkFacetInformationResponse          where
gen/Network/AWS/CloudDirectory/ListAppliedSchemaARNs.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListAppliedSchemaARNs--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 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) ----- Lists schemas applied to a directory.+-- Lists schema major versions applied to a directory. If @SchemaArn@ is provided, lists the minor version. -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListAppliedSchemaARNs     (     -- * Creating a Request@@ -28,6 +30,7 @@     , ListAppliedSchemaARNs     -- * Request Lenses     , lasaNextToken+    , lasaSchemaARN     , lasaMaxResults     , lasaDirectoryARN @@ -43,6 +46,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -50,6 +54,7 @@ -- | /See:/ 'listAppliedSchemaARNs' smart constructor. data ListAppliedSchemaARNs = ListAppliedSchemaARNs'   { _lasaNextToken    :: !(Maybe Text)+  , _lasaSchemaARN    :: !(Maybe Text)   , _lasaMaxResults   :: !(Maybe Nat)   , _lasaDirectoryARN :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)@@ -61,6 +66,8 @@ -- -- * 'lasaNextToken' - The pagination token. --+-- * 'lasaSchemaARN' - The response for @ListAppliedSchemaArns@ when this parameter is used will list all minor version ARNs for a major version.+-- -- * 'lasaMaxResults' - The maximum number of results to retrieve. -- -- * 'lasaDirectoryARN' - The ARN of the directory you are listing.@@ -69,24 +76,36 @@     -> ListAppliedSchemaARNs listAppliedSchemaARNs pDirectoryARN_ =   ListAppliedSchemaARNs'-  { _lasaNextToken = Nothing-  , _lasaMaxResults = Nothing-  , _lasaDirectoryARN = pDirectoryARN_-  }+    { _lasaNextToken = Nothing+    , _lasaSchemaARN = Nothing+    , _lasaMaxResults = Nothing+    , _lasaDirectoryARN = pDirectoryARN_+    }   -- | The pagination token. lasaNextToken :: Lens' ListAppliedSchemaARNs (Maybe Text)-lasaNextToken = lens _lasaNextToken (\ s a -> s{_lasaNextToken = a});+lasaNextToken = lens _lasaNextToken (\ s a -> s{_lasaNextToken = a}) +-- | The response for @ListAppliedSchemaArns@ when this parameter is used will list all minor version ARNs for a major version.+lasaSchemaARN :: Lens' ListAppliedSchemaARNs (Maybe Text)+lasaSchemaARN = lens _lasaSchemaARN (\ s a -> s{_lasaSchemaARN = a})+ -- | The maximum number of results to retrieve. lasaMaxResults :: Lens' ListAppliedSchemaARNs (Maybe Natural)-lasaMaxResults = lens _lasaMaxResults (\ s a -> s{_lasaMaxResults = a}) . mapping _Nat;+lasaMaxResults = lens _lasaMaxResults (\ s a -> s{_lasaMaxResults = a}) . mapping _Nat  -- | The ARN of the directory you are listing. lasaDirectoryARN :: Lens' ListAppliedSchemaARNs Text-lasaDirectoryARN = lens _lasaDirectoryARN (\ s a -> s{_lasaDirectoryARN = a});+lasaDirectoryARN = lens _lasaDirectoryARN (\ s a -> s{_lasaDirectoryARN = a}) +instance AWSPager ListAppliedSchemaARNs where+        page rq rs+          | stop (rs ^. lasarsNextToken) = Nothing+          | stop (rs ^. lasarsSchemaARNs) = Nothing+          | otherwise =+            Just $ rq & lasaNextToken .~ rs ^. lasarsNextToken+ instance AWSRequest ListAppliedSchemaARNs where         type Rs ListAppliedSchemaARNs =              ListAppliedSchemaARNsResponse@@ -111,6 +130,7 @@           = object               (catMaybes                  [("NextToken" .=) <$> _lasaNextToken,+                  ("SchemaArn" .=) <$> _lasaSchemaARN,                   ("MaxResults" .=) <$> _lasaMaxResults,                   Just ("DirectoryArn" .= _lasaDirectoryARN)]) @@ -144,22 +164,22 @@     -> ListAppliedSchemaARNsResponse listAppliedSchemaARNsResponse pResponseStatus_ =   ListAppliedSchemaARNsResponse'-  { _lasarsSchemaARNs = Nothing-  , _lasarsNextToken = Nothing-  , _lasarsResponseStatus = pResponseStatus_-  }+    { _lasarsSchemaARNs = Nothing+    , _lasarsNextToken = Nothing+    , _lasarsResponseStatus = pResponseStatus_+    }   -- | The ARNs of schemas that are applied to the directory. lasarsSchemaARNs :: Lens' ListAppliedSchemaARNsResponse [Text]-lasarsSchemaARNs = lens _lasarsSchemaARNs (\ s a -> s{_lasarsSchemaARNs = a}) . _Default . _Coerce;+lasarsSchemaARNs = lens _lasarsSchemaARNs (\ s a -> s{_lasarsSchemaARNs = a}) . _Default . _Coerce  -- | The pagination token. lasarsNextToken :: Lens' ListAppliedSchemaARNsResponse (Maybe Text)-lasarsNextToken = lens _lasarsNextToken (\ s a -> s{_lasarsNextToken = a});+lasarsNextToken = lens _lasarsNextToken (\ s a -> s{_lasarsNextToken = a})  -- | -- | The response status code. lasarsResponseStatus :: Lens' ListAppliedSchemaARNsResponse Int-lasarsResponseStatus = lens _lasarsResponseStatus (\ s a -> s{_lasarsResponseStatus = a});+lasarsResponseStatus = lens _lasarsResponseStatus (\ s a -> s{_lasarsResponseStatus = a})  instance NFData ListAppliedSchemaARNsResponse where
gen/Network/AWS/CloudDirectory/ListAttachedIndices.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListAttachedIndices--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 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) ----- Lists indices attached to an object.+-- Lists indices attached to the specified object. -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListAttachedIndices     (     -- * Creating a Request@@ -45,6 +47,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -78,34 +81,41 @@     -> ListAttachedIndices listAttachedIndices pDirectoryARN_ pTargetReference_ =   ListAttachedIndices'-  { _laiConsistencyLevel = Nothing-  , _laiNextToken = Nothing-  , _laiMaxResults = Nothing-  , _laiDirectoryARN = pDirectoryARN_-  , _laiTargetReference = pTargetReference_-  }+    { _laiConsistencyLevel = Nothing+    , _laiNextToken = Nothing+    , _laiMaxResults = Nothing+    , _laiDirectoryARN = pDirectoryARN_+    , _laiTargetReference = pTargetReference_+    }   -- | The consistency level to use for this operation. laiConsistencyLevel :: Lens' ListAttachedIndices (Maybe ConsistencyLevel)-laiConsistencyLevel = lens _laiConsistencyLevel (\ s a -> s{_laiConsistencyLevel = a});+laiConsistencyLevel = lens _laiConsistencyLevel (\ s a -> s{_laiConsistencyLevel = a})  -- | The pagination token. laiNextToken :: Lens' ListAttachedIndices (Maybe Text)-laiNextToken = lens _laiNextToken (\ s a -> s{_laiNextToken = a});+laiNextToken = lens _laiNextToken (\ s a -> s{_laiNextToken = a})  -- | The maximum number of results to retrieve. laiMaxResults :: Lens' ListAttachedIndices (Maybe Natural)-laiMaxResults = lens _laiMaxResults (\ s a -> s{_laiMaxResults = a}) . mapping _Nat;+laiMaxResults = lens _laiMaxResults (\ s a -> s{_laiMaxResults = a}) . mapping _Nat  -- | The ARN of the directory. laiDirectoryARN :: Lens' ListAttachedIndices Text-laiDirectoryARN = lens _laiDirectoryARN (\ s a -> s{_laiDirectoryARN = a});+laiDirectoryARN = lens _laiDirectoryARN (\ s a -> s{_laiDirectoryARN = a})  -- | A reference to the object that has indices attached. laiTargetReference :: Lens' ListAttachedIndices ObjectReference-laiTargetReference = lens _laiTargetReference (\ s a -> s{_laiTargetReference = a});+laiTargetReference = lens _laiTargetReference (\ s a -> s{_laiTargetReference = a}) +instance AWSPager ListAttachedIndices where+        page rq rs+          | stop (rs ^. lairsNextToken) = Nothing+          | stop (rs ^. lairsIndexAttachments) = Nothing+          | otherwise =+            Just $ rq & laiNextToken .~ rs ^. lairsNextToken+ instance AWSRequest ListAttachedIndices where         type Rs ListAttachedIndices =              ListAttachedIndicesResponse@@ -166,22 +176,22 @@     -> ListAttachedIndicesResponse listAttachedIndicesResponse pResponseStatus_ =   ListAttachedIndicesResponse'-  { _lairsIndexAttachments = Nothing-  , _lairsNextToken = Nothing-  , _lairsResponseStatus = pResponseStatus_-  }+    { _lairsIndexAttachments = Nothing+    , _lairsNextToken = Nothing+    , _lairsResponseStatus = pResponseStatus_+    }   -- | The indices attached to the specified object. lairsIndexAttachments :: Lens' ListAttachedIndicesResponse [IndexAttachment]-lairsIndexAttachments = lens _lairsIndexAttachments (\ s a -> s{_lairsIndexAttachments = a}) . _Default . _Coerce;+lairsIndexAttachments = lens _lairsIndexAttachments (\ s a -> s{_lairsIndexAttachments = a}) . _Default . _Coerce  -- | The pagination token. lairsNextToken :: Lens' ListAttachedIndicesResponse (Maybe Text)-lairsNextToken = lens _lairsNextToken (\ s a -> s{_lairsNextToken = a});+lairsNextToken = lens _lairsNextToken (\ s a -> s{_lairsNextToken = a})  -- | -- | The response status code. lairsResponseStatus :: Lens' ListAttachedIndicesResponse Int-lairsResponseStatus = lens _lairsResponseStatus (\ s a -> s{_lairsResponseStatus = a});+lairsResponseStatus = lens _lairsResponseStatus (\ s a -> s{_lairsResponseStatus = a})  instance NFData ListAttachedIndicesResponse where
gen/Network/AWS/CloudDirectory/ListDevelopmentSchemaARNs.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListDevelopmentSchemaARNs--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Retrieves each Amazon Resource Name (ARN) of schemas in the development state. -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListDevelopmentSchemaARNs     (     -- * Creating a Request@@ -42,6 +44,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -64,17 +67,24 @@     :: ListDevelopmentSchemaARNs listDevelopmentSchemaARNs =   ListDevelopmentSchemaARNs'-  {_ldsaNextToken = Nothing, _ldsaMaxResults = Nothing}+    {_ldsaNextToken = Nothing, _ldsaMaxResults = Nothing}   -- | The pagination token. ldsaNextToken :: Lens' ListDevelopmentSchemaARNs (Maybe Text)-ldsaNextToken = lens _ldsaNextToken (\ s a -> s{_ldsaNextToken = a});+ldsaNextToken = lens _ldsaNextToken (\ s a -> s{_ldsaNextToken = a})  -- | The maximum number of results to retrieve. ldsaMaxResults :: Lens' ListDevelopmentSchemaARNs (Maybe Natural)-ldsaMaxResults = lens _ldsaMaxResults (\ s a -> s{_ldsaMaxResults = a}) . mapping _Nat;+ldsaMaxResults = lens _ldsaMaxResults (\ s a -> s{_ldsaMaxResults = a}) . mapping _Nat +instance AWSPager ListDevelopmentSchemaARNs where+        page rq rs+          | stop (rs ^. ldsarsNextToken) = Nothing+          | stop (rs ^. ldsarsSchemaARNs) = Nothing+          | otherwise =+            Just $ rq & ldsaNextToken .~ rs ^. ldsarsNextToken+ instance AWSRequest ListDevelopmentSchemaARNs where         type Rs ListDevelopmentSchemaARNs =              ListDevelopmentSchemaARNsResponse@@ -131,23 +141,23 @@     -> ListDevelopmentSchemaARNsResponse listDevelopmentSchemaARNsResponse pResponseStatus_ =   ListDevelopmentSchemaARNsResponse'-  { _ldsarsSchemaARNs = Nothing-  , _ldsarsNextToken = Nothing-  , _ldsarsResponseStatus = pResponseStatus_-  }+    { _ldsarsSchemaARNs = Nothing+    , _ldsarsNextToken = Nothing+    , _ldsarsResponseStatus = pResponseStatus_+    }   -- | The ARNs of retrieved development schemas. ldsarsSchemaARNs :: Lens' ListDevelopmentSchemaARNsResponse [Text]-ldsarsSchemaARNs = lens _ldsarsSchemaARNs (\ s a -> s{_ldsarsSchemaARNs = a}) . _Default . _Coerce;+ldsarsSchemaARNs = lens _ldsarsSchemaARNs (\ s a -> s{_ldsarsSchemaARNs = a}) . _Default . _Coerce  -- | The pagination token. ldsarsNextToken :: Lens' ListDevelopmentSchemaARNsResponse (Maybe Text)-ldsarsNextToken = lens _ldsarsNextToken (\ s a -> s{_ldsarsNextToken = a});+ldsarsNextToken = lens _ldsarsNextToken (\ s a -> s{_ldsarsNextToken = a})  -- | -- | The response status code. ldsarsResponseStatus :: Lens' ListDevelopmentSchemaARNsResponse Int-ldsarsResponseStatus = lens _ldsarsResponseStatus (\ s a -> s{_ldsarsResponseStatus = a});+ldsarsResponseStatus = lens _ldsarsResponseStatus (\ s a -> s{_ldsarsResponseStatus = a})  instance NFData ListDevelopmentSchemaARNsResponse          where
gen/Network/AWS/CloudDirectory/ListDirectories.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListDirectories--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Lists directories created within an account. -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListDirectories     (     -- * Creating a Request@@ -43,6 +45,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -68,21 +71,28 @@     :: ListDirectories listDirectories =   ListDirectories'-  {_ldState = Nothing, _ldNextToken = Nothing, _ldMaxResults = Nothing}+    {_ldState = Nothing, _ldNextToken = Nothing, _ldMaxResults = Nothing}   -- | The state of the directories in the list. Can be either Enabled, Disabled, or Deleted. ldState :: Lens' ListDirectories (Maybe DirectoryState)-ldState = lens _ldState (\ s a -> s{_ldState = a});+ldState = lens _ldState (\ s a -> s{_ldState = a})  -- | The pagination token. ldNextToken :: Lens' ListDirectories (Maybe Text)-ldNextToken = lens _ldNextToken (\ s a -> s{_ldNextToken = a});+ldNextToken = lens _ldNextToken (\ s a -> s{_ldNextToken = a})  -- | The maximum number of results to retrieve. ldMaxResults :: Lens' ListDirectories (Maybe Natural)-ldMaxResults = lens _ldMaxResults (\ s a -> s{_ldMaxResults = a}) . mapping _Nat;+ldMaxResults = lens _ldMaxResults (\ s a -> s{_ldMaxResults = a}) . mapping _Nat +instance AWSPager ListDirectories where+        page rq rs+          | stop (rs ^. ldrsNextToken) = Nothing+          | stop (rs ^. ldrsDirectories) = Nothing+          | otherwise =+            Just $ rq & ldNextToken .~ rs ^. ldrsNextToken+ instance AWSRequest ListDirectories where         type Rs ListDirectories = ListDirectoriesResponse         request = postJSON cloudDirectory@@ -138,22 +148,22 @@     -> ListDirectoriesResponse listDirectoriesResponse pResponseStatus_ =   ListDirectoriesResponse'-  { _ldrsNextToken = Nothing-  , _ldrsResponseStatus = pResponseStatus_-  , _ldrsDirectories = mempty-  }+    { _ldrsNextToken = Nothing+    , _ldrsResponseStatus = pResponseStatus_+    , _ldrsDirectories = mempty+    }   -- | The pagination token. ldrsNextToken :: Lens' ListDirectoriesResponse (Maybe Text)-ldrsNextToken = lens _ldrsNextToken (\ s a -> s{_ldrsNextToken = a});+ldrsNextToken = lens _ldrsNextToken (\ s a -> s{_ldrsNextToken = a})  -- | -- | The response status code. ldrsResponseStatus :: Lens' ListDirectoriesResponse Int-ldrsResponseStatus = lens _ldrsResponseStatus (\ s a -> s{_ldrsResponseStatus = a});+ldrsResponseStatus = lens _ldrsResponseStatus (\ s a -> s{_ldrsResponseStatus = a})  -- | Lists all directories that are associated with your account in pagination fashion. ldrsDirectories :: Lens' ListDirectoriesResponse [Directory]-ldrsDirectories = lens _ldrsDirectories (\ s a -> s{_ldrsDirectories = a}) . _Coerce;+ldrsDirectories = lens _ldrsDirectories (\ s a -> s{_ldrsDirectories = a}) . _Coerce  instance NFData ListDirectoriesResponse where
gen/Network/AWS/CloudDirectory/ListFacetAttributes.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListFacetAttributes--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Retrieves attributes attached to the facet. -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListFacetAttributes     (     -- * Creating a Request@@ -44,6 +46,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -74,29 +77,36 @@     -> ListFacetAttributes listFacetAttributes pSchemaARN_ pName_ =   ListFacetAttributes'-  { _lfaNextToken = Nothing-  , _lfaMaxResults = Nothing-  , _lfaSchemaARN = pSchemaARN_-  , _lfaName = pName_-  }+    { _lfaNextToken = Nothing+    , _lfaMaxResults = Nothing+    , _lfaSchemaARN = pSchemaARN_+    , _lfaName = pName_+    }   -- | The pagination token. lfaNextToken :: Lens' ListFacetAttributes (Maybe Text)-lfaNextToken = lens _lfaNextToken (\ s a -> s{_lfaNextToken = a});+lfaNextToken = lens _lfaNextToken (\ s a -> s{_lfaNextToken = a})  -- | The maximum number of results to retrieve. lfaMaxResults :: Lens' ListFacetAttributes (Maybe Natural)-lfaMaxResults = lens _lfaMaxResults (\ s a -> s{_lfaMaxResults = a}) . mapping _Nat;+lfaMaxResults = lens _lfaMaxResults (\ s a -> s{_lfaMaxResults = a}) . mapping _Nat  -- | The ARN of the schema where the facet resides. lfaSchemaARN :: Lens' ListFacetAttributes Text-lfaSchemaARN = lens _lfaSchemaARN (\ s a -> s{_lfaSchemaARN = a});+lfaSchemaARN = lens _lfaSchemaARN (\ s a -> s{_lfaSchemaARN = a})  -- | The name of the facet whose attributes will be retrieved. lfaName :: Lens' ListFacetAttributes Text-lfaName = lens _lfaName (\ s a -> s{_lfaName = a});+lfaName = lens _lfaName (\ s a -> s{_lfaName = a}) +instance AWSPager ListFacetAttributes where+        page rq rs+          | stop (rs ^. lfarsNextToken) = Nothing+          | stop (rs ^. lfarsAttributes) = Nothing+          | otherwise =+            Just $ rq & lfaNextToken .~ rs ^. lfarsNextToken+ instance AWSRequest ListFacetAttributes where         type Rs ListFacetAttributes =              ListFacetAttributesResponse@@ -155,22 +165,22 @@     -> ListFacetAttributesResponse listFacetAttributesResponse pResponseStatus_ =   ListFacetAttributesResponse'-  { _lfarsNextToken = Nothing-  , _lfarsAttributes = Nothing-  , _lfarsResponseStatus = pResponseStatus_-  }+    { _lfarsNextToken = Nothing+    , _lfarsAttributes = Nothing+    , _lfarsResponseStatus = pResponseStatus_+    }   -- | The pagination token. lfarsNextToken :: Lens' ListFacetAttributesResponse (Maybe Text)-lfarsNextToken = lens _lfarsNextToken (\ s a -> s{_lfarsNextToken = a});+lfarsNextToken = lens _lfarsNextToken (\ s a -> s{_lfarsNextToken = a})  -- | The attributes attached to the facet. lfarsAttributes :: Lens' ListFacetAttributesResponse [FacetAttribute]-lfarsAttributes = lens _lfarsAttributes (\ s a -> s{_lfarsAttributes = a}) . _Default . _Coerce;+lfarsAttributes = lens _lfarsAttributes (\ s a -> s{_lfarsAttributes = a}) . _Default . _Coerce  -- | -- | The response status code. lfarsResponseStatus :: Lens' ListFacetAttributesResponse Int-lfarsResponseStatus = lens _lfarsResponseStatus (\ s a -> s{_lfarsResponseStatus = a});+lfarsResponseStatus = lens _lfarsResponseStatus (\ s a -> s{_lfarsResponseStatus = a})  instance NFData ListFacetAttributesResponse where
gen/Network/AWS/CloudDirectory/ListFacetNames.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListFacetNames--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Retrieves the names of facets that exist in a schema. -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListFacetNames     (     -- * Creating a Request@@ -43,6 +45,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -69,24 +72,31 @@     -> ListFacetNames listFacetNames pSchemaARN_ =   ListFacetNames'-  { _lfnNextToken = Nothing-  , _lfnMaxResults = Nothing-  , _lfnSchemaARN = pSchemaARN_-  }+    { _lfnNextToken = Nothing+    , _lfnMaxResults = Nothing+    , _lfnSchemaARN = pSchemaARN_+    }   -- | The pagination token. lfnNextToken :: Lens' ListFacetNames (Maybe Text)-lfnNextToken = lens _lfnNextToken (\ s a -> s{_lfnNextToken = a});+lfnNextToken = lens _lfnNextToken (\ s a -> s{_lfnNextToken = a})  -- | The maximum number of results to retrieve. lfnMaxResults :: Lens' ListFacetNames (Maybe Natural)-lfnMaxResults = lens _lfnMaxResults (\ s a -> s{_lfnMaxResults = a}) . mapping _Nat;+lfnMaxResults = lens _lfnMaxResults (\ s a -> s{_lfnMaxResults = a}) . mapping _Nat  -- | The Amazon Resource Name (ARN) to retrieve facet names from. lfnSchemaARN :: Lens' ListFacetNames Text-lfnSchemaARN = lens _lfnSchemaARN (\ s a -> s{_lfnSchemaARN = a});+lfnSchemaARN = lens _lfnSchemaARN (\ s a -> s{_lfnSchemaARN = a}) +instance AWSPager ListFacetNames where+        page rq rs+          | stop (rs ^. lfnrsNextToken) = Nothing+          | stop (rs ^. lfnrsFacetNames) = Nothing+          | otherwise =+            Just $ rq & lfnNextToken .~ rs ^. lfnrsNextToken+ instance AWSRequest ListFacetNames where         type Rs ListFacetNames = ListFacetNamesResponse         request = postJSON cloudDirectory@@ -142,22 +152,22 @@     -> ListFacetNamesResponse listFacetNamesResponse pResponseStatus_ =   ListFacetNamesResponse'-  { _lfnrsNextToken = Nothing-  , _lfnrsFacetNames = Nothing-  , _lfnrsResponseStatus = pResponseStatus_-  }+    { _lfnrsNextToken = Nothing+    , _lfnrsFacetNames = Nothing+    , _lfnrsResponseStatus = pResponseStatus_+    }   -- | The pagination token. lfnrsNextToken :: Lens' ListFacetNamesResponse (Maybe Text)-lfnrsNextToken = lens _lfnrsNextToken (\ s a -> s{_lfnrsNextToken = a});+lfnrsNextToken = lens _lfnrsNextToken (\ s a -> s{_lfnrsNextToken = a})  -- | The names of facets that exist within the schema. lfnrsFacetNames :: Lens' ListFacetNamesResponse [Text]-lfnrsFacetNames = lens _lfnrsFacetNames (\ s a -> s{_lfnrsFacetNames = a}) . _Default . _Coerce;+lfnrsFacetNames = lens _lfnrsFacetNames (\ s a -> s{_lfnrsFacetNames = a}) . _Default . _Coerce  -- | -- | The response status code. lfnrsResponseStatus :: Lens' ListFacetNamesResponse Int-lfnrsResponseStatus = lens _lfnrsResponseStatus (\ s a -> s{_lfnrsResponseStatus = a});+lfnrsResponseStatus = lens _lfnrsResponseStatus (\ s a -> s{_lfnrsResponseStatus = a})  instance NFData ListFacetNamesResponse where
gen/Network/AWS/CloudDirectory/ListIncomingTypedLinks.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListIncomingTypedLinks--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -86,43 +86,43 @@     -> ListIncomingTypedLinks listIncomingTypedLinks pDirectoryARN_ pObjectReference_ =   ListIncomingTypedLinks'-  { _litlFilterAttributeRanges = Nothing-  , _litlConsistencyLevel = Nothing-  , _litlNextToken = Nothing-  , _litlFilterTypedLink = Nothing-  , _litlMaxResults = Nothing-  , _litlDirectoryARN = pDirectoryARN_-  , _litlObjectReference = pObjectReference_-  }+    { _litlFilterAttributeRanges = Nothing+    , _litlConsistencyLevel = Nothing+    , _litlNextToken = Nothing+    , _litlFilterTypedLink = Nothing+    , _litlMaxResults = Nothing+    , _litlDirectoryARN = pDirectoryARN_+    , _litlObjectReference = pObjectReference_+    }   -- | Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. litlFilterAttributeRanges :: Lens' ListIncomingTypedLinks [TypedLinkAttributeRange]-litlFilterAttributeRanges = lens _litlFilterAttributeRanges (\ s a -> s{_litlFilterAttributeRanges = a}) . _Default . _Coerce;+litlFilterAttributeRanges = lens _litlFilterAttributeRanges (\ s a -> s{_litlFilterAttributeRanges = a}) . _Default . _Coerce  -- | The consistency level to execute the request at. litlConsistencyLevel :: Lens' ListIncomingTypedLinks (Maybe ConsistencyLevel)-litlConsistencyLevel = lens _litlConsistencyLevel (\ s a -> s{_litlConsistencyLevel = a});+litlConsistencyLevel = lens _litlConsistencyLevel (\ s a -> s{_litlConsistencyLevel = a})  -- | The pagination token. litlNextToken :: Lens' ListIncomingTypedLinks (Maybe Text)-litlNextToken = lens _litlNextToken (\ s a -> s{_litlNextToken = a});+litlNextToken = lens _litlNextToken (\ s a -> s{_litlNextToken = a})  -- | Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. litlFilterTypedLink :: Lens' ListIncomingTypedLinks (Maybe TypedLinkSchemaAndFacetName)-litlFilterTypedLink = lens _litlFilterTypedLink (\ s a -> s{_litlFilterTypedLink = a});+litlFilterTypedLink = lens _litlFilterTypedLink (\ s a -> s{_litlFilterTypedLink = a})  -- | The maximum number of results to retrieve. litlMaxResults :: Lens' ListIncomingTypedLinks (Maybe Natural)-litlMaxResults = lens _litlMaxResults (\ s a -> s{_litlMaxResults = a}) . mapping _Nat;+litlMaxResults = lens _litlMaxResults (\ s a -> s{_litlMaxResults = a}) . mapping _Nat  -- | The Amazon Resource Name (ARN) of the directory where you want to list the typed links. litlDirectoryARN :: Lens' ListIncomingTypedLinks Text-litlDirectoryARN = lens _litlDirectoryARN (\ s a -> s{_litlDirectoryARN = a});+litlDirectoryARN = lens _litlDirectoryARN (\ s a -> s{_litlDirectoryARN = a})  -- | Reference that identifies the object whose attributes will be listed. litlObjectReference :: Lens' ListIncomingTypedLinks ObjectReference-litlObjectReference = lens _litlObjectReference (\ s a -> s{_litlObjectReference = a});+litlObjectReference = lens _litlObjectReference (\ s a -> s{_litlObjectReference = a})  instance AWSRequest ListIncomingTypedLinks where         type Rs ListIncomingTypedLinks =@@ -187,22 +187,22 @@     -> ListIncomingTypedLinksResponse listIncomingTypedLinksResponse pResponseStatus_ =   ListIncomingTypedLinksResponse'-  { _litlrsLinkSpecifiers = Nothing-  , _litlrsNextToken = Nothing-  , _litlrsResponseStatus = pResponseStatus_-  }+    { _litlrsLinkSpecifiers = Nothing+    , _litlrsNextToken = Nothing+    , _litlrsResponseStatus = pResponseStatus_+    }   -- | Returns one or more typed link specifiers as output. litlrsLinkSpecifiers :: Lens' ListIncomingTypedLinksResponse [TypedLinkSpecifier]-litlrsLinkSpecifiers = lens _litlrsLinkSpecifiers (\ s a -> s{_litlrsLinkSpecifiers = a}) . _Default . _Coerce;+litlrsLinkSpecifiers = lens _litlrsLinkSpecifiers (\ s a -> s{_litlrsLinkSpecifiers = a}) . _Default . _Coerce  -- | The pagination token. litlrsNextToken :: Lens' ListIncomingTypedLinksResponse (Maybe Text)-litlrsNextToken = lens _litlrsNextToken (\ s a -> s{_litlrsNextToken = a});+litlrsNextToken = lens _litlrsNextToken (\ s a -> s{_litlrsNextToken = a})  -- | -- | The response status code. litlrsResponseStatus :: Lens' ListIncomingTypedLinksResponse Int-litlrsResponseStatus = lens _litlrsResponseStatus (\ s a -> s{_litlrsResponseStatus = a});+litlrsResponseStatus = lens _litlrsResponseStatus (\ s a -> s{_litlrsResponseStatus = a})  instance NFData ListIncomingTypedLinksResponse where
gen/Network/AWS/CloudDirectory/ListIndex.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListIndex--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Lists objects attached to the specified index. -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListIndex     (     -- * Creating a Request@@ -46,6 +48,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -71,7 +74,7 @@ -- -- * 'liNextToken' - The pagination token. ----- * 'liMaxResults' - The maximum number of results to retrieve from the index.+-- * 'liMaxResults' - The maximum number of objects in a single page to retrieve from the index during a request. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/limits.html#limits_cd AWS Directory Service Limits> . -- -- * 'liDirectoryARN' - The ARN of the directory that the index exists in. --@@ -82,39 +85,46 @@     -> ListIndex listIndex pDirectoryARN_ pIndexReference_ =   ListIndex'-  { _liRangesOnIndexedValues = Nothing-  , _liConsistencyLevel = Nothing-  , _liNextToken = Nothing-  , _liMaxResults = Nothing-  , _liDirectoryARN = pDirectoryARN_-  , _liIndexReference = pIndexReference_-  }+    { _liRangesOnIndexedValues = Nothing+    , _liConsistencyLevel = Nothing+    , _liNextToken = Nothing+    , _liMaxResults = Nothing+    , _liDirectoryARN = pDirectoryARN_+    , _liIndexReference = pIndexReference_+    }   -- | Specifies the ranges of indexed values that you want to query. liRangesOnIndexedValues :: Lens' ListIndex [ObjectAttributeRange]-liRangesOnIndexedValues = lens _liRangesOnIndexedValues (\ s a -> s{_liRangesOnIndexedValues = a}) . _Default . _Coerce;+liRangesOnIndexedValues = lens _liRangesOnIndexedValues (\ s a -> s{_liRangesOnIndexedValues = a}) . _Default . _Coerce  -- | The consistency level to execute the request at. liConsistencyLevel :: Lens' ListIndex (Maybe ConsistencyLevel)-liConsistencyLevel = lens _liConsistencyLevel (\ s a -> s{_liConsistencyLevel = a});+liConsistencyLevel = lens _liConsistencyLevel (\ s a -> s{_liConsistencyLevel = a})  -- | The pagination token. liNextToken :: Lens' ListIndex (Maybe Text)-liNextToken = lens _liNextToken (\ s a -> s{_liNextToken = a});+liNextToken = lens _liNextToken (\ s a -> s{_liNextToken = a}) --- | The maximum number of results to retrieve from the index.+-- | The maximum number of objects in a single page to retrieve from the index during a request. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/limits.html#limits_cd AWS Directory Service Limits> . liMaxResults :: Lens' ListIndex (Maybe Natural)-liMaxResults = lens _liMaxResults (\ s a -> s{_liMaxResults = a}) . mapping _Nat;+liMaxResults = lens _liMaxResults (\ s a -> s{_liMaxResults = a}) . mapping _Nat  -- | The ARN of the directory that the index exists in. liDirectoryARN :: Lens' ListIndex Text-liDirectoryARN = lens _liDirectoryARN (\ s a -> s{_liDirectoryARN = a});+liDirectoryARN = lens _liDirectoryARN (\ s a -> s{_liDirectoryARN = a})  -- | The reference to the index to list. liIndexReference :: Lens' ListIndex ObjectReference-liIndexReference = lens _liIndexReference (\ s a -> s{_liIndexReference = a});+liIndexReference = lens _liIndexReference (\ s a -> s{_liIndexReference = a}) +instance AWSPager ListIndex where+        page rq rs+          | stop (rs ^. lirsNextToken) = Nothing+          | stop (rs ^. lirsIndexAttachments) = Nothing+          | otherwise =+            Just $ rq & liNextToken .~ rs ^. lirsNextToken+ instance AWSRequest ListIndex where         type Rs ListIndex = ListIndexResponse         request = postJSON cloudDirectory@@ -176,22 +186,22 @@     -> ListIndexResponse listIndexResponse pResponseStatus_ =   ListIndexResponse'-  { _lirsIndexAttachments = Nothing-  , _lirsNextToken = Nothing-  , _lirsResponseStatus = pResponseStatus_-  }+    { _lirsIndexAttachments = Nothing+    , _lirsNextToken = Nothing+    , _lirsResponseStatus = pResponseStatus_+    }   -- | The objects and indexed values attached to the index. lirsIndexAttachments :: Lens' ListIndexResponse [IndexAttachment]-lirsIndexAttachments = lens _lirsIndexAttachments (\ s a -> s{_lirsIndexAttachments = a}) . _Default . _Coerce;+lirsIndexAttachments = lens _lirsIndexAttachments (\ s a -> s{_lirsIndexAttachments = a}) . _Default . _Coerce  -- | The pagination token. lirsNextToken :: Lens' ListIndexResponse (Maybe Text)-lirsNextToken = lens _lirsNextToken (\ s a -> s{_lirsNextToken = a});+lirsNextToken = lens _lirsNextToken (\ s a -> s{_lirsNextToken = a})  -- | -- | The response status code. lirsResponseStatus :: Lens' ListIndexResponse Int-lirsResponseStatus = lens _lirsResponseStatus (\ s a -> s{_lirsResponseStatus = a});+lirsResponseStatus = lens _lirsResponseStatus (\ s a -> s{_lirsResponseStatus = a})  instance NFData ListIndexResponse where
gen/Network/AWS/CloudDirectory/ListObjectAttributes.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListObjectAttributes--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Lists all attributes that are associated with an object. -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListObjectAttributes     (     -- * Creating a Request@@ -46,6 +48,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -82,39 +85,46 @@     -> ListObjectAttributes listObjectAttributes pDirectoryARN_ pObjectReference_ =   ListObjectAttributes'-  { _loaFacetFilter = Nothing-  , _loaConsistencyLevel = Nothing-  , _loaNextToken = Nothing-  , _loaMaxResults = Nothing-  , _loaDirectoryARN = pDirectoryARN_-  , _loaObjectReference = pObjectReference_-  }+    { _loaFacetFilter = Nothing+    , _loaConsistencyLevel = Nothing+    , _loaNextToken = Nothing+    , _loaMaxResults = Nothing+    , _loaDirectoryARN = pDirectoryARN_+    , _loaObjectReference = pObjectReference_+    }   -- | Used to filter the list of object attributes that are associated with a certain facet. loaFacetFilter :: Lens' ListObjectAttributes (Maybe SchemaFacet)-loaFacetFilter = lens _loaFacetFilter (\ s a -> s{_loaFacetFilter = a});+loaFacetFilter = lens _loaFacetFilter (\ s a -> s{_loaFacetFilter = a})  -- | Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object. loaConsistencyLevel :: Lens' ListObjectAttributes (Maybe ConsistencyLevel)-loaConsistencyLevel = lens _loaConsistencyLevel (\ s a -> s{_loaConsistencyLevel = a});+loaConsistencyLevel = lens _loaConsistencyLevel (\ s a -> s{_loaConsistencyLevel = a})  -- | The pagination token. loaNextToken :: Lens' ListObjectAttributes (Maybe Text)-loaNextToken = lens _loaNextToken (\ s a -> s{_loaNextToken = a});+loaNextToken = lens _loaNextToken (\ s a -> s{_loaNextToken = a})  -- | The maximum number of items to be retrieved in a single call. This is an approximate number. loaMaxResults :: Lens' ListObjectAttributes (Maybe Natural)-loaMaxResults = lens _loaMaxResults (\ s a -> s{_loaMaxResults = a}) . mapping _Nat;+loaMaxResults = lens _loaMaxResults (\ s a -> s{_loaMaxResults = a}) . mapping _Nat  -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' where the object resides. For more information, see 'arns' . loaDirectoryARN :: Lens' ListObjectAttributes Text-loaDirectoryARN = lens _loaDirectoryARN (\ s a -> s{_loaDirectoryARN = a});+loaDirectoryARN = lens _loaDirectoryARN (\ s a -> s{_loaDirectoryARN = a})  -- | The reference that identifies the object whose attributes will be listed. loaObjectReference :: Lens' ListObjectAttributes ObjectReference-loaObjectReference = lens _loaObjectReference (\ s a -> s{_loaObjectReference = a});+loaObjectReference = lens _loaObjectReference (\ s a -> s{_loaObjectReference = a}) +instance AWSPager ListObjectAttributes where+        page rq rs+          | stop (rs ^. loarsNextToken) = Nothing+          | stop (rs ^. loarsAttributes) = Nothing+          | otherwise =+            Just $ rq & loaNextToken .~ rs ^. loarsNextToken+ instance AWSRequest ListObjectAttributes where         type Rs ListObjectAttributes =              ListObjectAttributesResponse@@ -176,22 +186,22 @@     -> ListObjectAttributesResponse listObjectAttributesResponse pResponseStatus_ =   ListObjectAttributesResponse'-  { _loarsNextToken = Nothing-  , _loarsAttributes = Nothing-  , _loarsResponseStatus = pResponseStatus_-  }+    { _loarsNextToken = Nothing+    , _loarsAttributes = Nothing+    , _loarsResponseStatus = pResponseStatus_+    }   -- | The pagination token. loarsNextToken :: Lens' ListObjectAttributesResponse (Maybe Text)-loarsNextToken = lens _loarsNextToken (\ s a -> s{_loarsNextToken = a});+loarsNextToken = lens _loarsNextToken (\ s a -> s{_loarsNextToken = a})  -- | Attributes map that is associated with the object. @AttributeArn@ is the key, and attribute value is the value. loarsAttributes :: Lens' ListObjectAttributesResponse [AttributeKeyAndValue]-loarsAttributes = lens _loarsAttributes (\ s a -> s{_loarsAttributes = a}) . _Default . _Coerce;+loarsAttributes = lens _loarsAttributes (\ s a -> s{_loarsAttributes = a}) . _Default . _Coerce  -- | -- | The response status code. loarsResponseStatus :: Lens' ListObjectAttributesResponse Int-loarsResponseStatus = lens _loarsResponseStatus (\ s a -> s{_loarsResponseStatus = a});+loarsResponseStatus = lens _loarsResponseStatus (\ s a -> s{_loarsResponseStatus = a})  instance NFData ListObjectAttributesResponse where
gen/Network/AWS/CloudDirectory/ListObjectChildren.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListObjectChildren--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -78,33 +78,33 @@     -> ListObjectChildren listObjectChildren pDirectoryARN_ pObjectReference_ =   ListObjectChildren'-  { _locConsistencyLevel = Nothing-  , _locNextToken = Nothing-  , _locMaxResults = Nothing-  , _locDirectoryARN = pDirectoryARN_-  , _locObjectReference = pObjectReference_-  }+    { _locConsistencyLevel = Nothing+    , _locNextToken = Nothing+    , _locMaxResults = Nothing+    , _locDirectoryARN = pDirectoryARN_+    , _locObjectReference = pObjectReference_+    }   -- | Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object. locConsistencyLevel :: Lens' ListObjectChildren (Maybe ConsistencyLevel)-locConsistencyLevel = lens _locConsistencyLevel (\ s a -> s{_locConsistencyLevel = a});+locConsistencyLevel = lens _locConsistencyLevel (\ s a -> s{_locConsistencyLevel = a})  -- | The pagination token. locNextToken :: Lens' ListObjectChildren (Maybe Text)-locNextToken = lens _locNextToken (\ s a -> s{_locNextToken = a});+locNextToken = lens _locNextToken (\ s a -> s{_locNextToken = a})  -- | The maximum number of items to be retrieved in a single call. This is an approximate number. locMaxResults :: Lens' ListObjectChildren (Maybe Natural)-locMaxResults = lens _locMaxResults (\ s a -> s{_locMaxResults = a}) . mapping _Nat;+locMaxResults = lens _locMaxResults (\ s a -> s{_locMaxResults = a}) . mapping _Nat  -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' where the object resides. For more information, see 'arns' . locDirectoryARN :: Lens' ListObjectChildren Text-locDirectoryARN = lens _locDirectoryARN (\ s a -> s{_locDirectoryARN = a});+locDirectoryARN = lens _locDirectoryARN (\ s a -> s{_locDirectoryARN = a})  -- | The reference that identifies the object for which child objects are being listed. locObjectReference :: Lens' ListObjectChildren ObjectReference-locObjectReference = lens _locObjectReference (\ s a -> s{_locObjectReference = a});+locObjectReference = lens _locObjectReference (\ s a -> s{_locObjectReference = a})  instance AWSRequest ListObjectChildren where         type Rs ListObjectChildren =@@ -165,22 +165,22 @@     -> ListObjectChildrenResponse listObjectChildrenResponse pResponseStatus_ =   ListObjectChildrenResponse'-  { _locrsChildren = Nothing-  , _locrsNextToken = Nothing-  , _locrsResponseStatus = pResponseStatus_-  }+    { _locrsChildren = Nothing+    , _locrsNextToken = Nothing+    , _locrsResponseStatus = pResponseStatus_+    }   -- | Children structure, which is a map with key as the @LinkName@ and @ObjectIdentifier@ as the value. locrsChildren :: Lens' ListObjectChildrenResponse (HashMap Text Text)-locrsChildren = lens _locrsChildren (\ s a -> s{_locrsChildren = a}) . _Default . _Map;+locrsChildren = lens _locrsChildren (\ s a -> s{_locrsChildren = a}) . _Default . _Map  -- | The pagination token. locrsNextToken :: Lens' ListObjectChildrenResponse (Maybe Text)-locrsNextToken = lens _locrsNextToken (\ s a -> s{_locrsNextToken = a});+locrsNextToken = lens _locrsNextToken (\ s a -> s{_locrsNextToken = a})  -- | -- | The response status code. locrsResponseStatus :: Lens' ListObjectChildrenResponse Int-locrsResponseStatus = lens _locrsResponseStatus (\ s a -> s{_locrsResponseStatus = a});+locrsResponseStatus = lens _locrsResponseStatus (\ s a -> s{_locrsResponseStatus = a})  instance NFData ListObjectChildrenResponse where
gen/Network/AWS/CloudDirectory/ListObjectParentPaths.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListObjectParentPaths--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -23,6 +23,8 @@ -- -- Use this API to evaluate all parents for an object. The call returns all objects from the root of the directory up to the requested object. The API returns the number of paths based on user-defined @MaxResults@ , in case there are multiple paths to the parent. The order of the paths and nodes returned is consistent among multiple API calls unless the objects are deleted or moved. Paths not leading to the directory root are ignored from the target object. --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListObjectParentPaths     (     -- * Creating a Request@@ -46,6 +48,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -76,29 +79,37 @@     -> ListObjectParentPaths listObjectParentPaths pDirectoryARN_ pObjectReference_ =   ListObjectParentPaths'-  { _loppNextToken = Nothing-  , _loppMaxResults = Nothing-  , _loppDirectoryARN = pDirectoryARN_-  , _loppObjectReference = pObjectReference_-  }+    { _loppNextToken = Nothing+    , _loppMaxResults = Nothing+    , _loppDirectoryARN = pDirectoryARN_+    , _loppObjectReference = pObjectReference_+    }   -- | The pagination token. loppNextToken :: Lens' ListObjectParentPaths (Maybe Text)-loppNextToken = lens _loppNextToken (\ s a -> s{_loppNextToken = a});+loppNextToken = lens _loppNextToken (\ s a -> s{_loppNextToken = a})  -- | The maximum number of items to be retrieved in a single call. This is an approximate number. loppMaxResults :: Lens' ListObjectParentPaths (Maybe Natural)-loppMaxResults = lens _loppMaxResults (\ s a -> s{_loppMaxResults = a}) . mapping _Nat;+loppMaxResults = lens _loppMaxResults (\ s a -> s{_loppMaxResults = a}) . mapping _Nat  -- | The ARN of the directory to which the parent path applies. loppDirectoryARN :: Lens' ListObjectParentPaths Text-loppDirectoryARN = lens _loppDirectoryARN (\ s a -> s{_loppDirectoryARN = a});+loppDirectoryARN = lens _loppDirectoryARN (\ s a -> s{_loppDirectoryARN = a})  -- | The reference that identifies the object whose parent paths are listed. loppObjectReference :: Lens' ListObjectParentPaths ObjectReference-loppObjectReference = lens _loppObjectReference (\ s a -> s{_loppObjectReference = a});+loppObjectReference = lens _loppObjectReference (\ s a -> s{_loppObjectReference = a}) +instance AWSPager ListObjectParentPaths where+        page rq rs+          | stop (rs ^. lopprsNextToken) = Nothing+          | stop (rs ^. lopprsPathToObjectIdentifiersList) =+            Nothing+          | otherwise =+            Just $ rq & loppNextToken .~ rs ^. lopprsNextToken+ instance AWSRequest ListObjectParentPaths where         type Rs ListObjectParentPaths =              ListObjectParentPathsResponse@@ -158,22 +169,22 @@     -> ListObjectParentPathsResponse listObjectParentPathsResponse pResponseStatus_ =   ListObjectParentPathsResponse'-  { _lopprsPathToObjectIdentifiersList = Nothing-  , _lopprsNextToken = Nothing-  , _lopprsResponseStatus = pResponseStatus_-  }+    { _lopprsPathToObjectIdentifiersList = Nothing+    , _lopprsNextToken = Nothing+    , _lopprsResponseStatus = pResponseStatus_+    }   -- | Returns the path to the @ObjectIdentifiers@ that are associated with the directory. lopprsPathToObjectIdentifiersList :: Lens' ListObjectParentPathsResponse [PathToObjectIdentifiers]-lopprsPathToObjectIdentifiersList = lens _lopprsPathToObjectIdentifiersList (\ s a -> s{_lopprsPathToObjectIdentifiersList = a}) . _Default . _Coerce;+lopprsPathToObjectIdentifiersList = lens _lopprsPathToObjectIdentifiersList (\ s a -> s{_lopprsPathToObjectIdentifiersList = a}) . _Default . _Coerce  -- | The pagination token. lopprsNextToken :: Lens' ListObjectParentPathsResponse (Maybe Text)-lopprsNextToken = lens _lopprsNextToken (\ s a -> s{_lopprsNextToken = a});+lopprsNextToken = lens _lopprsNextToken (\ s a -> s{_lopprsNextToken = a})  -- | -- | The response status code. lopprsResponseStatus :: Lens' ListObjectParentPathsResponse Int-lopprsResponseStatus = lens _lopprsResponseStatus (\ s a -> s{_lopprsResponseStatus = a});+lopprsResponseStatus = lens _lopprsResponseStatus (\ s a -> s{_lopprsResponseStatus = a})  instance NFData ListObjectParentPathsResponse where
gen/Network/AWS/CloudDirectory/ListObjectParents.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListObjectParents--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -78,33 +78,33 @@     -> ListObjectParents listObjectParents pDirectoryARN_ pObjectReference_ =   ListObjectParents'-  { _lopConsistencyLevel = Nothing-  , _lopNextToken = Nothing-  , _lopMaxResults = Nothing-  , _lopDirectoryARN = pDirectoryARN_-  , _lopObjectReference = pObjectReference_-  }+    { _lopConsistencyLevel = Nothing+    , _lopNextToken = Nothing+    , _lopMaxResults = Nothing+    , _lopDirectoryARN = pDirectoryARN_+    , _lopObjectReference = pObjectReference_+    }   -- | Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object. lopConsistencyLevel :: Lens' ListObjectParents (Maybe ConsistencyLevel)-lopConsistencyLevel = lens _lopConsistencyLevel (\ s a -> s{_lopConsistencyLevel = a});+lopConsistencyLevel = lens _lopConsistencyLevel (\ s a -> s{_lopConsistencyLevel = a})  -- | The pagination token. lopNextToken :: Lens' ListObjectParents (Maybe Text)-lopNextToken = lens _lopNextToken (\ s a -> s{_lopNextToken = a});+lopNextToken = lens _lopNextToken (\ s a -> s{_lopNextToken = a})  -- | The maximum number of items to be retrieved in a single call. This is an approximate number. lopMaxResults :: Lens' ListObjectParents (Maybe Natural)-lopMaxResults = lens _lopMaxResults (\ s a -> s{_lopMaxResults = a}) . mapping _Nat;+lopMaxResults = lens _lopMaxResults (\ s a -> s{_lopMaxResults = a}) . mapping _Nat  -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' where the object resides. For more information, see 'arns' . lopDirectoryARN :: Lens' ListObjectParents Text-lopDirectoryARN = lens _lopDirectoryARN (\ s a -> s{_lopDirectoryARN = a});+lopDirectoryARN = lens _lopDirectoryARN (\ s a -> s{_lopDirectoryARN = a})  -- | The reference that identifies the object for which parent objects are being listed. lopObjectReference :: Lens' ListObjectParents ObjectReference-lopObjectReference = lens _lopObjectReference (\ s a -> s{_lopObjectReference = a});+lopObjectReference = lens _lopObjectReference (\ s a -> s{_lopObjectReference = a})  instance AWSRequest ListObjectParents where         type Rs ListObjectParents = ListObjectParentsResponse@@ -164,22 +164,22 @@     -> ListObjectParentsResponse listObjectParentsResponse pResponseStatus_ =   ListObjectParentsResponse'-  { _lrsNextToken = Nothing-  , _lrsParents = Nothing-  , _lrsResponseStatus = pResponseStatus_-  }+    { _lrsNextToken = Nothing+    , _lrsParents = Nothing+    , _lrsResponseStatus = pResponseStatus_+    }   -- | The pagination token. lrsNextToken :: Lens' ListObjectParentsResponse (Maybe Text)-lrsNextToken = lens _lrsNextToken (\ s a -> s{_lrsNextToken = a});+lrsNextToken = lens _lrsNextToken (\ s a -> s{_lrsNextToken = a})  -- | The parent structure, which is a map with key as the @ObjectIdentifier@ and LinkName as the value. lrsParents :: Lens' ListObjectParentsResponse (HashMap Text Text)-lrsParents = lens _lrsParents (\ s a -> s{_lrsParents = a}) . _Default . _Map;+lrsParents = lens _lrsParents (\ s a -> s{_lrsParents = a}) . _Default . _Map  -- | -- | The response status code. lrsResponseStatus :: Lens' ListObjectParentsResponse Int-lrsResponseStatus = lens _lrsResponseStatus (\ s a -> s{_lrsResponseStatus = a});+lrsResponseStatus = lens _lrsResponseStatus (\ s a -> s{_lrsResponseStatus = a})  instance NFData ListObjectParentsResponse where
gen/Network/AWS/CloudDirectory/ListObjectPolicies.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListObjectPolicies--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Returns policies attached to an object in pagination fashion. -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListObjectPolicies     (     -- * Creating a Request@@ -45,6 +47,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -78,34 +81,41 @@     -> ListObjectPolicies listObjectPolicies pDirectoryARN_ pObjectReference_ =   ListObjectPolicies'-  { _lConsistencyLevel = Nothing-  , _lNextToken = Nothing-  , _lMaxResults = Nothing-  , _lDirectoryARN = pDirectoryARN_-  , _lObjectReference = pObjectReference_-  }+    { _lConsistencyLevel = Nothing+    , _lNextToken = Nothing+    , _lMaxResults = Nothing+    , _lDirectoryARN = pDirectoryARN_+    , _lObjectReference = pObjectReference_+    }   -- | Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object. lConsistencyLevel :: Lens' ListObjectPolicies (Maybe ConsistencyLevel)-lConsistencyLevel = lens _lConsistencyLevel (\ s a -> s{_lConsistencyLevel = a});+lConsistencyLevel = lens _lConsistencyLevel (\ s a -> s{_lConsistencyLevel = a})  -- | The pagination token. lNextToken :: Lens' ListObjectPolicies (Maybe Text)-lNextToken = lens _lNextToken (\ s a -> s{_lNextToken = a});+lNextToken = lens _lNextToken (\ s a -> s{_lNextToken = a})  -- | The maximum number of items to be retrieved in a single call. This is an approximate number. lMaxResults :: Lens' ListObjectPolicies (Maybe Natural)-lMaxResults = lens _lMaxResults (\ s a -> s{_lMaxResults = a}) . mapping _Nat;+lMaxResults = lens _lMaxResults (\ s a -> s{_lMaxResults = a}) . mapping _Nat  -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' where objects reside. For more information, see 'arns' . lDirectoryARN :: Lens' ListObjectPolicies Text-lDirectoryARN = lens _lDirectoryARN (\ s a -> s{_lDirectoryARN = a});+lDirectoryARN = lens _lDirectoryARN (\ s a -> s{_lDirectoryARN = a})  -- | Reference that identifies the object for which policies will be listed. lObjectReference :: Lens' ListObjectPolicies ObjectReference-lObjectReference = lens _lObjectReference (\ s a -> s{_lObjectReference = a});+lObjectReference = lens _lObjectReference (\ s a -> s{_lObjectReference = a}) +instance AWSPager ListObjectPolicies where+        page rq rs+          | stop (rs ^. loprsNextToken) = Nothing+          | stop (rs ^. loprsAttachedPolicyIds) = Nothing+          | otherwise =+            Just $ rq & lNextToken .~ rs ^. loprsNextToken+ instance AWSRequest ListObjectPolicies where         type Rs ListObjectPolicies =              ListObjectPoliciesResponse@@ -166,22 +176,22 @@     -> ListObjectPoliciesResponse listObjectPoliciesResponse pResponseStatus_ =   ListObjectPoliciesResponse'-  { _loprsNextToken = Nothing-  , _loprsAttachedPolicyIds = Nothing-  , _loprsResponseStatus = pResponseStatus_-  }+    { _loprsNextToken = Nothing+    , _loprsAttachedPolicyIds = Nothing+    , _loprsResponseStatus = pResponseStatus_+    }   -- | The pagination token. loprsNextToken :: Lens' ListObjectPoliciesResponse (Maybe Text)-loprsNextToken = lens _loprsNextToken (\ s a -> s{_loprsNextToken = a});+loprsNextToken = lens _loprsNextToken (\ s a -> s{_loprsNextToken = a})  -- | A list of policy @ObjectIdentifiers@ , that are attached to the object. loprsAttachedPolicyIds :: Lens' ListObjectPoliciesResponse [Text]-loprsAttachedPolicyIds = lens _loprsAttachedPolicyIds (\ s a -> s{_loprsAttachedPolicyIds = a}) . _Default . _Coerce;+loprsAttachedPolicyIds = lens _loprsAttachedPolicyIds (\ s a -> s{_loprsAttachedPolicyIds = a}) . _Default . _Coerce  -- | -- | The response status code. loprsResponseStatus :: Lens' ListObjectPoliciesResponse Int-loprsResponseStatus = lens _loprsResponseStatus (\ s a -> s{_loprsResponseStatus = a});+loprsResponseStatus = lens _loprsResponseStatus (\ s a -> s{_loprsResponseStatus = a})  instance NFData ListObjectPoliciesResponse where
gen/Network/AWS/CloudDirectory/ListOutgoingTypedLinks.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListOutgoingTypedLinks--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -86,43 +86,43 @@     -> ListOutgoingTypedLinks listOutgoingTypedLinks pDirectoryARN_ pObjectReference_ =   ListOutgoingTypedLinks'-  { _lotlFilterAttributeRanges = Nothing-  , _lotlConsistencyLevel = Nothing-  , _lotlNextToken = Nothing-  , _lotlFilterTypedLink = Nothing-  , _lotlMaxResults = Nothing-  , _lotlDirectoryARN = pDirectoryARN_-  , _lotlObjectReference = pObjectReference_-  }+    { _lotlFilterAttributeRanges = Nothing+    , _lotlConsistencyLevel = Nothing+    , _lotlNextToken = Nothing+    , _lotlFilterTypedLink = Nothing+    , _lotlMaxResults = Nothing+    , _lotlDirectoryARN = pDirectoryARN_+    , _lotlObjectReference = pObjectReference_+    }   -- | Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. lotlFilterAttributeRanges :: Lens' ListOutgoingTypedLinks [TypedLinkAttributeRange]-lotlFilterAttributeRanges = lens _lotlFilterAttributeRanges (\ s a -> s{_lotlFilterAttributeRanges = a}) . _Default . _Coerce;+lotlFilterAttributeRanges = lens _lotlFilterAttributeRanges (\ s a -> s{_lotlFilterAttributeRanges = a}) . _Default . _Coerce  -- | The consistency level to execute the request at. lotlConsistencyLevel :: Lens' ListOutgoingTypedLinks (Maybe ConsistencyLevel)-lotlConsistencyLevel = lens _lotlConsistencyLevel (\ s a -> s{_lotlConsistencyLevel = a});+lotlConsistencyLevel = lens _lotlConsistencyLevel (\ s a -> s{_lotlConsistencyLevel = a})  -- | The pagination token. lotlNextToken :: Lens' ListOutgoingTypedLinks (Maybe Text)-lotlNextToken = lens _lotlNextToken (\ s a -> s{_lotlNextToken = a});+lotlNextToken = lens _lotlNextToken (\ s a -> s{_lotlNextToken = a})  -- | Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls. lotlFilterTypedLink :: Lens' ListOutgoingTypedLinks (Maybe TypedLinkSchemaAndFacetName)-lotlFilterTypedLink = lens _lotlFilterTypedLink (\ s a -> s{_lotlFilterTypedLink = a});+lotlFilterTypedLink = lens _lotlFilterTypedLink (\ s a -> s{_lotlFilterTypedLink = a})  -- | The maximum number of results to retrieve. lotlMaxResults :: Lens' ListOutgoingTypedLinks (Maybe Natural)-lotlMaxResults = lens _lotlMaxResults (\ s a -> s{_lotlMaxResults = a}) . mapping _Nat;+lotlMaxResults = lens _lotlMaxResults (\ s a -> s{_lotlMaxResults = a}) . mapping _Nat  -- | The Amazon Resource Name (ARN) of the directory where you want to list the typed links. lotlDirectoryARN :: Lens' ListOutgoingTypedLinks Text-lotlDirectoryARN = lens _lotlDirectoryARN (\ s a -> s{_lotlDirectoryARN = a});+lotlDirectoryARN = lens _lotlDirectoryARN (\ s a -> s{_lotlDirectoryARN = a})  -- | A reference that identifies the object whose attributes will be listed. lotlObjectReference :: Lens' ListOutgoingTypedLinks ObjectReference-lotlObjectReference = lens _lotlObjectReference (\ s a -> s{_lotlObjectReference = a});+lotlObjectReference = lens _lotlObjectReference (\ s a -> s{_lotlObjectReference = a})  instance AWSRequest ListOutgoingTypedLinks where         type Rs ListOutgoingTypedLinks =@@ -187,22 +187,22 @@     -> ListOutgoingTypedLinksResponse listOutgoingTypedLinksResponse pResponseStatus_ =   ListOutgoingTypedLinksResponse'-  { _lotlrsTypedLinkSpecifiers = Nothing-  , _lotlrsNextToken = Nothing-  , _lotlrsResponseStatus = pResponseStatus_-  }+    { _lotlrsTypedLinkSpecifiers = Nothing+    , _lotlrsNextToken = Nothing+    , _lotlrsResponseStatus = pResponseStatus_+    }   -- | Returns a typed link specifier as output. lotlrsTypedLinkSpecifiers :: Lens' ListOutgoingTypedLinksResponse [TypedLinkSpecifier]-lotlrsTypedLinkSpecifiers = lens _lotlrsTypedLinkSpecifiers (\ s a -> s{_lotlrsTypedLinkSpecifiers = a}) . _Default . _Coerce;+lotlrsTypedLinkSpecifiers = lens _lotlrsTypedLinkSpecifiers (\ s a -> s{_lotlrsTypedLinkSpecifiers = a}) . _Default . _Coerce  -- | The pagination token. lotlrsNextToken :: Lens' ListOutgoingTypedLinksResponse (Maybe Text)-lotlrsNextToken = lens _lotlrsNextToken (\ s a -> s{_lotlrsNextToken = a});+lotlrsNextToken = lens _lotlrsNextToken (\ s a -> s{_lotlrsNextToken = a})  -- | -- | The response status code. lotlrsResponseStatus :: Lens' ListOutgoingTypedLinksResponse Int-lotlrsResponseStatus = lens _lotlrsResponseStatus (\ s a -> s{_lotlrsResponseStatus = a});+lotlrsResponseStatus = lens _lotlrsResponseStatus (\ s a -> s{_lotlrsResponseStatus = a})  instance NFData ListOutgoingTypedLinksResponse where
gen/Network/AWS/CloudDirectory/ListPolicyAttachments.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListPolicyAttachments--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Returns all of the @ObjectIdentifiers@ to which a given policy is attached. -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListPolicyAttachments     (     -- * Creating a Request@@ -45,6 +47,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -78,34 +81,41 @@     -> ListPolicyAttachments listPolicyAttachments pDirectoryARN_ pPolicyReference_ =   ListPolicyAttachments'-  { _lpaConsistencyLevel = Nothing-  , _lpaNextToken = Nothing-  , _lpaMaxResults = Nothing-  , _lpaDirectoryARN = pDirectoryARN_-  , _lpaPolicyReference = pPolicyReference_-  }+    { _lpaConsistencyLevel = Nothing+    , _lpaNextToken = Nothing+    , _lpaMaxResults = Nothing+    , _lpaDirectoryARN = pDirectoryARN_+    , _lpaPolicyReference = pPolicyReference_+    }   -- | Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object. lpaConsistencyLevel :: Lens' ListPolicyAttachments (Maybe ConsistencyLevel)-lpaConsistencyLevel = lens _lpaConsistencyLevel (\ s a -> s{_lpaConsistencyLevel = a});+lpaConsistencyLevel = lens _lpaConsistencyLevel (\ s a -> s{_lpaConsistencyLevel = a})  -- | The pagination token. lpaNextToken :: Lens' ListPolicyAttachments (Maybe Text)-lpaNextToken = lens _lpaNextToken (\ s a -> s{_lpaNextToken = a});+lpaNextToken = lens _lpaNextToken (\ s a -> s{_lpaNextToken = a})  -- | The maximum number of items to be retrieved in a single call. This is an approximate number. lpaMaxResults :: Lens' ListPolicyAttachments (Maybe Natural)-lpaMaxResults = lens _lpaMaxResults (\ s a -> s{_lpaMaxResults = a}) . mapping _Nat;+lpaMaxResults = lens _lpaMaxResults (\ s a -> s{_lpaMaxResults = a}) . mapping _Nat  -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' where objects reside. For more information, see 'arns' . lpaDirectoryARN :: Lens' ListPolicyAttachments Text-lpaDirectoryARN = lens _lpaDirectoryARN (\ s a -> s{_lpaDirectoryARN = a});+lpaDirectoryARN = lens _lpaDirectoryARN (\ s a -> s{_lpaDirectoryARN = a})  -- | The reference that identifies the policy object. lpaPolicyReference :: Lens' ListPolicyAttachments ObjectReference-lpaPolicyReference = lens _lpaPolicyReference (\ s a -> s{_lpaPolicyReference = a});+lpaPolicyReference = lens _lpaPolicyReference (\ s a -> s{_lpaPolicyReference = a}) +instance AWSPager ListPolicyAttachments where+        page rq rs+          | stop (rs ^. lparsNextToken) = Nothing+          | stop (rs ^. lparsObjectIdentifiers) = Nothing+          | otherwise =+            Just $ rq & lpaNextToken .~ rs ^. lparsNextToken+ instance AWSRequest ListPolicyAttachments where         type Rs ListPolicyAttachments =              ListPolicyAttachmentsResponse@@ -166,22 +176,22 @@     -> ListPolicyAttachmentsResponse listPolicyAttachmentsResponse pResponseStatus_ =   ListPolicyAttachmentsResponse'-  { _lparsObjectIdentifiers = Nothing-  , _lparsNextToken = Nothing-  , _lparsResponseStatus = pResponseStatus_-  }+    { _lparsObjectIdentifiers = Nothing+    , _lparsNextToken = Nothing+    , _lparsResponseStatus = pResponseStatus_+    }   -- | A list of @ObjectIdentifiers@ to which the policy is attached. lparsObjectIdentifiers :: Lens' ListPolicyAttachmentsResponse [Text]-lparsObjectIdentifiers = lens _lparsObjectIdentifiers (\ s a -> s{_lparsObjectIdentifiers = a}) . _Default . _Coerce;+lparsObjectIdentifiers = lens _lparsObjectIdentifiers (\ s a -> s{_lparsObjectIdentifiers = a}) . _Default . _Coerce  -- | The pagination token. lparsNextToken :: Lens' ListPolicyAttachmentsResponse (Maybe Text)-lparsNextToken = lens _lparsNextToken (\ s a -> s{_lparsNextToken = a});+lparsNextToken = lens _lparsNextToken (\ s a -> s{_lparsNextToken = a})  -- | -- | The response status code. lparsResponseStatus :: Lens' ListPolicyAttachmentsResponse Int-lparsResponseStatus = lens _lparsResponseStatus (\ s a -> s{_lparsResponseStatus = a});+lparsResponseStatus = lens _lparsResponseStatus (\ s a -> s{_lparsResponseStatus = a})  instance NFData ListPolicyAttachmentsResponse where
gen/Network/AWS/CloudDirectory/ListPublishedSchemaARNs.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListPublishedSchemaARNs--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 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) ----- Retrieves each published schema Amazon Resource Name (ARN).+-- Lists the major version families of each published schema. If a major version ARN is provided as @SchemaArn@ , the minor version revisions in that family are listed instead. -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListPublishedSchemaARNs     (     -- * Creating a Request@@ -28,6 +30,7 @@     , ListPublishedSchemaARNs     -- * Request Lenses     , lpsaNextToken+    , lpsaSchemaARN     , lpsaMaxResults      -- * Destructuring the Response@@ -42,6 +45,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -49,6 +53,7 @@ -- | /See:/ 'listPublishedSchemaARNs' smart constructor. data ListPublishedSchemaARNs = ListPublishedSchemaARNs'   { _lpsaNextToken  :: !(Maybe Text)+  , _lpsaSchemaARN  :: !(Maybe Text)   , _lpsaMaxResults :: !(Maybe Nat)   } deriving (Eq, Read, Show, Data, Typeable, Generic) @@ -59,21 +64,38 @@ -- -- * 'lpsaNextToken' - The pagination token. --+-- * 'lpsaSchemaARN' - The response for @ListPublishedSchemaArns@ when this parameter is used will list all minor version ARNs for a major version.+-- -- * 'lpsaMaxResults' - The maximum number of results to retrieve. listPublishedSchemaARNs     :: ListPublishedSchemaARNs listPublishedSchemaARNs =-  ListPublishedSchemaARNs' {_lpsaNextToken = Nothing, _lpsaMaxResults = Nothing}+  ListPublishedSchemaARNs'+    { _lpsaNextToken = Nothing+    , _lpsaSchemaARN = Nothing+    , _lpsaMaxResults = Nothing+    }   -- | The pagination token. lpsaNextToken :: Lens' ListPublishedSchemaARNs (Maybe Text)-lpsaNextToken = lens _lpsaNextToken (\ s a -> s{_lpsaNextToken = a});+lpsaNextToken = lens _lpsaNextToken (\ s a -> s{_lpsaNextToken = a}) +-- | The response for @ListPublishedSchemaArns@ when this parameter is used will list all minor version ARNs for a major version.+lpsaSchemaARN :: Lens' ListPublishedSchemaARNs (Maybe Text)+lpsaSchemaARN = lens _lpsaSchemaARN (\ s a -> s{_lpsaSchemaARN = a})+ -- | The maximum number of results to retrieve. lpsaMaxResults :: Lens' ListPublishedSchemaARNs (Maybe Natural)-lpsaMaxResults = lens _lpsaMaxResults (\ s a -> s{_lpsaMaxResults = a}) . mapping _Nat;+lpsaMaxResults = lens _lpsaMaxResults (\ s a -> s{_lpsaMaxResults = a}) . mapping _Nat +instance AWSPager ListPublishedSchemaARNs where+        page rq rs+          | stop (rs ^. lpsarsNextToken) = Nothing+          | stop (rs ^. lpsarsSchemaARNs) = Nothing+          | otherwise =+            Just $ rq & lpsaNextToken .~ rs ^. lpsarsNextToken+ instance AWSRequest ListPublishedSchemaARNs where         type Rs ListPublishedSchemaARNs =              ListPublishedSchemaARNsResponse@@ -98,6 +120,7 @@           = object               (catMaybes                  [("NextToken" .=) <$> _lpsaNextToken,+                  ("SchemaArn" .=) <$> _lpsaSchemaARN,                   ("MaxResults" .=) <$> _lpsaMaxResults])  instance ToPath ListPublishedSchemaARNs where@@ -130,22 +153,22 @@     -> ListPublishedSchemaARNsResponse listPublishedSchemaARNsResponse pResponseStatus_ =   ListPublishedSchemaARNsResponse'-  { _lpsarsSchemaARNs = Nothing-  , _lpsarsNextToken = Nothing-  , _lpsarsResponseStatus = pResponseStatus_-  }+    { _lpsarsSchemaARNs = Nothing+    , _lpsarsNextToken = Nothing+    , _lpsarsResponseStatus = pResponseStatus_+    }   -- | The ARNs of published schemas. lpsarsSchemaARNs :: Lens' ListPublishedSchemaARNsResponse [Text]-lpsarsSchemaARNs = lens _lpsarsSchemaARNs (\ s a -> s{_lpsarsSchemaARNs = a}) . _Default . _Coerce;+lpsarsSchemaARNs = lens _lpsarsSchemaARNs (\ s a -> s{_lpsarsSchemaARNs = a}) . _Default . _Coerce  -- | The pagination token. lpsarsNextToken :: Lens' ListPublishedSchemaARNsResponse (Maybe Text)-lpsarsNextToken = lens _lpsarsNextToken (\ s a -> s{_lpsarsNextToken = a});+lpsarsNextToken = lens _lpsarsNextToken (\ s a -> s{_lpsarsNextToken = a})  -- | -- | The response status code. lpsarsResponseStatus :: Lens' ListPublishedSchemaARNsResponse Int-lpsarsResponseStatus = lens _lpsarsResponseStatus (\ s a -> s{_lpsarsResponseStatus = a});+lpsarsResponseStatus = lens _lpsarsResponseStatus (\ s a -> s{_lpsarsResponseStatus = a})  instance NFData ListPublishedSchemaARNsResponse where
gen/Network/AWS/CloudDirectory/ListTagsForResource.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListTagsForResource--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Returns tags for a resource. Tagging is currently supported only for directories with a limit of 50 tags per directory. All 50 tags are returned for a given directory with this API call. -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListTagsForResource     (     -- * Creating a Request@@ -43,6 +45,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -69,24 +72,31 @@     -> ListTagsForResource listTagsForResource pResourceARN_ =   ListTagsForResource'-  { _ltfrNextToken = Nothing-  , _ltfrMaxResults = Nothing-  , _ltfrResourceARN = pResourceARN_-  }+    { _ltfrNextToken = Nothing+    , _ltfrMaxResults = Nothing+    , _ltfrResourceARN = pResourceARN_+    }   -- | The pagination token. This is for future use. Currently pagination is not supported for tagging. ltfrNextToken :: Lens' ListTagsForResource (Maybe Text)-ltfrNextToken = lens _ltfrNextToken (\ s a -> s{_ltfrNextToken = a});+ltfrNextToken = lens _ltfrNextToken (\ s a -> s{_ltfrNextToken = a})  -- | The @MaxResults@ parameter sets the maximum number of results returned in a single page. This is for future use and is not supported currently. ltfrMaxResults :: Lens' ListTagsForResource (Maybe Natural)-ltfrMaxResults = lens _ltfrMaxResults (\ s a -> s{_ltfrMaxResults = a}) . mapping _Nat;+ltfrMaxResults = lens _ltfrMaxResults (\ s a -> s{_ltfrMaxResults = a}) . mapping _Nat  -- | The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories. ltfrResourceARN :: Lens' ListTagsForResource Text-ltfrResourceARN = lens _ltfrResourceARN (\ s a -> s{_ltfrResourceARN = a});+ltfrResourceARN = lens _ltfrResourceARN (\ s a -> s{_ltfrResourceARN = a}) +instance AWSPager ListTagsForResource where+        page rq rs+          | stop (rs ^. ltfrrsNextToken) = Nothing+          | stop (rs ^. ltfrrsTags) = Nothing+          | otherwise =+            Just $ rq & ltfrNextToken .~ rs ^. ltfrrsNextToken+ instance AWSRequest ListTagsForResource where         type Rs ListTagsForResource =              ListTagsForResourceResponse@@ -142,22 +152,22 @@     -> ListTagsForResourceResponse listTagsForResourceResponse pResponseStatus_ =   ListTagsForResourceResponse'-  { _ltfrrsNextToken = Nothing-  , _ltfrrsTags = Nothing-  , _ltfrrsResponseStatus = pResponseStatus_-  }+    { _ltfrrsNextToken = Nothing+    , _ltfrrsTags = Nothing+    , _ltfrrsResponseStatus = pResponseStatus_+    }   -- | The token to use to retrieve the next page of results. This value is null when there are no more results to return. ltfrrsNextToken :: Lens' ListTagsForResourceResponse (Maybe Text)-ltfrrsNextToken = lens _ltfrrsNextToken (\ s a -> s{_ltfrrsNextToken = a});+ltfrrsNextToken = lens _ltfrrsNextToken (\ s a -> s{_ltfrrsNextToken = a})  -- | A list of tag key value pairs that are associated with the response. ltfrrsTags :: Lens' ListTagsForResourceResponse [Tag]-ltfrrsTags = lens _ltfrrsTags (\ s a -> s{_ltfrrsTags = a}) . _Default . _Coerce;+ltfrrsTags = lens _ltfrrsTags (\ s a -> s{_ltfrrsTags = a}) . _Default . _Coerce  -- | -- | The response status code. ltfrrsResponseStatus :: Lens' ListTagsForResourceResponse Int-ltfrrsResponseStatus = lens _ltfrrsResponseStatus (\ s a -> s{_ltfrrsResponseStatus = a});+ltfrrsResponseStatus = lens _ltfrrsResponseStatus (\ s a -> s{_ltfrrsResponseStatus = a})  instance NFData ListTagsForResourceResponse where
gen/Network/AWS/CloudDirectory/ListTypedLinkFacetAttributes.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListTypedLinkFacetAttributes--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Returns a paginated list of all attribute definitions for a particular 'TypedLinkFacet' . For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> . -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListTypedLinkFacetAttributes     (     -- * Creating a Request@@ -44,6 +46,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -74,29 +77,36 @@     -> ListTypedLinkFacetAttributes listTypedLinkFacetAttributes pSchemaARN_ pName_ =   ListTypedLinkFacetAttributes'-  { _ltlfaNextToken = Nothing-  , _ltlfaMaxResults = Nothing-  , _ltlfaSchemaARN = pSchemaARN_-  , _ltlfaName = pName_-  }+    { _ltlfaNextToken = Nothing+    , _ltlfaMaxResults = Nothing+    , _ltlfaSchemaARN = pSchemaARN_+    , _ltlfaName = pName_+    }   -- | The pagination token. ltlfaNextToken :: Lens' ListTypedLinkFacetAttributes (Maybe Text)-ltlfaNextToken = lens _ltlfaNextToken (\ s a -> s{_ltlfaNextToken = a});+ltlfaNextToken = lens _ltlfaNextToken (\ s a -> s{_ltlfaNextToken = a})  -- | The maximum number of results to retrieve. ltlfaMaxResults :: Lens' ListTypedLinkFacetAttributes (Maybe Natural)-ltlfaMaxResults = lens _ltlfaMaxResults (\ s a -> s{_ltlfaMaxResults = a}) . mapping _Nat;+ltlfaMaxResults = lens _ltlfaMaxResults (\ s a -> s{_ltlfaMaxResults = a}) . mapping _Nat  -- | The Amazon Resource Name (ARN) that is associated with the schema. For more information, see 'arns' . ltlfaSchemaARN :: Lens' ListTypedLinkFacetAttributes Text-ltlfaSchemaARN = lens _ltlfaSchemaARN (\ s a -> s{_ltlfaSchemaARN = a});+ltlfaSchemaARN = lens _ltlfaSchemaARN (\ s a -> s{_ltlfaSchemaARN = a})  -- | The unique name of the typed link facet. ltlfaName :: Lens' ListTypedLinkFacetAttributes Text-ltlfaName = lens _ltlfaName (\ s a -> s{_ltlfaName = a});+ltlfaName = lens _ltlfaName (\ s a -> s{_ltlfaName = a}) +instance AWSPager ListTypedLinkFacetAttributes where+        page rq rs+          | stop (rs ^. ltlfarsNextToken) = Nothing+          | stop (rs ^. ltlfarsAttributes) = Nothing+          | otherwise =+            Just $ rq & ltlfaNextToken .~ rs ^. ltlfarsNextToken+ instance AWSRequest ListTypedLinkFacetAttributes          where         type Rs ListTypedLinkFacetAttributes =@@ -156,23 +166,23 @@     -> ListTypedLinkFacetAttributesResponse listTypedLinkFacetAttributesResponse pResponseStatus_ =   ListTypedLinkFacetAttributesResponse'-  { _ltlfarsNextToken = Nothing-  , _ltlfarsAttributes = Nothing-  , _ltlfarsResponseStatus = pResponseStatus_-  }+    { _ltlfarsNextToken = Nothing+    , _ltlfarsAttributes = Nothing+    , _ltlfarsResponseStatus = pResponseStatus_+    }   -- | The pagination token. ltlfarsNextToken :: Lens' ListTypedLinkFacetAttributesResponse (Maybe Text)-ltlfarsNextToken = lens _ltlfarsNextToken (\ s a -> s{_ltlfarsNextToken = a});+ltlfarsNextToken = lens _ltlfarsNextToken (\ s a -> s{_ltlfarsNextToken = a})  -- | An ordered set of attributes associate with the typed link. ltlfarsAttributes :: Lens' ListTypedLinkFacetAttributesResponse [TypedLinkAttributeDefinition]-ltlfarsAttributes = lens _ltlfarsAttributes (\ s a -> s{_ltlfarsAttributes = a}) . _Default . _Coerce;+ltlfarsAttributes = lens _ltlfarsAttributes (\ s a -> s{_ltlfarsAttributes = a}) . _Default . _Coerce  -- | -- | The response status code. ltlfarsResponseStatus :: Lens' ListTypedLinkFacetAttributesResponse Int-ltlfarsResponseStatus = lens _ltlfarsResponseStatus (\ s a -> s{_ltlfarsResponseStatus = a});+ltlfarsResponseStatus = lens _ltlfarsResponseStatus (\ s a -> s{_ltlfarsResponseStatus = a})  instance NFData ListTypedLinkFacetAttributesResponse          where
gen/Network/AWS/CloudDirectory/ListTypedLinkFacetNames.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.ListTypedLinkFacetNames--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Returns a paginated list of @TypedLink@ facet names for a particular schema. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> . -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.ListTypedLinkFacetNames     (     -- * Creating a Request@@ -43,6 +45,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -69,24 +72,31 @@     -> ListTypedLinkFacetNames listTypedLinkFacetNames pSchemaARN_ =   ListTypedLinkFacetNames'-  { _ltlfnNextToken = Nothing-  , _ltlfnMaxResults = Nothing-  , _ltlfnSchemaARN = pSchemaARN_-  }+    { _ltlfnNextToken = Nothing+    , _ltlfnMaxResults = Nothing+    , _ltlfnSchemaARN = pSchemaARN_+    }   -- | The pagination token. ltlfnNextToken :: Lens' ListTypedLinkFacetNames (Maybe Text)-ltlfnNextToken = lens _ltlfnNextToken (\ s a -> s{_ltlfnNextToken = a});+ltlfnNextToken = lens _ltlfnNextToken (\ s a -> s{_ltlfnNextToken = a})  -- | The maximum number of results to retrieve. ltlfnMaxResults :: Lens' ListTypedLinkFacetNames (Maybe Natural)-ltlfnMaxResults = lens _ltlfnMaxResults (\ s a -> s{_ltlfnMaxResults = a}) . mapping _Nat;+ltlfnMaxResults = lens _ltlfnMaxResults (\ s a -> s{_ltlfnMaxResults = a}) . mapping _Nat  -- | The Amazon Resource Name (ARN) that is associated with the schema. For more information, see 'arns' . ltlfnSchemaARN :: Lens' ListTypedLinkFacetNames Text-ltlfnSchemaARN = lens _ltlfnSchemaARN (\ s a -> s{_ltlfnSchemaARN = a});+ltlfnSchemaARN = lens _ltlfnSchemaARN (\ s a -> s{_ltlfnSchemaARN = a}) +instance AWSPager ListTypedLinkFacetNames where+        page rq rs+          | stop (rs ^. ltlfnrsNextToken) = Nothing+          | stop (rs ^. ltlfnrsFacetNames) = Nothing+          | otherwise =+            Just $ rq & ltlfnNextToken .~ rs ^. ltlfnrsNextToken+ instance AWSRequest ListTypedLinkFacetNames where         type Rs ListTypedLinkFacetNames =              ListTypedLinkFacetNamesResponse@@ -144,22 +154,22 @@     -> ListTypedLinkFacetNamesResponse listTypedLinkFacetNamesResponse pResponseStatus_ =   ListTypedLinkFacetNamesResponse'-  { _ltlfnrsNextToken = Nothing-  , _ltlfnrsFacetNames = Nothing-  , _ltlfnrsResponseStatus = pResponseStatus_-  }+    { _ltlfnrsNextToken = Nothing+    , _ltlfnrsFacetNames = Nothing+    , _ltlfnrsResponseStatus = pResponseStatus_+    }   -- | The pagination token. ltlfnrsNextToken :: Lens' ListTypedLinkFacetNamesResponse (Maybe Text)-ltlfnrsNextToken = lens _ltlfnrsNextToken (\ s a -> s{_ltlfnrsNextToken = a});+ltlfnrsNextToken = lens _ltlfnrsNextToken (\ s a -> s{_ltlfnrsNextToken = a})  -- | The names of typed link facets that exist within the schema. ltlfnrsFacetNames :: Lens' ListTypedLinkFacetNamesResponse [Text]-ltlfnrsFacetNames = lens _ltlfnrsFacetNames (\ s a -> s{_ltlfnrsFacetNames = a}) . _Default . _Coerce;+ltlfnrsFacetNames = lens _ltlfnrsFacetNames (\ s a -> s{_ltlfnrsFacetNames = a}) . _Default . _Coerce  -- | -- | The response status code. ltlfnrsResponseStatus :: Lens' ListTypedLinkFacetNamesResponse Int-ltlfnrsResponseStatus = lens _ltlfnrsResponseStatus (\ s a -> s{_ltlfnrsResponseStatus = a});+ltlfnrsResponseStatus = lens _ltlfnrsResponseStatus (\ s a -> s{_ltlfnrsResponseStatus = a})  instance NFData ListTypedLinkFacetNamesResponse where
gen/Network/AWS/CloudDirectory/LookupPolicy.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.LookupPolicy--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> . -- --+--+-- This operation returns paginated results. module Network.AWS.CloudDirectory.LookupPolicy     (     -- * Creating a Request@@ -44,6 +46,7 @@ import Network.AWS.CloudDirectory.Types import Network.AWS.CloudDirectory.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -74,29 +77,36 @@     -> LookupPolicy lookupPolicy pDirectoryARN_ pObjectReference_ =   LookupPolicy'-  { _lpNextToken = Nothing-  , _lpMaxResults = Nothing-  , _lpDirectoryARN = pDirectoryARN_-  , _lpObjectReference = pObjectReference_-  }+    { _lpNextToken = Nothing+    , _lpMaxResults = Nothing+    , _lpDirectoryARN = pDirectoryARN_+    , _lpObjectReference = pObjectReference_+    }   -- | The token to request the next page of results. lpNextToken :: Lens' LookupPolicy (Maybe Text)-lpNextToken = lens _lpNextToken (\ s a -> s{_lpNextToken = a});+lpNextToken = lens _lpNextToken (\ s a -> s{_lpNextToken = a})  -- | The maximum number of items to be retrieved in a single call. This is an approximate number. lpMaxResults :: Lens' LookupPolicy (Maybe Natural)-lpMaxResults = lens _lpMaxResults (\ s a -> s{_lpMaxResults = a}) . mapping _Nat;+lpMaxResults = lens _lpMaxResults (\ s a -> s{_lpMaxResults = a}) . mapping _Nat  -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' . For more information, see 'arns' . lpDirectoryARN :: Lens' LookupPolicy Text-lpDirectoryARN = lens _lpDirectoryARN (\ s a -> s{_lpDirectoryARN = a});+lpDirectoryARN = lens _lpDirectoryARN (\ s a -> s{_lpDirectoryARN = a})  -- | Reference that identifies the object whose policies will be looked up. lpObjectReference :: Lens' LookupPolicy ObjectReference-lpObjectReference = lens _lpObjectReference (\ s a -> s{_lpObjectReference = a});+lpObjectReference = lens _lpObjectReference (\ s a -> s{_lpObjectReference = a}) +instance AWSPager LookupPolicy where+        page rq rs+          | stop (rs ^. lprsNextToken) = Nothing+          | stop (rs ^. lprsPolicyToPathList) = Nothing+          | otherwise =+            Just $ rq & lpNextToken .~ rs ^. lprsNextToken+ instance AWSRequest LookupPolicy where         type Rs LookupPolicy = LookupPolicyResponse         request = postJSON cloudDirectory@@ -154,22 +164,22 @@     -> LookupPolicyResponse lookupPolicyResponse pResponseStatus_ =   LookupPolicyResponse'-  { _lprsNextToken = Nothing-  , _lprsPolicyToPathList = Nothing-  , _lprsResponseStatus = pResponseStatus_-  }+    { _lprsNextToken = Nothing+    , _lprsPolicyToPathList = Nothing+    , _lprsResponseStatus = pResponseStatus_+    }   -- | The pagination token. lprsNextToken :: Lens' LookupPolicyResponse (Maybe Text)-lprsNextToken = lens _lprsNextToken (\ s a -> s{_lprsNextToken = a});+lprsNextToken = lens _lprsNextToken (\ s a -> s{_lprsNextToken = a})  -- | Provides list of path to policies. Policies contain @PolicyId@ , @ObjectIdentifier@ , and @PolicyType@ . For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> . lprsPolicyToPathList :: Lens' LookupPolicyResponse [PolicyToPath]-lprsPolicyToPathList = lens _lprsPolicyToPathList (\ s a -> s{_lprsPolicyToPathList = a}) . _Default . _Coerce;+lprsPolicyToPathList = lens _lprsPolicyToPathList (\ s a -> s{_lprsPolicyToPathList = a}) . _Default . _Coerce  -- | -- | The response status code. lprsResponseStatus :: Lens' LookupPolicyResponse Int-lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a});+lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a})  instance NFData LookupPolicyResponse where
gen/Network/AWS/CloudDirectory/PublishSchema.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.CloudDirectory.PublishSchema--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 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) ----- Publishes a development schema with a version. If description and attributes are specified, @PublishSchema@ overrides the development schema description and attributes. If not, the development schema description and attributes are used.+-- Publishes a development schema with a major version and a recommended minor version. -- -- module Network.AWS.CloudDirectory.PublishSchema@@ -27,6 +27,7 @@       publishSchema     , PublishSchema     -- * Request Lenses+    , psMinorVersion     , psName     , psDevelopmentSchemaARN     , psVersion@@ -48,7 +49,8 @@  -- | /See:/ 'publishSchema' smart constructor. data PublishSchema = PublishSchema'-  { _psName                 :: !(Maybe Text)+  { _psMinorVersion         :: !(Maybe Text)+  , _psName                 :: !(Maybe Text)   , _psDevelopmentSchemaARN :: !Text   , _psVersion              :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)@@ -58,34 +60,41 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'psMinorVersion' - The minor version under which the schema will be published. This parameter is recommended. Schemas have both a major and minor version associated with them.+-- -- * 'psName' - The new name under which the schema will be published. If this is not provided, the development schema is considered. -- -- * 'psDevelopmentSchemaARN' - The Amazon Resource Name (ARN) that is associated with the development schema. For more information, see 'arns' . ----- * 'psVersion' - The version under which the schema will be published.+-- * 'psVersion' - The major version under which the schema will be published. Schemas have both a major and minor version associated with them. publishSchema     :: Text -- ^ 'psDevelopmentSchemaARN'     -> Text -- ^ 'psVersion'     -> PublishSchema publishSchema pDevelopmentSchemaARN_ pVersion_ =   PublishSchema'-  { _psName = Nothing-  , _psDevelopmentSchemaARN = pDevelopmentSchemaARN_-  , _psVersion = pVersion_-  }+    { _psMinorVersion = Nothing+    , _psName = Nothing+    , _psDevelopmentSchemaARN = pDevelopmentSchemaARN_+    , _psVersion = pVersion_+    }  +-- | The minor version under which the schema will be published. This parameter is recommended. Schemas have both a major and minor version associated with them.+psMinorVersion :: Lens' PublishSchema (Maybe Text)+psMinorVersion = lens _psMinorVersion (\ s a -> s{_psMinorVersion = a})+ -- | The new name under which the schema will be published. If this is not provided, the development schema is considered. psName :: Lens' PublishSchema (Maybe Text)-psName = lens _psName (\ s a -> s{_psName = a});+psName = lens _psName (\ s a -> s{_psName = a})  -- | The Amazon Resource Name (ARN) that is associated with the development schema. For more information, see 'arns' . psDevelopmentSchemaARN :: Lens' PublishSchema Text-psDevelopmentSchemaARN = lens _psDevelopmentSchemaARN (\ s a -> s{_psDevelopmentSchemaARN = a});+psDevelopmentSchemaARN = lens _psDevelopmentSchemaARN (\ s a -> s{_psDevelopmentSchemaARN = a}) --- | The version under which the schema will be published.+-- | The major version under which the schema will be published. Schemas have both a major and minor version associated with them. psVersion :: Lens' PublishSchema Text-psVersion = lens _psVersion (\ s a -> s{_psVersion = a});+psVersion = lens _psVersion (\ s a -> s{_psVersion = a})  instance AWSRequest PublishSchema where         type Rs PublishSchema = PublishSchemaResponse@@ -109,7 +118,8 @@         toJSON PublishSchema'{..}           = object               (catMaybes-                 [("Name" .=) <$> _psName,+                 [("MinorVersion" .=) <$> _psMinorVersion,+                  ("Name" .=) <$> _psName,                   Just ("Version" .= _psVersion)])  instance ToPath PublishSchema where@@ -139,15 +149,15 @@     -> PublishSchemaResponse publishSchemaResponse pResponseStatus_ =   PublishSchemaResponse'-  {_psrsPublishedSchemaARN = Nothing, _psrsResponseStatus = pResponseStatus_}+    {_psrsPublishedSchemaARN = Nothing, _psrsResponseStatus = pResponseStatus_}   -- | The ARN that is associated with the published schema. For more information, see 'arns' . psrsPublishedSchemaARN :: Lens' PublishSchemaResponse (Maybe Text)-psrsPublishedSchemaARN = lens _psrsPublishedSchemaARN (\ s a -> s{_psrsPublishedSchemaARN = a});+psrsPublishedSchemaARN = lens _psrsPublishedSchemaARN (\ s a -> s{_psrsPublishedSchemaARN = a})  -- | -- | The response status code. psrsResponseStatus :: Lens' PublishSchemaResponse Int-psrsResponseStatus = lens _psrsResponseStatus (\ s a -> s{_psrsResponseStatus = a});+psrsResponseStatus = lens _psrsResponseStatus (\ s a -> s{_psrsResponseStatus = a})  instance NFData PublishSchemaResponse where
gen/Network/AWS/CloudDirectory/PutSchemaFromJSON.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.PutSchemaFromJSON--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,11 +69,11 @@  -- | The ARN of the schema to update. psfjSchemaARN :: Lens' PutSchemaFromJSON Text-psfjSchemaARN = lens _psfjSchemaARN (\ s a -> s{_psfjSchemaARN = a});+psfjSchemaARN = lens _psfjSchemaARN (\ s a -> s{_psfjSchemaARN = a})  -- | The replacement JSON schema. psfjDocument :: Lens' PutSchemaFromJSON Text-psfjDocument = lens _psfjDocument (\ s a -> s{_psfjDocument = a});+psfjDocument = lens _psfjDocument (\ s a -> s{_psfjDocument = a})  instance AWSRequest PutSchemaFromJSON where         type Rs PutSchemaFromJSON = PutSchemaFromJSONResponse@@ -124,15 +124,15 @@     -> PutSchemaFromJSONResponse putSchemaFromJSONResponse pResponseStatus_ =   PutSchemaFromJSONResponse'-  {_psfjrsARN = Nothing, _psfjrsResponseStatus = pResponseStatus_}+    {_psfjrsARN = Nothing, _psfjrsResponseStatus = pResponseStatus_}   -- | The ARN of the schema to update. psfjrsARN :: Lens' PutSchemaFromJSONResponse (Maybe Text)-psfjrsARN = lens _psfjrsARN (\ s a -> s{_psfjrsARN = a});+psfjrsARN = lens _psfjrsARN (\ s a -> s{_psfjrsARN = a})  -- | -- | The response status code. psfjrsResponseStatus :: Lens' PutSchemaFromJSONResponse Int-psfjrsResponseStatus = lens _psfjrsResponseStatus (\ s a -> s{_psfjrsResponseStatus = a});+psfjrsResponseStatus = lens _psfjrsResponseStatus (\ s a -> s{_psfjrsResponseStatus = a})  instance NFData PutSchemaFromJSONResponse where
gen/Network/AWS/CloudDirectory/RemoveFacetFromObject.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.RemoveFacetFromObject--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -59,7 +59,7 @@ -- -- * 'rffoDirectoryARN' - The ARN of the directory in which the object resides. ----- * 'rffoSchemaFacet' - The facet to remove.+-- * 'rffoSchemaFacet' - The facet to remove. See 'SchemaFacet' for details. -- -- * 'rffoObjectReference' - A reference to the object to remove the facet from. removeFacetFromObject@@ -69,23 +69,23 @@     -> RemoveFacetFromObject removeFacetFromObject pDirectoryARN_ pSchemaFacet_ pObjectReference_ =   RemoveFacetFromObject'-  { _rffoDirectoryARN = pDirectoryARN_-  , _rffoSchemaFacet = pSchemaFacet_-  , _rffoObjectReference = pObjectReference_-  }+    { _rffoDirectoryARN = pDirectoryARN_+    , _rffoSchemaFacet = pSchemaFacet_+    , _rffoObjectReference = pObjectReference_+    }   -- | The ARN of the directory in which the object resides. rffoDirectoryARN :: Lens' RemoveFacetFromObject Text-rffoDirectoryARN = lens _rffoDirectoryARN (\ s a -> s{_rffoDirectoryARN = a});+rffoDirectoryARN = lens _rffoDirectoryARN (\ s a -> s{_rffoDirectoryARN = a}) --- | The facet to remove.+-- | The facet to remove. See 'SchemaFacet' for details. rffoSchemaFacet :: Lens' RemoveFacetFromObject SchemaFacet-rffoSchemaFacet = lens _rffoSchemaFacet (\ s a -> s{_rffoSchemaFacet = a});+rffoSchemaFacet = lens _rffoSchemaFacet (\ s a -> s{_rffoSchemaFacet = a})  -- | A reference to the object to remove the facet from. rffoObjectReference :: Lens' RemoveFacetFromObject ObjectReference-rffoObjectReference = lens _rffoObjectReference (\ s a -> s{_rffoObjectReference = a});+rffoObjectReference = lens _rffoObjectReference (\ s a -> s{_rffoObjectReference = a})  instance AWSRequest RemoveFacetFromObject where         type Rs RemoveFacetFromObject =@@ -141,6 +141,6 @@  -- | -- | The response status code. rfforsResponseStatus :: Lens' RemoveFacetFromObjectResponse Int-rfforsResponseStatus = lens _rfforsResponseStatus (\ s a -> s{_rfforsResponseStatus = a});+rfforsResponseStatus = lens _rfforsResponseStatus (\ s a -> s{_rfforsResponseStatus = a})  instance NFData RemoveFacetFromObjectResponse where
gen/Network/AWS/CloudDirectory/TagResource.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.TagResource--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,11 +67,11 @@  -- | The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories. trResourceARN :: Lens' TagResource Text-trResourceARN = lens _trResourceARN (\ s a -> s{_trResourceARN = a});+trResourceARN = lens _trResourceARN (\ s a -> s{_trResourceARN = a})  -- | A list of tag key-value pairs. trTags :: Lens' TagResource [Tag]-trTags = lens _trTags (\ s a -> s{_trTags = a}) . _Coerce;+trTags = lens _trTags (\ s a -> s{_trTags = a}) . _Coerce  instance AWSRequest TagResource where         type Rs TagResource = TagResourceResponse@@ -122,6 +122,6 @@  -- | -- | The response status code. trrsResponseStatus :: Lens' TagResourceResponse Int-trrsResponseStatus = lens _trrsResponseStatus (\ s a -> s{_trrsResponseStatus = a});+trrsResponseStatus = lens _trrsResponseStatus (\ s a -> s{_trrsResponseStatus = a})  instance NFData TagResourceResponse where
gen/Network/AWS/CloudDirectory/Types.hs view
@@ -4,7 +4,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.Types--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -36,6 +36,7 @@     , _FacetInUseException     , _FacetValidationException     , _StillContainsLinksException+    , _IncompatibleSchemaException     , _NotNodeException     , _InvalidNextTokenException     , _ObjectAlreadyDetachedException@@ -171,11 +172,11 @@     -- * BatchCreateObject     , BatchCreateObject     , batchCreateObject-    , bcoSchemaFacet-    , bcoObjectAttributeList     , bcoParentReference     , bcoLinkName     , bcoBatchReferenceName+    , bcoSchemaFacet+    , bcoObjectAttributeList      -- * BatchCreateObjectResponse     , BatchCreateObjectResponse@@ -205,9 +206,9 @@     -- * BatchDetachObject     , BatchDetachObject     , batchDetachObject+    , bdoBatchReferenceName     , bdoParentReference     , bdoLinkName-    , bdoBatchReferenceName      -- * BatchDetachObjectResponse     , BatchDetachObjectResponse@@ -233,6 +234,18 @@     , BatchDetachTypedLinkResponse     , batchDetachTypedLinkResponse +    -- * BatchGetObjectAttributes+    , BatchGetObjectAttributes+    , batchGetObjectAttributes+    , bgoaObjectReference+    , bgoaSchemaFacet+    , bgoaAttributeNames++    -- * BatchGetObjectAttributesResponse+    , BatchGetObjectAttributesResponse+    , batchGetObjectAttributesResponse+    , bgoaAttributes+     -- * BatchGetObjectInformation     , BatchGetObjectInformation     , batchGetObjectInformation@@ -396,6 +409,7 @@     , broListObjectParentPaths     , broListObjectAttributes     , broListIncomingTypedLinks+    , broGetObjectAttributes     , broListObjectChildren     , broListPolicyAttachments     , broListOutgoingTypedLinks@@ -417,6 +431,7 @@     , brsListObjectParentPaths     , brsListObjectAttributes     , brsListIncomingTypedLinks+    , brsGetObjectAttributes     , brsListObjectChildren     , brsListPolicyAttachments     , brsListOutgoingTypedLinks@@ -658,24 +673,24 @@ cloudDirectory :: Service cloudDirectory =   Service-  { _svcAbbrev = "CloudDirectory"-  , _svcSigner = v4-  , _svcPrefix = "clouddirectory"-  , _svcVersion = "2016-05-10"-  , _svcEndpoint = defaultEndpoint cloudDirectory-  , _svcTimeout = Just 70-  , _svcCheck = statusSuccess-  , _svcError = parseJSONError "CloudDirectory"-  , _svcRetry = retry-  }+    { _svcAbbrev = "CloudDirectory"+    , _svcSigner = v4+    , _svcPrefix = "clouddirectory"+    , _svcVersion = "2016-05-10"+    , _svcEndpoint = defaultEndpoint cloudDirectory+    , _svcTimeout = Just 70+    , _svcCheck = statusSuccess+    , _svcError = parseJSONError "CloudDirectory"+    , _svcRetry = retry+    }   where     retry =       Exponential-      { _retryBase = 5.0e-2-      , _retryGrowth = 2-      , _retryAttempts = 5-      , _retryCheck = check-      }+        { _retryBase = 5.0e-2+        , _retryGrowth = 2+        , _retryAttempts = 5+        , _retryCheck = check+        }     check e       | has (hasCode "ThrottledException" . hasStatus 400) e =         Just "throttled_exception"@@ -684,6 +699,8 @@         Just "throttling_exception"       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"       | has (hasStatus 504) e = Just "gateway_timeout"+      | has (hasCode "RequestThrottledException" . hasStatus 400) e =+        Just "request_throttled_exception"       | has (hasStatus 502) e = Just "bad_gateway"       | has (hasStatus 503) e = Just "service_unavailable"       | has (hasStatus 500) e = Just "general_server_error"@@ -826,7 +843,7 @@ _BatchWriteException = _MatchServiceError cloudDirectory "BatchWriteException"  --- | An operation can only operate on a directory that is not enabled.+-- | Operations are only permitted on enabled directories. -- -- _DirectoryNotEnabledException :: AsError a => Getting (First ServiceError) a ServiceError@@ -857,6 +874,15 @@ _StillContainsLinksException :: AsError a => Getting (First ServiceError) a ServiceError _StillContainsLinksException =   _MatchServiceError cloudDirectory "StillContainsLinksException" .+  hasStatus 400+++-- | Indicates a failure occurred while performing a check for backward compatibility between the specified schema and the schema that is currently applied to the directory.+--+--+_IncompatibleSchemaException :: AsError a => Getting (First ServiceError) a ServiceError+_IncompatibleSchemaException =+  _MatchServiceError cloudDirectory "IncompatibleSchemaException" .   hasStatus 400  
gen/Network/AWS/CloudDirectory/Types/Product.hs view
@@ -9,4586 +9,4698 @@  -- | -- Module      : Network.AWS.CloudDirectory.Types.Product--- Copyright   : (c) 2013-2017 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 Network.AWS.CloudDirectory.Types.Product where--import Network.AWS.CloudDirectory.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude---- | A unique identifier for an attribute.------------ /See:/ 'attributeKey' smart constructor.-data AttributeKey = AttributeKey'-  { _akSchemaARN :: !Text-  , _akFacetName :: !Text-  , _akName      :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AttributeKey' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'akSchemaARN' - The Amazon Resource Name (ARN) of the schema that contains the facet and attribute.------ * 'akFacetName' - The name of the facet that the attribute exists within.------ * 'akName' - The name of the attribute.-attributeKey-    :: Text -- ^ 'akSchemaARN'-    -> Text -- ^ 'akFacetName'-    -> Text -- ^ 'akName'-    -> AttributeKey-attributeKey pSchemaARN_ pFacetName_ pName_ =-  AttributeKey'-  {_akSchemaARN = pSchemaARN_, _akFacetName = pFacetName_, _akName = pName_}----- | The Amazon Resource Name (ARN) of the schema that contains the facet and attribute.-akSchemaARN :: Lens' AttributeKey Text-akSchemaARN = lens _akSchemaARN (\ s a -> s{_akSchemaARN = a});---- | The name of the facet that the attribute exists within.-akFacetName :: Lens' AttributeKey Text-akFacetName = lens _akFacetName (\ s a -> s{_akFacetName = a});---- | The name of the attribute.-akName :: Lens' AttributeKey Text-akName = lens _akName (\ s a -> s{_akName = a});--instance FromJSON AttributeKey where-        parseJSON-          = withObject "AttributeKey"-              (\ x ->-                 AttributeKey' <$>-                   (x .: "SchemaArn") <*> (x .: "FacetName") <*>-                     (x .: "Name"))--instance Hashable AttributeKey where--instance NFData AttributeKey where--instance ToJSON AttributeKey where-        toJSON AttributeKey'{..}-          = object-              (catMaybes-                 [Just ("SchemaArn" .= _akSchemaARN),-                  Just ("FacetName" .= _akFacetName),-                  Just ("Name" .= _akName)])---- | The combination of an attribute key and an attribute value.------------ /See:/ 'attributeKeyAndValue' smart constructor.-data AttributeKeyAndValue = AttributeKeyAndValue'-  { _akavKey   :: !AttributeKey-  , _akavValue :: !TypedAttributeValue-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AttributeKeyAndValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'akavKey' - The key of the attribute.------ * 'akavValue' - The value of the attribute.-attributeKeyAndValue-    :: AttributeKey -- ^ 'akavKey'-    -> TypedAttributeValue -- ^ 'akavValue'-    -> AttributeKeyAndValue-attributeKeyAndValue pKey_ pValue_ =-  AttributeKeyAndValue' {_akavKey = pKey_, _akavValue = pValue_}----- | The key of the attribute.-akavKey :: Lens' AttributeKeyAndValue AttributeKey-akavKey = lens _akavKey (\ s a -> s{_akavKey = a});---- | The value of the attribute.-akavValue :: Lens' AttributeKeyAndValue TypedAttributeValue-akavValue = lens _akavValue (\ s a -> s{_akavValue = a});--instance FromJSON AttributeKeyAndValue where-        parseJSON-          = withObject "AttributeKeyAndValue"-              (\ x ->-                 AttributeKeyAndValue' <$>-                   (x .: "Key") <*> (x .: "Value"))--instance Hashable AttributeKeyAndValue where--instance NFData AttributeKeyAndValue where--instance ToJSON AttributeKeyAndValue where-        toJSON AttributeKeyAndValue'{..}-          = object-              (catMaybes-                 [Just ("Key" .= _akavKey),-                  Just ("Value" .= _akavValue)])---- | Identifies the attribute name and value for a typed link.------------ /See:/ 'attributeNameAndValue' smart constructor.-data AttributeNameAndValue = AttributeNameAndValue'-  { _anavAttributeName :: !Text-  , _anavValue         :: !TypedAttributeValue-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AttributeNameAndValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'anavAttributeName' - The attribute name of the typed link.------ * 'anavValue' - The value for the typed link.-attributeNameAndValue-    :: Text -- ^ 'anavAttributeName'-    -> TypedAttributeValue -- ^ 'anavValue'-    -> AttributeNameAndValue-attributeNameAndValue pAttributeName_ pValue_ =-  AttributeNameAndValue'-  {_anavAttributeName = pAttributeName_, _anavValue = pValue_}----- | The attribute name of the typed link.-anavAttributeName :: Lens' AttributeNameAndValue Text-anavAttributeName = lens _anavAttributeName (\ s a -> s{_anavAttributeName = a});---- | The value for the typed link.-anavValue :: Lens' AttributeNameAndValue TypedAttributeValue-anavValue = lens _anavValue (\ s a -> s{_anavValue = a});--instance FromJSON AttributeNameAndValue where-        parseJSON-          = withObject "AttributeNameAndValue"-              (\ x ->-                 AttributeNameAndValue' <$>-                   (x .: "AttributeName") <*> (x .: "Value"))--instance Hashable AttributeNameAndValue where--instance NFData AttributeNameAndValue where--instance ToJSON AttributeNameAndValue where-        toJSON AttributeNameAndValue'{..}-          = object-              (catMaybes-                 [Just ("AttributeName" .= _anavAttributeName),-                  Just ("Value" .= _anavValue)])---- | Represents the output of a batch add facet to object operation.------------ /See:/ 'batchAddFacetToObject' smart constructor.-data BatchAddFacetToObject = BatchAddFacetToObject'-  { _baftoSchemaFacet         :: !SchemaFacet-  , _baftoObjectAttributeList :: ![AttributeKeyAndValue]-  , _baftoObjectReference     :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchAddFacetToObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'baftoSchemaFacet' - Represents the facet being added to the object.------ * 'baftoObjectAttributeList' - The attributes to set on the object.------ * 'baftoObjectReference' - A reference to the object being mutated.-batchAddFacetToObject-    :: SchemaFacet -- ^ 'baftoSchemaFacet'-    -> ObjectReference -- ^ 'baftoObjectReference'-    -> BatchAddFacetToObject-batchAddFacetToObject pSchemaFacet_ pObjectReference_ =-  BatchAddFacetToObject'-  { _baftoSchemaFacet = pSchemaFacet_-  , _baftoObjectAttributeList = mempty-  , _baftoObjectReference = pObjectReference_-  }----- | Represents the facet being added to the object.-baftoSchemaFacet :: Lens' BatchAddFacetToObject SchemaFacet-baftoSchemaFacet = lens _baftoSchemaFacet (\ s a -> s{_baftoSchemaFacet = a});---- | The attributes to set on the object.-baftoObjectAttributeList :: Lens' BatchAddFacetToObject [AttributeKeyAndValue]-baftoObjectAttributeList = lens _baftoObjectAttributeList (\ s a -> s{_baftoObjectAttributeList = a}) . _Coerce;---- | A reference to the object being mutated.-baftoObjectReference :: Lens' BatchAddFacetToObject ObjectReference-baftoObjectReference = lens _baftoObjectReference (\ s a -> s{_baftoObjectReference = a});--instance Hashable BatchAddFacetToObject where--instance NFData BatchAddFacetToObject where--instance ToJSON BatchAddFacetToObject where-        toJSON BatchAddFacetToObject'{..}-          = object-              (catMaybes-                 [Just ("SchemaFacet" .= _baftoSchemaFacet),-                  Just-                    ("ObjectAttributeList" .= _baftoObjectAttributeList),-                  Just ("ObjectReference" .= _baftoObjectReference)])---- | The result of a batch add facet to object operation.------------ /See:/ 'batchAddFacetToObjectResponse' smart constructor.-data BatchAddFacetToObjectResponse =-  BatchAddFacetToObjectResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchAddFacetToObjectResponse' with the minimum fields required to make a request.----batchAddFacetToObjectResponse-    :: BatchAddFacetToObjectResponse-batchAddFacetToObjectResponse = BatchAddFacetToObjectResponse'---instance FromJSON BatchAddFacetToObjectResponse where-        parseJSON-          = withObject "BatchAddFacetToObjectResponse"-              (\ x -> pure BatchAddFacetToObjectResponse')--instance Hashable BatchAddFacetToObjectResponse where--instance NFData BatchAddFacetToObjectResponse where---- | Represents the output of an 'AttachObject' operation.------------ /See:/ 'batchAttachObject' smart constructor.-data BatchAttachObject = BatchAttachObject'-  { _baoParentReference :: !ObjectReference-  , _baoChildReference  :: !ObjectReference-  , _baoLinkName        :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchAttachObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'baoParentReference' - The parent object reference.------ * 'baoChildReference' - The child object reference that is to be attached to the object.------ * 'baoLinkName' - The name of the link.-batchAttachObject-    :: ObjectReference -- ^ 'baoParentReference'-    -> ObjectReference -- ^ 'baoChildReference'-    -> Text -- ^ 'baoLinkName'-    -> BatchAttachObject-batchAttachObject pParentReference_ pChildReference_ pLinkName_ =-  BatchAttachObject'-  { _baoParentReference = pParentReference_-  , _baoChildReference = pChildReference_-  , _baoLinkName = pLinkName_-  }----- | The parent object reference.-baoParentReference :: Lens' BatchAttachObject ObjectReference-baoParentReference = lens _baoParentReference (\ s a -> s{_baoParentReference = a});---- | The child object reference that is to be attached to the object.-baoChildReference :: Lens' BatchAttachObject ObjectReference-baoChildReference = lens _baoChildReference (\ s a -> s{_baoChildReference = a});---- | The name of the link.-baoLinkName :: Lens' BatchAttachObject Text-baoLinkName = lens _baoLinkName (\ s a -> s{_baoLinkName = a});--instance Hashable BatchAttachObject where--instance NFData BatchAttachObject where--instance ToJSON BatchAttachObject where-        toJSON BatchAttachObject'{..}-          = object-              (catMaybes-                 [Just ("ParentReference" .= _baoParentReference),-                  Just ("ChildReference" .= _baoChildReference),-                  Just ("LinkName" .= _baoLinkName)])---- | Represents the output batch 'AttachObject' response operation.------------ /See:/ 'batchAttachObjectResponse' smart constructor.-newtype BatchAttachObjectResponse = BatchAttachObjectResponse'-  { _baoAttachedObjectIdentifier :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchAttachObjectResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'baoAttachedObjectIdentifier' - The @ObjectIdentifier@ of the object that has been attached.-batchAttachObjectResponse-    :: BatchAttachObjectResponse-batchAttachObjectResponse =-  BatchAttachObjectResponse' {_baoAttachedObjectIdentifier = Nothing}----- | The @ObjectIdentifier@ of the object that has been attached.-baoAttachedObjectIdentifier :: Lens' BatchAttachObjectResponse (Maybe Text)-baoAttachedObjectIdentifier = lens _baoAttachedObjectIdentifier (\ s a -> s{_baoAttachedObjectIdentifier = a});--instance FromJSON BatchAttachObjectResponse where-        parseJSON-          = withObject "BatchAttachObjectResponse"-              (\ x ->-                 BatchAttachObjectResponse' <$>-                   (x .:? "attachedObjectIdentifier"))--instance Hashable BatchAttachObjectResponse where--instance NFData BatchAttachObjectResponse where---- | Attaches a policy object to a regular object inside a 'BatchRead' operation. For more information, see 'AttachPolicy' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchAttachPolicy' smart constructor.-data BatchAttachPolicy = BatchAttachPolicy'-  { _bapPolicyReference :: !ObjectReference-  , _bapObjectReference :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchAttachPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bapPolicyReference' - The reference that is associated with the policy object.------ * 'bapObjectReference' - The reference that identifies the object to which the policy will be attached.-batchAttachPolicy-    :: ObjectReference -- ^ 'bapPolicyReference'-    -> ObjectReference -- ^ 'bapObjectReference'-    -> BatchAttachPolicy-batchAttachPolicy pPolicyReference_ pObjectReference_ =-  BatchAttachPolicy'-  { _bapPolicyReference = pPolicyReference_-  , _bapObjectReference = pObjectReference_-  }----- | The reference that is associated with the policy object.-bapPolicyReference :: Lens' BatchAttachPolicy ObjectReference-bapPolicyReference = lens _bapPolicyReference (\ s a -> s{_bapPolicyReference = a});---- | The reference that identifies the object to which the policy will be attached.-bapObjectReference :: Lens' BatchAttachPolicy ObjectReference-bapObjectReference = lens _bapObjectReference (\ s a -> s{_bapObjectReference = a});--instance Hashable BatchAttachPolicy where--instance NFData BatchAttachPolicy where--instance ToJSON BatchAttachPolicy where-        toJSON BatchAttachPolicy'{..}-          = object-              (catMaybes-                 [Just ("PolicyReference" .= _bapPolicyReference),-                  Just ("ObjectReference" .= _bapObjectReference)])---- | Represents the output of an 'AttachPolicy' response operation.------------ /See:/ 'batchAttachPolicyResponse' smart constructor.-data BatchAttachPolicyResponse =-  BatchAttachPolicyResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchAttachPolicyResponse' with the minimum fields required to make a request.----batchAttachPolicyResponse-    :: BatchAttachPolicyResponse-batchAttachPolicyResponse = BatchAttachPolicyResponse'---instance FromJSON BatchAttachPolicyResponse where-        parseJSON-          = withObject "BatchAttachPolicyResponse"-              (\ x -> pure BatchAttachPolicyResponse')--instance Hashable BatchAttachPolicyResponse where--instance NFData BatchAttachPolicyResponse where---- | Attaches the specified object to the specified index inside a 'BatchRead' operation. For more information, see 'AttachToIndex' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchAttachToIndex' smart constructor.-data BatchAttachToIndex = BatchAttachToIndex'-  { _batiIndexReference  :: !ObjectReference-  , _batiTargetReference :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchAttachToIndex' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'batiIndexReference' - A reference to the index that you are attaching the object to.------ * 'batiTargetReference' - A reference to the object that you are attaching to the index.-batchAttachToIndex-    :: ObjectReference -- ^ 'batiIndexReference'-    -> ObjectReference -- ^ 'batiTargetReference'-    -> BatchAttachToIndex-batchAttachToIndex pIndexReference_ pTargetReference_ =-  BatchAttachToIndex'-  { _batiIndexReference = pIndexReference_-  , _batiTargetReference = pTargetReference_-  }----- | A reference to the index that you are attaching the object to.-batiIndexReference :: Lens' BatchAttachToIndex ObjectReference-batiIndexReference = lens _batiIndexReference (\ s a -> s{_batiIndexReference = a});---- | A reference to the object that you are attaching to the index.-batiTargetReference :: Lens' BatchAttachToIndex ObjectReference-batiTargetReference = lens _batiTargetReference (\ s a -> s{_batiTargetReference = a});--instance Hashable BatchAttachToIndex where--instance NFData BatchAttachToIndex where--instance ToJSON BatchAttachToIndex where-        toJSON BatchAttachToIndex'{..}-          = object-              (catMaybes-                 [Just ("IndexReference" .= _batiIndexReference),-                  Just ("TargetReference" .= _batiTargetReference)])---- | Represents the output of a 'AttachToIndex' response operation.------------ /See:/ 'batchAttachToIndexResponse' smart constructor.-newtype BatchAttachToIndexResponse = BatchAttachToIndexResponse'-  { _batiAttachedObjectIdentifier :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchAttachToIndexResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'batiAttachedObjectIdentifier' - The @ObjectIdentifier@ of the object that was attached to the index.-batchAttachToIndexResponse-    :: BatchAttachToIndexResponse-batchAttachToIndexResponse =-  BatchAttachToIndexResponse' {_batiAttachedObjectIdentifier = Nothing}----- | The @ObjectIdentifier@ of the object that was attached to the index.-batiAttachedObjectIdentifier :: Lens' BatchAttachToIndexResponse (Maybe Text)-batiAttachedObjectIdentifier = lens _batiAttachedObjectIdentifier (\ s a -> s{_batiAttachedObjectIdentifier = a});--instance FromJSON BatchAttachToIndexResponse where-        parseJSON-          = withObject "BatchAttachToIndexResponse"-              (\ x ->-                 BatchAttachToIndexResponse' <$>-                   (x .:? "AttachedObjectIdentifier"))--instance Hashable BatchAttachToIndexResponse where--instance NFData BatchAttachToIndexResponse where---- | Attaches a typed link to a specified source and target object inside a 'BatchRead' operation. For more information, see 'AttachTypedLink' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchAttachTypedLink' smart constructor.-data BatchAttachTypedLink = BatchAttachTypedLink'-  { _batlSourceObjectReference :: !ObjectReference-  , _batlTargetObjectReference :: !ObjectReference-  , _batlTypedLinkFacet        :: !TypedLinkSchemaAndFacetName-  , _batlAttributes            :: ![AttributeNameAndValue]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchAttachTypedLink' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'batlSourceObjectReference' - Identifies the source object that the typed link will attach to.------ * 'batlTargetObjectReference' - Identifies the target object that the typed link will attach to.------ * 'batlTypedLinkFacet' - Identifies the typed link facet that is associated with the typed link.------ * 'batlAttributes' - A set of attributes that are associated with the typed link.-batchAttachTypedLink-    :: ObjectReference -- ^ 'batlSourceObjectReference'-    -> ObjectReference -- ^ 'batlTargetObjectReference'-    -> TypedLinkSchemaAndFacetName -- ^ 'batlTypedLinkFacet'-    -> BatchAttachTypedLink-batchAttachTypedLink pSourceObjectReference_ pTargetObjectReference_ pTypedLinkFacet_ =-  BatchAttachTypedLink'-  { _batlSourceObjectReference = pSourceObjectReference_-  , _batlTargetObjectReference = pTargetObjectReference_-  , _batlTypedLinkFacet = pTypedLinkFacet_-  , _batlAttributes = mempty-  }----- | Identifies the source object that the typed link will attach to.-batlSourceObjectReference :: Lens' BatchAttachTypedLink ObjectReference-batlSourceObjectReference = lens _batlSourceObjectReference (\ s a -> s{_batlSourceObjectReference = a});---- | Identifies the target object that the typed link will attach to.-batlTargetObjectReference :: Lens' BatchAttachTypedLink ObjectReference-batlTargetObjectReference = lens _batlTargetObjectReference (\ s a -> s{_batlTargetObjectReference = a});---- | Identifies the typed link facet that is associated with the typed link.-batlTypedLinkFacet :: Lens' BatchAttachTypedLink TypedLinkSchemaAndFacetName-batlTypedLinkFacet = lens _batlTypedLinkFacet (\ s a -> s{_batlTypedLinkFacet = a});---- | A set of attributes that are associated with the typed link.-batlAttributes :: Lens' BatchAttachTypedLink [AttributeNameAndValue]-batlAttributes = lens _batlAttributes (\ s a -> s{_batlAttributes = a}) . _Coerce;--instance Hashable BatchAttachTypedLink where--instance NFData BatchAttachTypedLink where--instance ToJSON BatchAttachTypedLink where-        toJSON BatchAttachTypedLink'{..}-          = object-              (catMaybes-                 [Just-                    ("SourceObjectReference" .=-                       _batlSourceObjectReference),-                  Just-                    ("TargetObjectReference" .=-                       _batlTargetObjectReference),-                  Just ("TypedLinkFacet" .= _batlTypedLinkFacet),-                  Just ("Attributes" .= _batlAttributes)])---- | Represents the output of a 'AttachTypedLink' response operation.------------ /See:/ 'batchAttachTypedLinkResponse' smart constructor.-newtype BatchAttachTypedLinkResponse = BatchAttachTypedLinkResponse'-  { _batlTypedLinkSpecifier :: Maybe TypedLinkSpecifier-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchAttachTypedLinkResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'batlTypedLinkSpecifier' - Returns a typed link specifier as output.-batchAttachTypedLinkResponse-    :: BatchAttachTypedLinkResponse-batchAttachTypedLinkResponse =-  BatchAttachTypedLinkResponse' {_batlTypedLinkSpecifier = Nothing}----- | Returns a typed link specifier as output.-batlTypedLinkSpecifier :: Lens' BatchAttachTypedLinkResponse (Maybe TypedLinkSpecifier)-batlTypedLinkSpecifier = lens _batlTypedLinkSpecifier (\ s a -> s{_batlTypedLinkSpecifier = a});--instance FromJSON BatchAttachTypedLinkResponse where-        parseJSON-          = withObject "BatchAttachTypedLinkResponse"-              (\ x ->-                 BatchAttachTypedLinkResponse' <$>-                   (x .:? "TypedLinkSpecifier"))--instance Hashable BatchAttachTypedLinkResponse where--instance NFData BatchAttachTypedLinkResponse where---- | Creates an index object inside of a 'BatchRead' operation. For more information, see 'CreateIndex' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchCreateIndex' smart constructor.-data BatchCreateIndex = BatchCreateIndex'-  { _bciParentReference             :: !(Maybe ObjectReference)-  , _bciLinkName                    :: !(Maybe Text)-  , _bciBatchReferenceName          :: !(Maybe Text)-  , _bciOrderedIndexedAttributeList :: ![AttributeKey]-  , _bciIsUnique                    :: !Bool-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchCreateIndex' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bciParentReference' - A reference to the parent object that contains the index object.------ * 'bciLinkName' - The name of the link between the parent object and the index object.------ * 'bciBatchReferenceName' - The batch reference name. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches Batches> for more information.------ * 'bciOrderedIndexedAttributeList' - Specifies the attributes that should be indexed on. Currently only a single attribute is supported.------ * 'bciIsUnique' - Indicates whether the attribute that is being indexed has unique values or not.-batchCreateIndex-    :: Bool -- ^ 'bciIsUnique'-    -> BatchCreateIndex-batchCreateIndex pIsUnique_ =-  BatchCreateIndex'-  { _bciParentReference = Nothing-  , _bciLinkName = Nothing-  , _bciBatchReferenceName = Nothing-  , _bciOrderedIndexedAttributeList = mempty-  , _bciIsUnique = pIsUnique_-  }----- | A reference to the parent object that contains the index object.-bciParentReference :: Lens' BatchCreateIndex (Maybe ObjectReference)-bciParentReference = lens _bciParentReference (\ s a -> s{_bciParentReference = a});---- | The name of the link between the parent object and the index object.-bciLinkName :: Lens' BatchCreateIndex (Maybe Text)-bciLinkName = lens _bciLinkName (\ s a -> s{_bciLinkName = a});---- | The batch reference name. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches Batches> for more information.-bciBatchReferenceName :: Lens' BatchCreateIndex (Maybe Text)-bciBatchReferenceName = lens _bciBatchReferenceName (\ s a -> s{_bciBatchReferenceName = a});---- | Specifies the attributes that should be indexed on. Currently only a single attribute is supported.-bciOrderedIndexedAttributeList :: Lens' BatchCreateIndex [AttributeKey]-bciOrderedIndexedAttributeList = lens _bciOrderedIndexedAttributeList (\ s a -> s{_bciOrderedIndexedAttributeList = a}) . _Coerce;---- | Indicates whether the attribute that is being indexed has unique values or not.-bciIsUnique :: Lens' BatchCreateIndex Bool-bciIsUnique = lens _bciIsUnique (\ s a -> s{_bciIsUnique = a});--instance Hashable BatchCreateIndex where--instance NFData BatchCreateIndex where--instance ToJSON BatchCreateIndex where-        toJSON BatchCreateIndex'{..}-          = object-              (catMaybes-                 [("ParentReference" .=) <$> _bciParentReference,-                  ("LinkName" .=) <$> _bciLinkName,-                  ("BatchReferenceName" .=) <$> _bciBatchReferenceName,-                  Just-                    ("OrderedIndexedAttributeList" .=-                       _bciOrderedIndexedAttributeList),-                  Just ("IsUnique" .= _bciIsUnique)])---- | Represents the output of a 'CreateIndex' response operation.------------ /See:/ 'batchCreateIndexResponse' smart constructor.-newtype BatchCreateIndexResponse = BatchCreateIndexResponse'-  { _bciObjectIdentifier :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchCreateIndexResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bciObjectIdentifier' - The @ObjectIdentifier@ of the index created by this operation.-batchCreateIndexResponse-    :: BatchCreateIndexResponse-batchCreateIndexResponse =-  BatchCreateIndexResponse' {_bciObjectIdentifier = Nothing}----- | The @ObjectIdentifier@ of the index created by this operation.-bciObjectIdentifier :: Lens' BatchCreateIndexResponse (Maybe Text)-bciObjectIdentifier = lens _bciObjectIdentifier (\ s a -> s{_bciObjectIdentifier = a});--instance FromJSON BatchCreateIndexResponse where-        parseJSON-          = withObject "BatchCreateIndexResponse"-              (\ x ->-                 BatchCreateIndexResponse' <$>-                   (x .:? "ObjectIdentifier"))--instance Hashable BatchCreateIndexResponse where--instance NFData BatchCreateIndexResponse where---- | Represents the output of a 'CreateObject' operation.------------ /See:/ 'batchCreateObject' smart constructor.-data BatchCreateObject = BatchCreateObject'-  { _bcoSchemaFacet         :: ![SchemaFacet]-  , _bcoObjectAttributeList :: ![AttributeKeyAndValue]-  , _bcoParentReference     :: !ObjectReference-  , _bcoLinkName            :: !Text-  , _bcoBatchReferenceName  :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchCreateObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bcoSchemaFacet' - A list of @FacetArns@ that will be associated with the object. For more information, see 'arns' .------ * 'bcoObjectAttributeList' - An attribute map, which contains an attribute ARN as the key and attribute value as the map value.------ * 'bcoParentReference' - If specified, the parent reference to which this object will be attached.------ * 'bcoLinkName' - The name of the link.------ * 'bcoBatchReferenceName' - The batch reference name. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches Batches> for more information.-batchCreateObject-    :: ObjectReference -- ^ 'bcoParentReference'-    -> Text -- ^ 'bcoLinkName'-    -> Text -- ^ 'bcoBatchReferenceName'-    -> BatchCreateObject-batchCreateObject pParentReference_ pLinkName_ pBatchReferenceName_ =-  BatchCreateObject'-  { _bcoSchemaFacet = mempty-  , _bcoObjectAttributeList = mempty-  , _bcoParentReference = pParentReference_-  , _bcoLinkName = pLinkName_-  , _bcoBatchReferenceName = pBatchReferenceName_-  }----- | A list of @FacetArns@ that will be associated with the object. For more information, see 'arns' .-bcoSchemaFacet :: Lens' BatchCreateObject [SchemaFacet]-bcoSchemaFacet = lens _bcoSchemaFacet (\ s a -> s{_bcoSchemaFacet = a}) . _Coerce;---- | An attribute map, which contains an attribute ARN as the key and attribute value as the map value.-bcoObjectAttributeList :: Lens' BatchCreateObject [AttributeKeyAndValue]-bcoObjectAttributeList = lens _bcoObjectAttributeList (\ s a -> s{_bcoObjectAttributeList = a}) . _Coerce;---- | If specified, the parent reference to which this object will be attached.-bcoParentReference :: Lens' BatchCreateObject ObjectReference-bcoParentReference = lens _bcoParentReference (\ s a -> s{_bcoParentReference = a});---- | The name of the link.-bcoLinkName :: Lens' BatchCreateObject Text-bcoLinkName = lens _bcoLinkName (\ s a -> s{_bcoLinkName = a});---- | The batch reference name. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches Batches> for more information.-bcoBatchReferenceName :: Lens' BatchCreateObject Text-bcoBatchReferenceName = lens _bcoBatchReferenceName (\ s a -> s{_bcoBatchReferenceName = a});--instance Hashable BatchCreateObject where--instance NFData BatchCreateObject where--instance ToJSON BatchCreateObject where-        toJSON BatchCreateObject'{..}-          = object-              (catMaybes-                 [Just ("SchemaFacet" .= _bcoSchemaFacet),-                  Just-                    ("ObjectAttributeList" .= _bcoObjectAttributeList),-                  Just ("ParentReference" .= _bcoParentReference),-                  Just ("LinkName" .= _bcoLinkName),-                  Just-                    ("BatchReferenceName" .= _bcoBatchReferenceName)])---- | Represents the output of a 'CreateObject' response operation.------------ /See:/ 'batchCreateObjectResponse' smart constructor.-newtype BatchCreateObjectResponse = BatchCreateObjectResponse'-  { _bcoObjectIdentifier :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchCreateObjectResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bcoObjectIdentifier' - The ID that is associated with the object.-batchCreateObjectResponse-    :: BatchCreateObjectResponse-batchCreateObjectResponse =-  BatchCreateObjectResponse' {_bcoObjectIdentifier = Nothing}----- | The ID that is associated with the object.-bcoObjectIdentifier :: Lens' BatchCreateObjectResponse (Maybe Text)-bcoObjectIdentifier = lens _bcoObjectIdentifier (\ s a -> s{_bcoObjectIdentifier = a});--instance FromJSON BatchCreateObjectResponse where-        parseJSON-          = withObject "BatchCreateObjectResponse"-              (\ x ->-                 BatchCreateObjectResponse' <$>-                   (x .:? "ObjectIdentifier"))--instance Hashable BatchCreateObjectResponse where--instance NFData BatchCreateObjectResponse where---- | Represents the output of a 'DeleteObject' operation.------------ /See:/ 'batchDeleteObject' smart constructor.-newtype BatchDeleteObject = BatchDeleteObject'-  { _bdoObjectReference :: ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchDeleteObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bdoObjectReference' - The reference that identifies the object.-batchDeleteObject-    :: ObjectReference -- ^ 'bdoObjectReference'-    -> BatchDeleteObject-batchDeleteObject pObjectReference_ =-  BatchDeleteObject' {_bdoObjectReference = pObjectReference_}----- | The reference that identifies the object.-bdoObjectReference :: Lens' BatchDeleteObject ObjectReference-bdoObjectReference = lens _bdoObjectReference (\ s a -> s{_bdoObjectReference = a});--instance Hashable BatchDeleteObject where--instance NFData BatchDeleteObject where--instance ToJSON BatchDeleteObject where-        toJSON BatchDeleteObject'{..}-          = object-              (catMaybes-                 [Just ("ObjectReference" .= _bdoObjectReference)])---- | Represents the output of a 'DeleteObject' response operation.------------ /See:/ 'batchDeleteObjectResponse' smart constructor.-data BatchDeleteObjectResponse =-  BatchDeleteObjectResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchDeleteObjectResponse' with the minimum fields required to make a request.----batchDeleteObjectResponse-    :: BatchDeleteObjectResponse-batchDeleteObjectResponse = BatchDeleteObjectResponse'---instance FromJSON BatchDeleteObjectResponse where-        parseJSON-          = withObject "BatchDeleteObjectResponse"-              (\ x -> pure BatchDeleteObjectResponse')--instance Hashable BatchDeleteObjectResponse where--instance NFData BatchDeleteObjectResponse where---- | Detaches the specified object from the specified index inside a 'BatchRead' operation. For more information, see 'DetachFromIndex' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchDetachFromIndex' smart constructor.-data BatchDetachFromIndex = BatchDetachFromIndex'-  { _bdfiIndexReference  :: !ObjectReference-  , _bdfiTargetReference :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchDetachFromIndex' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bdfiIndexReference' - A reference to the index object.------ * 'bdfiTargetReference' - A reference to the object being detached from the index.-batchDetachFromIndex-    :: ObjectReference -- ^ 'bdfiIndexReference'-    -> ObjectReference -- ^ 'bdfiTargetReference'-    -> BatchDetachFromIndex-batchDetachFromIndex pIndexReference_ pTargetReference_ =-  BatchDetachFromIndex'-  { _bdfiIndexReference = pIndexReference_-  , _bdfiTargetReference = pTargetReference_-  }----- | A reference to the index object.-bdfiIndexReference :: Lens' BatchDetachFromIndex ObjectReference-bdfiIndexReference = lens _bdfiIndexReference (\ s a -> s{_bdfiIndexReference = a});---- | A reference to the object being detached from the index.-bdfiTargetReference :: Lens' BatchDetachFromIndex ObjectReference-bdfiTargetReference = lens _bdfiTargetReference (\ s a -> s{_bdfiTargetReference = a});--instance Hashable BatchDetachFromIndex where--instance NFData BatchDetachFromIndex where--instance ToJSON BatchDetachFromIndex where-        toJSON BatchDetachFromIndex'{..}-          = object-              (catMaybes-                 [Just ("IndexReference" .= _bdfiIndexReference),-                  Just ("TargetReference" .= _bdfiTargetReference)])---- | Represents the output of a 'DetachFromIndex' response operation.------------ /See:/ 'batchDetachFromIndexResponse' smart constructor.-newtype BatchDetachFromIndexResponse = BatchDetachFromIndexResponse'-  { _bdfiDetachedObjectIdentifier :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchDetachFromIndexResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bdfiDetachedObjectIdentifier' - The @ObjectIdentifier@ of the object that was detached from the index.-batchDetachFromIndexResponse-    :: BatchDetachFromIndexResponse-batchDetachFromIndexResponse =-  BatchDetachFromIndexResponse' {_bdfiDetachedObjectIdentifier = Nothing}----- | The @ObjectIdentifier@ of the object that was detached from the index.-bdfiDetachedObjectIdentifier :: Lens' BatchDetachFromIndexResponse (Maybe Text)-bdfiDetachedObjectIdentifier = lens _bdfiDetachedObjectIdentifier (\ s a -> s{_bdfiDetachedObjectIdentifier = a});--instance FromJSON BatchDetachFromIndexResponse where-        parseJSON-          = withObject "BatchDetachFromIndexResponse"-              (\ x ->-                 BatchDetachFromIndexResponse' <$>-                   (x .:? "DetachedObjectIdentifier"))--instance Hashable BatchDetachFromIndexResponse where--instance NFData BatchDetachFromIndexResponse where---- | Represents the output of a 'DetachObject' operation.------------ /See:/ 'batchDetachObject' smart constructor.-data BatchDetachObject = BatchDetachObject'-  { _bdoParentReference    :: !ObjectReference-  , _bdoLinkName           :: !Text-  , _bdoBatchReferenceName :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchDetachObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bdoParentReference' - Parent reference from which the object with the specified link name is detached.------ * 'bdoLinkName' - The name of the link.------ * 'bdoBatchReferenceName' - The batch reference name. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches Batches> for more information.-batchDetachObject-    :: ObjectReference -- ^ 'bdoParentReference'-    -> Text -- ^ 'bdoLinkName'-    -> Text -- ^ 'bdoBatchReferenceName'-    -> BatchDetachObject-batchDetachObject pParentReference_ pLinkName_ pBatchReferenceName_ =-  BatchDetachObject'-  { _bdoParentReference = pParentReference_-  , _bdoLinkName = pLinkName_-  , _bdoBatchReferenceName = pBatchReferenceName_-  }----- | Parent reference from which the object with the specified link name is detached.-bdoParentReference :: Lens' BatchDetachObject ObjectReference-bdoParentReference = lens _bdoParentReference (\ s a -> s{_bdoParentReference = a});---- | The name of the link.-bdoLinkName :: Lens' BatchDetachObject Text-bdoLinkName = lens _bdoLinkName (\ s a -> s{_bdoLinkName = a});---- | The batch reference name. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches Batches> for more information.-bdoBatchReferenceName :: Lens' BatchDetachObject Text-bdoBatchReferenceName = lens _bdoBatchReferenceName (\ s a -> s{_bdoBatchReferenceName = a});--instance Hashable BatchDetachObject where--instance NFData BatchDetachObject where--instance ToJSON BatchDetachObject where-        toJSON BatchDetachObject'{..}-          = object-              (catMaybes-                 [Just ("ParentReference" .= _bdoParentReference),-                  Just ("LinkName" .= _bdoLinkName),-                  Just-                    ("BatchReferenceName" .= _bdoBatchReferenceName)])---- | Represents the output of a 'DetachObject' response operation.------------ /See:/ 'batchDetachObjectResponse' smart constructor.-newtype BatchDetachObjectResponse = BatchDetachObjectResponse'-  { _bdoDetachedObjectIdentifier :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchDetachObjectResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bdoDetachedObjectIdentifier' - The @ObjectIdentifier@ of the detached object.-batchDetachObjectResponse-    :: BatchDetachObjectResponse-batchDetachObjectResponse =-  BatchDetachObjectResponse' {_bdoDetachedObjectIdentifier = Nothing}----- | The @ObjectIdentifier@ of the detached object.-bdoDetachedObjectIdentifier :: Lens' BatchDetachObjectResponse (Maybe Text)-bdoDetachedObjectIdentifier = lens _bdoDetachedObjectIdentifier (\ s a -> s{_bdoDetachedObjectIdentifier = a});--instance FromJSON BatchDetachObjectResponse where-        parseJSON-          = withObject "BatchDetachObjectResponse"-              (\ x ->-                 BatchDetachObjectResponse' <$>-                   (x .:? "detachedObjectIdentifier"))--instance Hashable BatchDetachObjectResponse where--instance NFData BatchDetachObjectResponse where---- | Detaches the specified policy from the specified directory inside a 'BatchRead' operation. For more information, see 'DetachPolicy' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchDetachPolicy' smart constructor.-data BatchDetachPolicy = BatchDetachPolicy'-  { _bdpPolicyReference :: !ObjectReference-  , _bdpObjectReference :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchDetachPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bdpPolicyReference' - Reference that identifies the policy object.------ * 'bdpObjectReference' - Reference that identifies the object whose policy object will be detached.-batchDetachPolicy-    :: ObjectReference -- ^ 'bdpPolicyReference'-    -> ObjectReference -- ^ 'bdpObjectReference'-    -> BatchDetachPolicy-batchDetachPolicy pPolicyReference_ pObjectReference_ =-  BatchDetachPolicy'-  { _bdpPolicyReference = pPolicyReference_-  , _bdpObjectReference = pObjectReference_-  }----- | Reference that identifies the policy object.-bdpPolicyReference :: Lens' BatchDetachPolicy ObjectReference-bdpPolicyReference = lens _bdpPolicyReference (\ s a -> s{_bdpPolicyReference = a});---- | Reference that identifies the object whose policy object will be detached.-bdpObjectReference :: Lens' BatchDetachPolicy ObjectReference-bdpObjectReference = lens _bdpObjectReference (\ s a -> s{_bdpObjectReference = a});--instance Hashable BatchDetachPolicy where--instance NFData BatchDetachPolicy where--instance ToJSON BatchDetachPolicy where-        toJSON BatchDetachPolicy'{..}-          = object-              (catMaybes-                 [Just ("PolicyReference" .= _bdpPolicyReference),-                  Just ("ObjectReference" .= _bdpObjectReference)])---- | Represents the output of a 'DetachPolicy' response operation.------------ /See:/ 'batchDetachPolicyResponse' smart constructor.-data BatchDetachPolicyResponse =-  BatchDetachPolicyResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchDetachPolicyResponse' with the minimum fields required to make a request.----batchDetachPolicyResponse-    :: BatchDetachPolicyResponse-batchDetachPolicyResponse = BatchDetachPolicyResponse'---instance FromJSON BatchDetachPolicyResponse where-        parseJSON-          = withObject "BatchDetachPolicyResponse"-              (\ x -> pure BatchDetachPolicyResponse')--instance Hashable BatchDetachPolicyResponse where--instance NFData BatchDetachPolicyResponse where---- | Detaches a typed link from a specified source and target object inside a 'BatchRead' operation. For more information, see 'DetachTypedLink' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchDetachTypedLink' smart constructor.-newtype BatchDetachTypedLink = BatchDetachTypedLink'-  { _bdtlTypedLinkSpecifier :: TypedLinkSpecifier-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchDetachTypedLink' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bdtlTypedLinkSpecifier' - Used to accept a typed link specifier as input.-batchDetachTypedLink-    :: TypedLinkSpecifier -- ^ 'bdtlTypedLinkSpecifier'-    -> BatchDetachTypedLink-batchDetachTypedLink pTypedLinkSpecifier_ =-  BatchDetachTypedLink' {_bdtlTypedLinkSpecifier = pTypedLinkSpecifier_}----- | Used to accept a typed link specifier as input.-bdtlTypedLinkSpecifier :: Lens' BatchDetachTypedLink TypedLinkSpecifier-bdtlTypedLinkSpecifier = lens _bdtlTypedLinkSpecifier (\ s a -> s{_bdtlTypedLinkSpecifier = a});--instance Hashable BatchDetachTypedLink where--instance NFData BatchDetachTypedLink where--instance ToJSON BatchDetachTypedLink where-        toJSON BatchDetachTypedLink'{..}-          = object-              (catMaybes-                 [Just-                    ("TypedLinkSpecifier" .= _bdtlTypedLinkSpecifier)])---- | Represents the output of a 'DetachTypedLink' response operation.------------ /See:/ 'batchDetachTypedLinkResponse' smart constructor.-data BatchDetachTypedLinkResponse =-  BatchDetachTypedLinkResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchDetachTypedLinkResponse' with the minimum fields required to make a request.----batchDetachTypedLinkResponse-    :: BatchDetachTypedLinkResponse-batchDetachTypedLinkResponse = BatchDetachTypedLinkResponse'---instance FromJSON BatchDetachTypedLinkResponse where-        parseJSON-          = withObject "BatchDetachTypedLinkResponse"-              (\ x -> pure BatchDetachTypedLinkResponse')--instance Hashable BatchDetachTypedLinkResponse where--instance NFData BatchDetachTypedLinkResponse where---- | Retrieves metadata about an object inside a 'BatchRead' operation. For more information, see 'GetObjectInformation' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchGetObjectInformation' smart constructor.-newtype BatchGetObjectInformation = BatchGetObjectInformation'-  { _bgoiObjectReference :: ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchGetObjectInformation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bgoiObjectReference' - A reference to the object.-batchGetObjectInformation-    :: ObjectReference -- ^ 'bgoiObjectReference'-    -> BatchGetObjectInformation-batchGetObjectInformation pObjectReference_ =-  BatchGetObjectInformation' {_bgoiObjectReference = pObjectReference_}----- | A reference to the object.-bgoiObjectReference :: Lens' BatchGetObjectInformation ObjectReference-bgoiObjectReference = lens _bgoiObjectReference (\ s a -> s{_bgoiObjectReference = a});--instance Hashable BatchGetObjectInformation where--instance NFData BatchGetObjectInformation where--instance ToJSON BatchGetObjectInformation where-        toJSON BatchGetObjectInformation'{..}-          = object-              (catMaybes-                 [Just ("ObjectReference" .= _bgoiObjectReference)])---- | Represents the output of a 'GetObjectInformation' response operation.------------ /See:/ 'batchGetObjectInformationResponse' smart constructor.-data BatchGetObjectInformationResponse = BatchGetObjectInformationResponse'-  { _bgoiObjectIdentifier :: !(Maybe Text)-  , _bgoiSchemaFacets     :: !(Maybe [SchemaFacet])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchGetObjectInformationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bgoiObjectIdentifier' - The @ObjectIdentifier@ of the specified object.------ * 'bgoiSchemaFacets' - The facets attached to the specified object.-batchGetObjectInformationResponse-    :: BatchGetObjectInformationResponse-batchGetObjectInformationResponse =-  BatchGetObjectInformationResponse'-  {_bgoiObjectIdentifier = Nothing, _bgoiSchemaFacets = Nothing}----- | The @ObjectIdentifier@ of the specified object.-bgoiObjectIdentifier :: Lens' BatchGetObjectInformationResponse (Maybe Text)-bgoiObjectIdentifier = lens _bgoiObjectIdentifier (\ s a -> s{_bgoiObjectIdentifier = a});---- | The facets attached to the specified object.-bgoiSchemaFacets :: Lens' BatchGetObjectInformationResponse [SchemaFacet]-bgoiSchemaFacets = lens _bgoiSchemaFacets (\ s a -> s{_bgoiSchemaFacets = a}) . _Default . _Coerce;--instance FromJSON BatchGetObjectInformationResponse-         where-        parseJSON-          = withObject "BatchGetObjectInformationResponse"-              (\ x ->-                 BatchGetObjectInformationResponse' <$>-                   (x .:? "ObjectIdentifier") <*>-                     (x .:? "SchemaFacets" .!= mempty))--instance Hashable BatchGetObjectInformationResponse-         where--instance NFData BatchGetObjectInformationResponse-         where---- | Lists indices attached to an object inside a 'BatchRead' operation. For more information, see 'ListAttachedIndices' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchListAttachedIndices' smart constructor.-data BatchListAttachedIndices = BatchListAttachedIndices'-  { _blaisNextToken       :: !(Maybe Text)-  , _blaisMaxResults      :: !(Maybe Nat)-  , _blaisTargetReference :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListAttachedIndices' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blaisNextToken' - The pagination token.------ * 'blaisMaxResults' - The maximum number of results to retrieve.------ * 'blaisTargetReference' - A reference to the object that has indices attached.-batchListAttachedIndices-    :: ObjectReference -- ^ 'blaisTargetReference'-    -> BatchListAttachedIndices-batchListAttachedIndices pTargetReference_ =-  BatchListAttachedIndices'-  { _blaisNextToken = Nothing-  , _blaisMaxResults = Nothing-  , _blaisTargetReference = pTargetReference_-  }----- | The pagination token.-blaisNextToken :: Lens' BatchListAttachedIndices (Maybe Text)-blaisNextToken = lens _blaisNextToken (\ s a -> s{_blaisNextToken = a});---- | The maximum number of results to retrieve.-blaisMaxResults :: Lens' BatchListAttachedIndices (Maybe Natural)-blaisMaxResults = lens _blaisMaxResults (\ s a -> s{_blaisMaxResults = a}) . mapping _Nat;---- | A reference to the object that has indices attached.-blaisTargetReference :: Lens' BatchListAttachedIndices ObjectReference-blaisTargetReference = lens _blaisTargetReference (\ s a -> s{_blaisTargetReference = a});--instance Hashable BatchListAttachedIndices where--instance NFData BatchListAttachedIndices where--instance ToJSON BatchListAttachedIndices where-        toJSON BatchListAttachedIndices'{..}-          = object-              (catMaybes-                 [("NextToken" .=) <$> _blaisNextToken,-                  ("MaxResults" .=) <$> _blaisMaxResults,-                  Just ("TargetReference" .= _blaisTargetReference)])---- | Represents the output of a 'ListAttachedIndices' response operation.------------ /See:/ 'batchListAttachedIndicesResponse' smart constructor.-data BatchListAttachedIndicesResponse = BatchListAttachedIndicesResponse'-  { _blaiIndexAttachments :: !(Maybe [IndexAttachment])-  , _blaiNextToken        :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListAttachedIndicesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blaiIndexAttachments' - The indices attached to the specified object.------ * 'blaiNextToken' - The pagination token.-batchListAttachedIndicesResponse-    :: BatchListAttachedIndicesResponse-batchListAttachedIndicesResponse =-  BatchListAttachedIndicesResponse'-  {_blaiIndexAttachments = Nothing, _blaiNextToken = Nothing}----- | The indices attached to the specified object.-blaiIndexAttachments :: Lens' BatchListAttachedIndicesResponse [IndexAttachment]-blaiIndexAttachments = lens _blaiIndexAttachments (\ s a -> s{_blaiIndexAttachments = a}) . _Default . _Coerce;---- | The pagination token.-blaiNextToken :: Lens' BatchListAttachedIndicesResponse (Maybe Text)-blaiNextToken = lens _blaiNextToken (\ s a -> s{_blaiNextToken = a});--instance FromJSON BatchListAttachedIndicesResponse-         where-        parseJSON-          = withObject "BatchListAttachedIndicesResponse"-              (\ x ->-                 BatchListAttachedIndicesResponse' <$>-                   (x .:? "IndexAttachments" .!= mempty) <*>-                     (x .:? "NextToken"))--instance Hashable BatchListAttachedIndicesResponse-         where--instance NFData BatchListAttachedIndicesResponse-         where---- | Returns a paginated list of all the incoming 'TypedLinkSpecifier' information for an object inside a 'BatchRead' operation. For more information, see 'ListIncomingTypedLinks' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchListIncomingTypedLinks' smart constructor.-data BatchListIncomingTypedLinks = BatchListIncomingTypedLinks'-  { _blitlsFilterAttributeRanges :: !(Maybe [TypedLinkAttributeRange])-  , _blitlsNextToken             :: !(Maybe Text)-  , _blitlsFilterTypedLink       :: !(Maybe TypedLinkSchemaAndFacetName)-  , _blitlsMaxResults            :: !(Maybe Nat)-  , _blitlsObjectReference       :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListIncomingTypedLinks' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blitlsFilterAttributeRanges' - Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.------ * 'blitlsNextToken' - The pagination token.------ * 'blitlsFilterTypedLink' - Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.------ * 'blitlsMaxResults' - The maximum number of results to retrieve.------ * 'blitlsObjectReference' - The reference that identifies the object whose attributes will be listed.-batchListIncomingTypedLinks-    :: ObjectReference -- ^ 'blitlsObjectReference'-    -> BatchListIncomingTypedLinks-batchListIncomingTypedLinks pObjectReference_ =-  BatchListIncomingTypedLinks'-  { _blitlsFilterAttributeRanges = Nothing-  , _blitlsNextToken = Nothing-  , _blitlsFilterTypedLink = Nothing-  , _blitlsMaxResults = Nothing-  , _blitlsObjectReference = pObjectReference_-  }----- | Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.-blitlsFilterAttributeRanges :: Lens' BatchListIncomingTypedLinks [TypedLinkAttributeRange]-blitlsFilterAttributeRanges = lens _blitlsFilterAttributeRanges (\ s a -> s{_blitlsFilterAttributeRanges = a}) . _Default . _Coerce;---- | The pagination token.-blitlsNextToken :: Lens' BatchListIncomingTypedLinks (Maybe Text)-blitlsNextToken = lens _blitlsNextToken (\ s a -> s{_blitlsNextToken = a});---- | Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.-blitlsFilterTypedLink :: Lens' BatchListIncomingTypedLinks (Maybe TypedLinkSchemaAndFacetName)-blitlsFilterTypedLink = lens _blitlsFilterTypedLink (\ s a -> s{_blitlsFilterTypedLink = a});---- | The maximum number of results to retrieve.-blitlsMaxResults :: Lens' BatchListIncomingTypedLinks (Maybe Natural)-blitlsMaxResults = lens _blitlsMaxResults (\ s a -> s{_blitlsMaxResults = a}) . mapping _Nat;---- | The reference that identifies the object whose attributes will be listed.-blitlsObjectReference :: Lens' BatchListIncomingTypedLinks ObjectReference-blitlsObjectReference = lens _blitlsObjectReference (\ s a -> s{_blitlsObjectReference = a});--instance Hashable BatchListIncomingTypedLinks where--instance NFData BatchListIncomingTypedLinks where--instance ToJSON BatchListIncomingTypedLinks where-        toJSON BatchListIncomingTypedLinks'{..}-          = object-              (catMaybes-                 [("FilterAttributeRanges" .=) <$>-                    _blitlsFilterAttributeRanges,-                  ("NextToken" .=) <$> _blitlsNextToken,-                  ("FilterTypedLink" .=) <$> _blitlsFilterTypedLink,-                  ("MaxResults" .=) <$> _blitlsMaxResults,-                  Just ("ObjectReference" .= _blitlsObjectReference)])---- | Represents the output of a 'ListIncomingTypedLinks' response operation.------------ /See:/ 'batchListIncomingTypedLinksResponse' smart constructor.-data BatchListIncomingTypedLinksResponse = BatchListIncomingTypedLinksResponse'-  { _blitlLinkSpecifiers :: !(Maybe [TypedLinkSpecifier])-  , _blitlNextToken      :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListIncomingTypedLinksResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blitlLinkSpecifiers' - Returns one or more typed link specifiers as output.------ * 'blitlNextToken' - The pagination token.-batchListIncomingTypedLinksResponse-    :: BatchListIncomingTypedLinksResponse-batchListIncomingTypedLinksResponse =-  BatchListIncomingTypedLinksResponse'-  {_blitlLinkSpecifiers = Nothing, _blitlNextToken = Nothing}----- | Returns one or more typed link specifiers as output.-blitlLinkSpecifiers :: Lens' BatchListIncomingTypedLinksResponse [TypedLinkSpecifier]-blitlLinkSpecifiers = lens _blitlLinkSpecifiers (\ s a -> s{_blitlLinkSpecifiers = a}) . _Default . _Coerce;---- | The pagination token.-blitlNextToken :: Lens' BatchListIncomingTypedLinksResponse (Maybe Text)-blitlNextToken = lens _blitlNextToken (\ s a -> s{_blitlNextToken = a});--instance FromJSON BatchListIncomingTypedLinksResponse-         where-        parseJSON-          = withObject "BatchListIncomingTypedLinksResponse"-              (\ x ->-                 BatchListIncomingTypedLinksResponse' <$>-                   (x .:? "LinkSpecifiers" .!= mempty) <*>-                     (x .:? "NextToken"))--instance Hashable BatchListIncomingTypedLinksResponse-         where--instance NFData BatchListIncomingTypedLinksResponse-         where---- | Lists objects attached to the specified index inside a 'BatchRead' operation. For more information, see 'ListIndex' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchListIndex' smart constructor.-data BatchListIndex = BatchListIndex'-  { _batRangesOnIndexedValues :: !(Maybe [ObjectAttributeRange])-  , _batNextToken             :: !(Maybe Text)-  , _batMaxResults            :: !(Maybe Nat)-  , _batIndexReference        :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListIndex' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'batRangesOnIndexedValues' - Specifies the ranges of indexed values that you want to query.------ * 'batNextToken' - The pagination token.------ * 'batMaxResults' - The maximum number of results to retrieve.------ * 'batIndexReference' - The reference to the index to list.-batchListIndex-    :: ObjectReference -- ^ 'batIndexReference'-    -> BatchListIndex-batchListIndex pIndexReference_ =-  BatchListIndex'-  { _batRangesOnIndexedValues = Nothing-  , _batNextToken = Nothing-  , _batMaxResults = Nothing-  , _batIndexReference = pIndexReference_-  }----- | Specifies the ranges of indexed values that you want to query.-batRangesOnIndexedValues :: Lens' BatchListIndex [ObjectAttributeRange]-batRangesOnIndexedValues = lens _batRangesOnIndexedValues (\ s a -> s{_batRangesOnIndexedValues = a}) . _Default . _Coerce;---- | The pagination token.-batNextToken :: Lens' BatchListIndex (Maybe Text)-batNextToken = lens _batNextToken (\ s a -> s{_batNextToken = a});---- | The maximum number of results to retrieve.-batMaxResults :: Lens' BatchListIndex (Maybe Natural)-batMaxResults = lens _batMaxResults (\ s a -> s{_batMaxResults = a}) . mapping _Nat;---- | The reference to the index to list.-batIndexReference :: Lens' BatchListIndex ObjectReference-batIndexReference = lens _batIndexReference (\ s a -> s{_batIndexReference = a});--instance Hashable BatchListIndex where--instance NFData BatchListIndex where--instance ToJSON BatchListIndex where-        toJSON BatchListIndex'{..}-          = object-              (catMaybes-                 [("RangesOnIndexedValues" .=) <$>-                    _batRangesOnIndexedValues,-                  ("NextToken" .=) <$> _batNextToken,-                  ("MaxResults" .=) <$> _batMaxResults,-                  Just ("IndexReference" .= _batIndexReference)])---- | Represents the output of a 'ListIndex' response operation.------------ /See:/ 'batchListIndexResponse' smart constructor.-data BatchListIndexResponse = BatchListIndexResponse'-  { _bliIndexAttachments :: !(Maybe [IndexAttachment])-  , _bliNextToken        :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListIndexResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bliIndexAttachments' - The objects and indexed values attached to the index.------ * 'bliNextToken' - The pagination token.-batchListIndexResponse-    :: BatchListIndexResponse-batchListIndexResponse =-  BatchListIndexResponse'-  {_bliIndexAttachments = Nothing, _bliNextToken = Nothing}----- | The objects and indexed values attached to the index.-bliIndexAttachments :: Lens' BatchListIndexResponse [IndexAttachment]-bliIndexAttachments = lens _bliIndexAttachments (\ s a -> s{_bliIndexAttachments = a}) . _Default . _Coerce;---- | The pagination token.-bliNextToken :: Lens' BatchListIndexResponse (Maybe Text)-bliNextToken = lens _bliNextToken (\ s a -> s{_bliNextToken = a});--instance FromJSON BatchListIndexResponse where-        parseJSON-          = withObject "BatchListIndexResponse"-              (\ x ->-                 BatchListIndexResponse' <$>-                   (x .:? "IndexAttachments" .!= mempty) <*>-                     (x .:? "NextToken"))--instance Hashable BatchListIndexResponse where--instance NFData BatchListIndexResponse where---- | Represents the output of a 'ListObjectAttributes' operation.------------ /See:/ 'batchListObjectAttributes' smart constructor.-data BatchListObjectAttributes = BatchListObjectAttributes'-  { _bloaFacetFilter     :: !(Maybe SchemaFacet)-  , _bloaNextToken       :: !(Maybe Text)-  , _bloaMaxResults      :: !(Maybe Nat)-  , _bloaObjectReference :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListObjectAttributes' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bloaFacetFilter' - Used to filter the list of object attributes that are associated with a certain facet.------ * 'bloaNextToken' - The pagination token.------ * 'bloaMaxResults' - The maximum number of items to be retrieved in a single call. This is an approximate number.------ * 'bloaObjectReference' - Reference of the object whose attributes need to be listed.-batchListObjectAttributes-    :: ObjectReference -- ^ 'bloaObjectReference'-    -> BatchListObjectAttributes-batchListObjectAttributes pObjectReference_ =-  BatchListObjectAttributes'-  { _bloaFacetFilter = Nothing-  , _bloaNextToken = Nothing-  , _bloaMaxResults = Nothing-  , _bloaObjectReference = pObjectReference_-  }----- | Used to filter the list of object attributes that are associated with a certain facet.-bloaFacetFilter :: Lens' BatchListObjectAttributes (Maybe SchemaFacet)-bloaFacetFilter = lens _bloaFacetFilter (\ s a -> s{_bloaFacetFilter = a});---- | The pagination token.-bloaNextToken :: Lens' BatchListObjectAttributes (Maybe Text)-bloaNextToken = lens _bloaNextToken (\ s a -> s{_bloaNextToken = a});---- | The maximum number of items to be retrieved in a single call. This is an approximate number.-bloaMaxResults :: Lens' BatchListObjectAttributes (Maybe Natural)-bloaMaxResults = lens _bloaMaxResults (\ s a -> s{_bloaMaxResults = a}) . mapping _Nat;---- | Reference of the object whose attributes need to be listed.-bloaObjectReference :: Lens' BatchListObjectAttributes ObjectReference-bloaObjectReference = lens _bloaObjectReference (\ s a -> s{_bloaObjectReference = a});--instance Hashable BatchListObjectAttributes where--instance NFData BatchListObjectAttributes where--instance ToJSON BatchListObjectAttributes where-        toJSON BatchListObjectAttributes'{..}-          = object-              (catMaybes-                 [("FacetFilter" .=) <$> _bloaFacetFilter,-                  ("NextToken" .=) <$> _bloaNextToken,-                  ("MaxResults" .=) <$> _bloaMaxResults,-                  Just ("ObjectReference" .= _bloaObjectReference)])---- | Represents the output of a 'ListObjectAttributes' response operation.------------ /See:/ 'batchListObjectAttributesResponse' smart constructor.-data BatchListObjectAttributesResponse = BatchListObjectAttributesResponse'-  { _bNextToken  :: !(Maybe Text)-  , _bAttributes :: !(Maybe [AttributeKeyAndValue])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListObjectAttributesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bNextToken' - The pagination token.------ * 'bAttributes' - The attributes map that is associated with the object. @AttributeArn@ is the key; attribute value is the value.-batchListObjectAttributesResponse-    :: BatchListObjectAttributesResponse-batchListObjectAttributesResponse =-  BatchListObjectAttributesResponse'-  {_bNextToken = Nothing, _bAttributes = Nothing}----- | The pagination token.-bNextToken :: Lens' BatchListObjectAttributesResponse (Maybe Text)-bNextToken = lens _bNextToken (\ s a -> s{_bNextToken = a});---- | The attributes map that is associated with the object. @AttributeArn@ is the key; attribute value is the value.-bAttributes :: Lens' BatchListObjectAttributesResponse [AttributeKeyAndValue]-bAttributes = lens _bAttributes (\ s a -> s{_bAttributes = a}) . _Default . _Coerce;--instance FromJSON BatchListObjectAttributesResponse-         where-        parseJSON-          = withObject "BatchListObjectAttributesResponse"-              (\ x ->-                 BatchListObjectAttributesResponse' <$>-                   (x .:? "NextToken") <*>-                     (x .:? "Attributes" .!= mempty))--instance Hashable BatchListObjectAttributesResponse-         where--instance NFData BatchListObjectAttributesResponse-         where---- | Represents the output of a 'ListObjectChildren' operation.------------ /See:/ 'batchListObjectChildren' smart constructor.-data BatchListObjectChildren = BatchListObjectChildren'-  { _bloclNextToken       :: !(Maybe Text)-  , _bloclMaxResults      :: !(Maybe Nat)-  , _bloclObjectReference :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListObjectChildren' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bloclNextToken' - The pagination token.------ * 'bloclMaxResults' - Maximum number of items to be retrieved in a single call. This is an approximate number.------ * 'bloclObjectReference' - Reference of the object for which child objects are being listed.-batchListObjectChildren-    :: ObjectReference -- ^ 'bloclObjectReference'-    -> BatchListObjectChildren-batchListObjectChildren pObjectReference_ =-  BatchListObjectChildren'-  { _bloclNextToken = Nothing-  , _bloclMaxResults = Nothing-  , _bloclObjectReference = pObjectReference_-  }----- | The pagination token.-bloclNextToken :: Lens' BatchListObjectChildren (Maybe Text)-bloclNextToken = lens _bloclNextToken (\ s a -> s{_bloclNextToken = a});---- | Maximum number of items to be retrieved in a single call. This is an approximate number.-bloclMaxResults :: Lens' BatchListObjectChildren (Maybe Natural)-bloclMaxResults = lens _bloclMaxResults (\ s a -> s{_bloclMaxResults = a}) . mapping _Nat;---- | Reference of the object for which child objects are being listed.-bloclObjectReference :: Lens' BatchListObjectChildren ObjectReference-bloclObjectReference = lens _bloclObjectReference (\ s a -> s{_bloclObjectReference = a});--instance Hashable BatchListObjectChildren where--instance NFData BatchListObjectChildren where--instance ToJSON BatchListObjectChildren where-        toJSON BatchListObjectChildren'{..}-          = object-              (catMaybes-                 [("NextToken" .=) <$> _bloclNextToken,-                  ("MaxResults" .=) <$> _bloclMaxResults,-                  Just ("ObjectReference" .= _bloclObjectReference)])---- | Represents the output of a 'ListObjectChildren' response operation.------------ /See:/ 'batchListObjectChildrenResponse' smart constructor.-data BatchListObjectChildrenResponse = BatchListObjectChildrenResponse'-  { _blocChildren  :: !(Maybe (Map Text Text))-  , _blocNextToken :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListObjectChildrenResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blocChildren' - The children structure, which is a map with the key as the @LinkName@ and @ObjectIdentifier@ as the value.------ * 'blocNextToken' - The pagination token.-batchListObjectChildrenResponse-    :: BatchListObjectChildrenResponse-batchListObjectChildrenResponse =-  BatchListObjectChildrenResponse'-  {_blocChildren = Nothing, _blocNextToken = Nothing}----- | The children structure, which is a map with the key as the @LinkName@ and @ObjectIdentifier@ as the value.-blocChildren :: Lens' BatchListObjectChildrenResponse (HashMap Text Text)-blocChildren = lens _blocChildren (\ s a -> s{_blocChildren = a}) . _Default . _Map;---- | The pagination token.-blocNextToken :: Lens' BatchListObjectChildrenResponse (Maybe Text)-blocNextToken = lens _blocNextToken (\ s a -> s{_blocNextToken = a});--instance FromJSON BatchListObjectChildrenResponse-         where-        parseJSON-          = withObject "BatchListObjectChildrenResponse"-              (\ x ->-                 BatchListObjectChildrenResponse' <$>-                   (x .:? "Children" .!= mempty) <*>-                     (x .:? "NextToken"))--instance Hashable BatchListObjectChildrenResponse-         where--instance NFData BatchListObjectChildrenResponse where---- | Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects inside a 'BatchRead' operation. For more information, see 'ListObjectParentPaths' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchListObjectParentPaths' smart constructor.-data BatchListObjectParentPaths = BatchListObjectParentPaths'-  { _bloppsNextToken       :: !(Maybe Text)-  , _bloppsMaxResults      :: !(Maybe Nat)-  , _bloppsObjectReference :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListObjectParentPaths' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bloppsNextToken' - The pagination token.------ * 'bloppsMaxResults' - The maximum number of results to retrieve.------ * 'bloppsObjectReference' - The reference that identifies the object whose attributes will be listed.-batchListObjectParentPaths-    :: ObjectReference -- ^ 'bloppsObjectReference'-    -> BatchListObjectParentPaths-batchListObjectParentPaths pObjectReference_ =-  BatchListObjectParentPaths'-  { _bloppsNextToken = Nothing-  , _bloppsMaxResults = Nothing-  , _bloppsObjectReference = pObjectReference_-  }----- | The pagination token.-bloppsNextToken :: Lens' BatchListObjectParentPaths (Maybe Text)-bloppsNextToken = lens _bloppsNextToken (\ s a -> s{_bloppsNextToken = a});---- | The maximum number of results to retrieve.-bloppsMaxResults :: Lens' BatchListObjectParentPaths (Maybe Natural)-bloppsMaxResults = lens _bloppsMaxResults (\ s a -> s{_bloppsMaxResults = a}) . mapping _Nat;---- | The reference that identifies the object whose attributes will be listed.-bloppsObjectReference :: Lens' BatchListObjectParentPaths ObjectReference-bloppsObjectReference = lens _bloppsObjectReference (\ s a -> s{_bloppsObjectReference = a});--instance Hashable BatchListObjectParentPaths where--instance NFData BatchListObjectParentPaths where--instance ToJSON BatchListObjectParentPaths where-        toJSON BatchListObjectParentPaths'{..}-          = object-              (catMaybes-                 [("NextToken" .=) <$> _bloppsNextToken,-                  ("MaxResults" .=) <$> _bloppsMaxResults,-                  Just ("ObjectReference" .= _bloppsObjectReference)])---- | Represents the output of a 'ListObjectParentPaths' response operation.------------ /See:/ 'batchListObjectParentPathsResponse' smart constructor.-data BatchListObjectParentPathsResponse = BatchListObjectParentPathsResponse'-  { _bloppPathToObjectIdentifiersList :: !(Maybe [PathToObjectIdentifiers])-  , _bloppNextToken                   :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListObjectParentPathsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bloppPathToObjectIdentifiersList' - Returns the path to the @ObjectIdentifiers@ that are associated with the directory.------ * 'bloppNextToken' - The pagination token.-batchListObjectParentPathsResponse-    :: BatchListObjectParentPathsResponse-batchListObjectParentPathsResponse =-  BatchListObjectParentPathsResponse'-  {_bloppPathToObjectIdentifiersList = Nothing, _bloppNextToken = Nothing}----- | Returns the path to the @ObjectIdentifiers@ that are associated with the directory.-bloppPathToObjectIdentifiersList :: Lens' BatchListObjectParentPathsResponse [PathToObjectIdentifiers]-bloppPathToObjectIdentifiersList = lens _bloppPathToObjectIdentifiersList (\ s a -> s{_bloppPathToObjectIdentifiersList = a}) . _Default . _Coerce;---- | The pagination token.-bloppNextToken :: Lens' BatchListObjectParentPathsResponse (Maybe Text)-bloppNextToken = lens _bloppNextToken (\ s a -> s{_bloppNextToken = a});--instance FromJSON BatchListObjectParentPathsResponse-         where-        parseJSON-          = withObject "BatchListObjectParentPathsResponse"-              (\ x ->-                 BatchListObjectParentPathsResponse' <$>-                   (x .:? "PathToObjectIdentifiersList" .!= mempty) <*>-                     (x .:? "NextToken"))--instance Hashable BatchListObjectParentPathsResponse-         where--instance NFData BatchListObjectParentPathsResponse-         where---- | Returns policies attached to an object in pagination fashion inside a 'BatchRead' operation. For more information, see 'ListObjectPolicies' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchListObjectPolicies' smart constructor.-data BatchListObjectPolicies = BatchListObjectPolicies'-  { _blopsNextToken       :: !(Maybe Text)-  , _blopsMaxResults      :: !(Maybe Nat)-  , _blopsObjectReference :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListObjectPolicies' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blopsNextToken' - The pagination token.------ * 'blopsMaxResults' - The maximum number of results to retrieve.------ * 'blopsObjectReference' - The reference that identifies the object whose attributes will be listed.-batchListObjectPolicies-    :: ObjectReference -- ^ 'blopsObjectReference'-    -> BatchListObjectPolicies-batchListObjectPolicies pObjectReference_ =-  BatchListObjectPolicies'-  { _blopsNextToken = Nothing-  , _blopsMaxResults = Nothing-  , _blopsObjectReference = pObjectReference_-  }----- | The pagination token.-blopsNextToken :: Lens' BatchListObjectPolicies (Maybe Text)-blopsNextToken = lens _blopsNextToken (\ s a -> s{_blopsNextToken = a});---- | The maximum number of results to retrieve.-blopsMaxResults :: Lens' BatchListObjectPolicies (Maybe Natural)-blopsMaxResults = lens _blopsMaxResults (\ s a -> s{_blopsMaxResults = a}) . mapping _Nat;---- | The reference that identifies the object whose attributes will be listed.-blopsObjectReference :: Lens' BatchListObjectPolicies ObjectReference-blopsObjectReference = lens _blopsObjectReference (\ s a -> s{_blopsObjectReference = a});--instance Hashable BatchListObjectPolicies where--instance NFData BatchListObjectPolicies where--instance ToJSON BatchListObjectPolicies where-        toJSON BatchListObjectPolicies'{..}-          = object-              (catMaybes-                 [("NextToken" .=) <$> _blopsNextToken,-                  ("MaxResults" .=) <$> _blopsMaxResults,-                  Just ("ObjectReference" .= _blopsObjectReference)])---- | Represents the output of a 'ListObjectPolicies' response operation.------------ /See:/ 'batchListObjectPoliciesResponse' smart constructor.-data BatchListObjectPoliciesResponse = BatchListObjectPoliciesResponse'-  { _blopNextToken         :: !(Maybe Text)-  , _blopAttachedPolicyIds :: !(Maybe [Text])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListObjectPoliciesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blopNextToken' - The pagination token.------ * 'blopAttachedPolicyIds' - A list of policy @ObjectIdentifiers@ , that are attached to the object.-batchListObjectPoliciesResponse-    :: BatchListObjectPoliciesResponse-batchListObjectPoliciesResponse =-  BatchListObjectPoliciesResponse'-  {_blopNextToken = Nothing, _blopAttachedPolicyIds = Nothing}----- | The pagination token.-blopNextToken :: Lens' BatchListObjectPoliciesResponse (Maybe Text)-blopNextToken = lens _blopNextToken (\ s a -> s{_blopNextToken = a});---- | A list of policy @ObjectIdentifiers@ , that are attached to the object.-blopAttachedPolicyIds :: Lens' BatchListObjectPoliciesResponse [Text]-blopAttachedPolicyIds = lens _blopAttachedPolicyIds (\ s a -> s{_blopAttachedPolicyIds = a}) . _Default . _Coerce;--instance FromJSON BatchListObjectPoliciesResponse-         where-        parseJSON-          = withObject "BatchListObjectPoliciesResponse"-              (\ x ->-                 BatchListObjectPoliciesResponse' <$>-                   (x .:? "NextToken") <*>-                     (x .:? "AttachedPolicyIds" .!= mempty))--instance Hashable BatchListObjectPoliciesResponse-         where--instance NFData BatchListObjectPoliciesResponse where---- | Returns a paginated list of all the outgoing 'TypedLinkSpecifier' information for an object inside a 'BatchRead' operation. For more information, see 'ListOutgoingTypedLinks' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchListOutgoingTypedLinks' smart constructor.-data BatchListOutgoingTypedLinks = BatchListOutgoingTypedLinks'-  { _blotlsFilterAttributeRanges :: !(Maybe [TypedLinkAttributeRange])-  , _blotlsNextToken             :: !(Maybe Text)-  , _blotlsFilterTypedLink       :: !(Maybe TypedLinkSchemaAndFacetName)-  , _blotlsMaxResults            :: !(Maybe Nat)-  , _blotlsObjectReference       :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListOutgoingTypedLinks' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blotlsFilterAttributeRanges' - Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.------ * 'blotlsNextToken' - The pagination token.------ * 'blotlsFilterTypedLink' - Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.------ * 'blotlsMaxResults' - The maximum number of results to retrieve.------ * 'blotlsObjectReference' - The reference that identifies the object whose attributes will be listed.-batchListOutgoingTypedLinks-    :: ObjectReference -- ^ 'blotlsObjectReference'-    -> BatchListOutgoingTypedLinks-batchListOutgoingTypedLinks pObjectReference_ =-  BatchListOutgoingTypedLinks'-  { _blotlsFilterAttributeRanges = Nothing-  , _blotlsNextToken = Nothing-  , _blotlsFilterTypedLink = Nothing-  , _blotlsMaxResults = Nothing-  , _blotlsObjectReference = pObjectReference_-  }----- | Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.-blotlsFilterAttributeRanges :: Lens' BatchListOutgoingTypedLinks [TypedLinkAttributeRange]-blotlsFilterAttributeRanges = lens _blotlsFilterAttributeRanges (\ s a -> s{_blotlsFilterAttributeRanges = a}) . _Default . _Coerce;---- | The pagination token.-blotlsNextToken :: Lens' BatchListOutgoingTypedLinks (Maybe Text)-blotlsNextToken = lens _blotlsNextToken (\ s a -> s{_blotlsNextToken = a});---- | Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.-blotlsFilterTypedLink :: Lens' BatchListOutgoingTypedLinks (Maybe TypedLinkSchemaAndFacetName)-blotlsFilterTypedLink = lens _blotlsFilterTypedLink (\ s a -> s{_blotlsFilterTypedLink = a});---- | The maximum number of results to retrieve.-blotlsMaxResults :: Lens' BatchListOutgoingTypedLinks (Maybe Natural)-blotlsMaxResults = lens _blotlsMaxResults (\ s a -> s{_blotlsMaxResults = a}) . mapping _Nat;---- | The reference that identifies the object whose attributes will be listed.-blotlsObjectReference :: Lens' BatchListOutgoingTypedLinks ObjectReference-blotlsObjectReference = lens _blotlsObjectReference (\ s a -> s{_blotlsObjectReference = a});--instance Hashable BatchListOutgoingTypedLinks where--instance NFData BatchListOutgoingTypedLinks where--instance ToJSON BatchListOutgoingTypedLinks where-        toJSON BatchListOutgoingTypedLinks'{..}-          = object-              (catMaybes-                 [("FilterAttributeRanges" .=) <$>-                    _blotlsFilterAttributeRanges,-                  ("NextToken" .=) <$> _blotlsNextToken,-                  ("FilterTypedLink" .=) <$> _blotlsFilterTypedLink,-                  ("MaxResults" .=) <$> _blotlsMaxResults,-                  Just ("ObjectReference" .= _blotlsObjectReference)])---- | Represents the output of a 'ListOutgoingTypedLinks' response operation.------------ /See:/ 'batchListOutgoingTypedLinksResponse' smart constructor.-data BatchListOutgoingTypedLinksResponse = BatchListOutgoingTypedLinksResponse'-  { _blotlTypedLinkSpecifiers :: !(Maybe [TypedLinkSpecifier])-  , _blotlNextToken           :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListOutgoingTypedLinksResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blotlTypedLinkSpecifiers' - Returns a typed link specifier as output.------ * 'blotlNextToken' - The pagination token.-batchListOutgoingTypedLinksResponse-    :: BatchListOutgoingTypedLinksResponse-batchListOutgoingTypedLinksResponse =-  BatchListOutgoingTypedLinksResponse'-  {_blotlTypedLinkSpecifiers = Nothing, _blotlNextToken = Nothing}----- | Returns a typed link specifier as output.-blotlTypedLinkSpecifiers :: Lens' BatchListOutgoingTypedLinksResponse [TypedLinkSpecifier]-blotlTypedLinkSpecifiers = lens _blotlTypedLinkSpecifiers (\ s a -> s{_blotlTypedLinkSpecifiers = a}) . _Default . _Coerce;---- | The pagination token.-blotlNextToken :: Lens' BatchListOutgoingTypedLinksResponse (Maybe Text)-blotlNextToken = lens _blotlNextToken (\ s a -> s{_blotlNextToken = a});--instance FromJSON BatchListOutgoingTypedLinksResponse-         where-        parseJSON-          = withObject "BatchListOutgoingTypedLinksResponse"-              (\ x ->-                 BatchListOutgoingTypedLinksResponse' <$>-                   (x .:? "TypedLinkSpecifiers" .!= mempty) <*>-                     (x .:? "NextToken"))--instance Hashable BatchListOutgoingTypedLinksResponse-         where--instance NFData BatchListOutgoingTypedLinksResponse-         where---- | Returns all of the @ObjectIdentifiers@ to which a given policy is attached inside a 'BatchRead' operation. For more information, see 'ListPolicyAttachments' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchListPolicyAttachments' smart constructor.-data BatchListPolicyAttachments = BatchListPolicyAttachments'-  { _blpasNextToken       :: !(Maybe Text)-  , _blpasMaxResults      :: !(Maybe Nat)-  , _blpasPolicyReference :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListPolicyAttachments' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blpasNextToken' - The pagination token.------ * 'blpasMaxResults' - The maximum number of results to retrieve.------ * 'blpasPolicyReference' - The reference that identifies the policy object.-batchListPolicyAttachments-    :: ObjectReference -- ^ 'blpasPolicyReference'-    -> BatchListPolicyAttachments-batchListPolicyAttachments pPolicyReference_ =-  BatchListPolicyAttachments'-  { _blpasNextToken = Nothing-  , _blpasMaxResults = Nothing-  , _blpasPolicyReference = pPolicyReference_-  }----- | The pagination token.-blpasNextToken :: Lens' BatchListPolicyAttachments (Maybe Text)-blpasNextToken = lens _blpasNextToken (\ s a -> s{_blpasNextToken = a});---- | The maximum number of results to retrieve.-blpasMaxResults :: Lens' BatchListPolicyAttachments (Maybe Natural)-blpasMaxResults = lens _blpasMaxResults (\ s a -> s{_blpasMaxResults = a}) . mapping _Nat;---- | The reference that identifies the policy object.-blpasPolicyReference :: Lens' BatchListPolicyAttachments ObjectReference-blpasPolicyReference = lens _blpasPolicyReference (\ s a -> s{_blpasPolicyReference = a});--instance Hashable BatchListPolicyAttachments where--instance NFData BatchListPolicyAttachments where--instance ToJSON BatchListPolicyAttachments where-        toJSON BatchListPolicyAttachments'{..}-          = object-              (catMaybes-                 [("NextToken" .=) <$> _blpasNextToken,-                  ("MaxResults" .=) <$> _blpasMaxResults,-                  Just ("PolicyReference" .= _blpasPolicyReference)])---- | Represents the output of a 'ListPolicyAttachments' response operation.------------ /See:/ 'batchListPolicyAttachmentsResponse' smart constructor.-data BatchListPolicyAttachmentsResponse = BatchListPolicyAttachmentsResponse'-  { _blpaObjectIdentifiers :: !(Maybe [Text])-  , _blpaNextToken         :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchListPolicyAttachmentsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blpaObjectIdentifiers' - A list of @ObjectIdentifiers@ to which the policy is attached.------ * 'blpaNextToken' - The pagination token.-batchListPolicyAttachmentsResponse-    :: BatchListPolicyAttachmentsResponse-batchListPolicyAttachmentsResponse =-  BatchListPolicyAttachmentsResponse'-  {_blpaObjectIdentifiers = Nothing, _blpaNextToken = Nothing}----- | A list of @ObjectIdentifiers@ to which the policy is attached.-blpaObjectIdentifiers :: Lens' BatchListPolicyAttachmentsResponse [Text]-blpaObjectIdentifiers = lens _blpaObjectIdentifiers (\ s a -> s{_blpaObjectIdentifiers = a}) . _Default . _Coerce;---- | The pagination token.-blpaNextToken :: Lens' BatchListPolicyAttachmentsResponse (Maybe Text)-blpaNextToken = lens _blpaNextToken (\ s a -> s{_blpaNextToken = a});--instance FromJSON BatchListPolicyAttachmentsResponse-         where-        parseJSON-          = withObject "BatchListPolicyAttachmentsResponse"-              (\ x ->-                 BatchListPolicyAttachmentsResponse' <$>-                   (x .:? "ObjectIdentifiers" .!= mempty) <*>-                     (x .:? "NextToken"))--instance Hashable BatchListPolicyAttachmentsResponse-         where--instance NFData BatchListPolicyAttachmentsResponse-         where---- | Lists all policies from the root of the Directory to the object specified inside a 'BatchRead' operation. For more information, see 'LookupPolicy' and 'BatchReadRequest$Operations' .------------ /See:/ 'batchLookupPolicy' smart constructor.-data BatchLookupPolicy = BatchLookupPolicy'-  { _blplNextToken       :: !(Maybe Text)-  , _blplMaxResults      :: !(Maybe Nat)-  , _blplObjectReference :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchLookupPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blplNextToken' - The pagination token.------ * 'blplMaxResults' - The maximum number of results to retrieve.------ * 'blplObjectReference' - Reference that identifies the object whose policies will be looked up.-batchLookupPolicy-    :: ObjectReference -- ^ 'blplObjectReference'-    -> BatchLookupPolicy-batchLookupPolicy pObjectReference_ =-  BatchLookupPolicy'-  { _blplNextToken = Nothing-  , _blplMaxResults = Nothing-  , _blplObjectReference = pObjectReference_-  }----- | The pagination token.-blplNextToken :: Lens' BatchLookupPolicy (Maybe Text)-blplNextToken = lens _blplNextToken (\ s a -> s{_blplNextToken = a});---- | The maximum number of results to retrieve.-blplMaxResults :: Lens' BatchLookupPolicy (Maybe Natural)-blplMaxResults = lens _blplMaxResults (\ s a -> s{_blplMaxResults = a}) . mapping _Nat;---- | Reference that identifies the object whose policies will be looked up.-blplObjectReference :: Lens' BatchLookupPolicy ObjectReference-blplObjectReference = lens _blplObjectReference (\ s a -> s{_blplObjectReference = a});--instance Hashable BatchLookupPolicy where--instance NFData BatchLookupPolicy where--instance ToJSON BatchLookupPolicy where-        toJSON BatchLookupPolicy'{..}-          = object-              (catMaybes-                 [("NextToken" .=) <$> _blplNextToken,-                  ("MaxResults" .=) <$> _blplMaxResults,-                  Just ("ObjectReference" .= _blplObjectReference)])---- | Represents the output of a 'LookupPolicy' response operation.------------ /See:/ 'batchLookupPolicyResponse' smart constructor.-data BatchLookupPolicyResponse = BatchLookupPolicyResponse'-  { _blpNextToken        :: !(Maybe Text)-  , _blpPolicyToPathList :: !(Maybe [PolicyToPath])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchLookupPolicyResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blpNextToken' - The pagination token.------ * 'blpPolicyToPathList' - Provides list of path to policies. Policies contain @PolicyId@ , @ObjectIdentifier@ , and @PolicyType@ . For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .-batchLookupPolicyResponse-    :: BatchLookupPolicyResponse-batchLookupPolicyResponse =-  BatchLookupPolicyResponse'-  {_blpNextToken = Nothing, _blpPolicyToPathList = Nothing}----- | The pagination token.-blpNextToken :: Lens' BatchLookupPolicyResponse (Maybe Text)-blpNextToken = lens _blpNextToken (\ s a -> s{_blpNextToken = a});---- | Provides list of path to policies. Policies contain @PolicyId@ , @ObjectIdentifier@ , and @PolicyType@ . For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .-blpPolicyToPathList :: Lens' BatchLookupPolicyResponse [PolicyToPath]-blpPolicyToPathList = lens _blpPolicyToPathList (\ s a -> s{_blpPolicyToPathList = a}) . _Default . _Coerce;--instance FromJSON BatchLookupPolicyResponse where-        parseJSON-          = withObject "BatchLookupPolicyResponse"-              (\ x ->-                 BatchLookupPolicyResponse' <$>-                   (x .:? "NextToken") <*>-                     (x .:? "PolicyToPathList" .!= mempty))--instance Hashable BatchLookupPolicyResponse where--instance NFData BatchLookupPolicyResponse where---- | The batch read exception structure, which contains the exception type and message.------------ /See:/ 'batchReadException' smart constructor.-data BatchReadException = BatchReadException'-  { _breType    :: !(Maybe BatchReadExceptionType)-  , _breMessage :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchReadException' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'breType' - A type of exception, such as @InvalidArnException@ .------ * 'breMessage' - An exception message that is associated with the failure.-batchReadException-    :: BatchReadException-batchReadException =-  BatchReadException' {_breType = Nothing, _breMessage = Nothing}----- | A type of exception, such as @InvalidArnException@ .-breType :: Lens' BatchReadException (Maybe BatchReadExceptionType)-breType = lens _breType (\ s a -> s{_breType = a});---- | An exception message that is associated with the failure.-breMessage :: Lens' BatchReadException (Maybe Text)-breMessage = lens _breMessage (\ s a -> s{_breMessage = a});--instance FromJSON BatchReadException where-        parseJSON-          = withObject "BatchReadException"-              (\ x ->-                 BatchReadException' <$>-                   (x .:? "Type") <*> (x .:? "Message"))--instance Hashable BatchReadException where--instance NFData BatchReadException where---- | Represents the output of a @BatchRead@ operation.------------ /See:/ 'batchReadOperation' smart constructor.-data BatchReadOperation = BatchReadOperation'-  { _broListIndex              :: !(Maybe BatchListIndex)-  , _broGetObjectInformation   :: !(Maybe BatchGetObjectInformation)-  , _broListAttachedIndices    :: !(Maybe BatchListAttachedIndices)-  , _broLookupPolicy           :: !(Maybe BatchLookupPolicy)-  , _broListObjectParentPaths  :: !(Maybe BatchListObjectParentPaths)-  , _broListObjectAttributes   :: !(Maybe BatchListObjectAttributes)-  , _broListIncomingTypedLinks :: !(Maybe BatchListIncomingTypedLinks)-  , _broListObjectChildren     :: !(Maybe BatchListObjectChildren)-  , _broListPolicyAttachments  :: !(Maybe BatchListPolicyAttachments)-  , _broListOutgoingTypedLinks :: !(Maybe BatchListOutgoingTypedLinks)-  , _broListObjectPolicies     :: !(Maybe BatchListObjectPolicies)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchReadOperation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'broListIndex' - Lists objects attached to the specified index.------ * 'broGetObjectInformation' - Retrieves metadata about an object.------ * 'broListAttachedIndices' - Lists indices attached to an object.------ * 'broLookupPolicy' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .------ * 'broListObjectParentPaths' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#dirstructure Directory Structure> .------ * 'broListObjectAttributes' - Lists all attributes that are associated with an object.------ * 'broListIncomingTypedLinks' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .------ * 'broListObjectChildren' - Returns a paginated list of child objects that are associated with a given object.------ * 'broListPolicyAttachments' - Returns all of the @ObjectIdentifiers@ to which a given policy is attached.------ * 'broListOutgoingTypedLinks' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .------ * 'broListObjectPolicies' - Returns policies attached to an object in pagination fashion.-batchReadOperation-    :: BatchReadOperation-batchReadOperation =-  BatchReadOperation'-  { _broListIndex = Nothing-  , _broGetObjectInformation = Nothing-  , _broListAttachedIndices = Nothing-  , _broLookupPolicy = Nothing-  , _broListObjectParentPaths = Nothing-  , _broListObjectAttributes = Nothing-  , _broListIncomingTypedLinks = Nothing-  , _broListObjectChildren = Nothing-  , _broListPolicyAttachments = Nothing-  , _broListOutgoingTypedLinks = Nothing-  , _broListObjectPolicies = Nothing-  }----- | Lists objects attached to the specified index.-broListIndex :: Lens' BatchReadOperation (Maybe BatchListIndex)-broListIndex = lens _broListIndex (\ s a -> s{_broListIndex = a});---- | Retrieves metadata about an object.-broGetObjectInformation :: Lens' BatchReadOperation (Maybe BatchGetObjectInformation)-broGetObjectInformation = lens _broGetObjectInformation (\ s a -> s{_broGetObjectInformation = a});---- | Lists indices attached to an object.-broListAttachedIndices :: Lens' BatchReadOperation (Maybe BatchListAttachedIndices)-broListAttachedIndices = lens _broListAttachedIndices (\ s a -> s{_broListAttachedIndices = a});---- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .-broLookupPolicy :: Lens' BatchReadOperation (Maybe BatchLookupPolicy)-broLookupPolicy = lens _broLookupPolicy (\ s a -> s{_broLookupPolicy = a});---- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#dirstructure Directory Structure> .-broListObjectParentPaths :: Lens' BatchReadOperation (Maybe BatchListObjectParentPaths)-broListObjectParentPaths = lens _broListObjectParentPaths (\ s a -> s{_broListObjectParentPaths = a});---- | Lists all attributes that are associated with an object.-broListObjectAttributes :: Lens' BatchReadOperation (Maybe BatchListObjectAttributes)-broListObjectAttributes = lens _broListObjectAttributes (\ s a -> s{_broListObjectAttributes = a});---- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .-broListIncomingTypedLinks :: Lens' BatchReadOperation (Maybe BatchListIncomingTypedLinks)-broListIncomingTypedLinks = lens _broListIncomingTypedLinks (\ s a -> s{_broListIncomingTypedLinks = a});---- | Returns a paginated list of child objects that are associated with a given object.-broListObjectChildren :: Lens' BatchReadOperation (Maybe BatchListObjectChildren)-broListObjectChildren = lens _broListObjectChildren (\ s a -> s{_broListObjectChildren = a});---- | Returns all of the @ObjectIdentifiers@ to which a given policy is attached.-broListPolicyAttachments :: Lens' BatchReadOperation (Maybe BatchListPolicyAttachments)-broListPolicyAttachments = lens _broListPolicyAttachments (\ s a -> s{_broListPolicyAttachments = a});---- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .-broListOutgoingTypedLinks :: Lens' BatchReadOperation (Maybe BatchListOutgoingTypedLinks)-broListOutgoingTypedLinks = lens _broListOutgoingTypedLinks (\ s a -> s{_broListOutgoingTypedLinks = a});---- | Returns policies attached to an object in pagination fashion.-broListObjectPolicies :: Lens' BatchReadOperation (Maybe BatchListObjectPolicies)-broListObjectPolicies = lens _broListObjectPolicies (\ s a -> s{_broListObjectPolicies = a});--instance Hashable BatchReadOperation where--instance NFData BatchReadOperation where--instance ToJSON BatchReadOperation where-        toJSON BatchReadOperation'{..}-          = object-              (catMaybes-                 [("ListIndex" .=) <$> _broListIndex,-                  ("GetObjectInformation" .=) <$>-                    _broGetObjectInformation,-                  ("ListAttachedIndices" .=) <$>-                    _broListAttachedIndices,-                  ("LookupPolicy" .=) <$> _broLookupPolicy,-                  ("ListObjectParentPaths" .=) <$>-                    _broListObjectParentPaths,-                  ("ListObjectAttributes" .=) <$>-                    _broListObjectAttributes,-                  ("ListIncomingTypedLinks" .=) <$>-                    _broListIncomingTypedLinks,-                  ("ListObjectChildren" .=) <$> _broListObjectChildren,-                  ("ListPolicyAttachments" .=) <$>-                    _broListPolicyAttachments,-                  ("ListOutgoingTypedLinks" .=) <$>-                    _broListOutgoingTypedLinks,-                  ("ListObjectPolicies" .=) <$>-                    _broListObjectPolicies])---- | Represents the output of a @BatchRead@ response operation.------------ /See:/ 'batchReadOperationResponse' smart constructor.-data BatchReadOperationResponse = BatchReadOperationResponse'-  { _broExceptionResponse  :: !(Maybe BatchReadException)-  , _broSuccessfulResponse :: !(Maybe BatchReadSuccessfulResponse)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchReadOperationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'broExceptionResponse' - Identifies which operation in a batch has failed.------ * 'broSuccessfulResponse' - Identifies which operation in a batch has succeeded.-batchReadOperationResponse-    :: BatchReadOperationResponse-batchReadOperationResponse =-  BatchReadOperationResponse'-  {_broExceptionResponse = Nothing, _broSuccessfulResponse = Nothing}----- | Identifies which operation in a batch has failed.-broExceptionResponse :: Lens' BatchReadOperationResponse (Maybe BatchReadException)-broExceptionResponse = lens _broExceptionResponse (\ s a -> s{_broExceptionResponse = a});---- | Identifies which operation in a batch has succeeded.-broSuccessfulResponse :: Lens' BatchReadOperationResponse (Maybe BatchReadSuccessfulResponse)-broSuccessfulResponse = lens _broSuccessfulResponse (\ s a -> s{_broSuccessfulResponse = a});--instance FromJSON BatchReadOperationResponse where-        parseJSON-          = withObject "BatchReadOperationResponse"-              (\ x ->-                 BatchReadOperationResponse' <$>-                   (x .:? "ExceptionResponse") <*>-                     (x .:? "SuccessfulResponse"))--instance Hashable BatchReadOperationResponse where--instance NFData BatchReadOperationResponse where---- | Represents the output of a @BatchRead@ success response operation.------------ /See:/ 'batchReadSuccessfulResponse' smart constructor.-data BatchReadSuccessfulResponse = BatchReadSuccessfulResponse'-  { _brsListIndex              :: !(Maybe BatchListIndexResponse)-  , _brsGetObjectInformation   :: !(Maybe BatchGetObjectInformationResponse)-  , _brsListAttachedIndices    :: !(Maybe BatchListAttachedIndicesResponse)-  , _brsLookupPolicy           :: !(Maybe BatchLookupPolicyResponse)-  , _brsListObjectParentPaths  :: !(Maybe BatchListObjectParentPathsResponse)-  , _brsListObjectAttributes   :: !(Maybe BatchListObjectAttributesResponse)-  , _brsListIncomingTypedLinks :: !(Maybe BatchListIncomingTypedLinksResponse)-  , _brsListObjectChildren     :: !(Maybe BatchListObjectChildrenResponse)-  , _brsListPolicyAttachments  :: !(Maybe BatchListPolicyAttachmentsResponse)-  , _brsListOutgoingTypedLinks :: !(Maybe BatchListOutgoingTypedLinksResponse)-  , _brsListObjectPolicies     :: !(Maybe BatchListObjectPoliciesResponse)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchReadSuccessfulResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'brsListIndex' - Lists objects attached to the specified index.------ * 'brsGetObjectInformation' - Retrieves metadata about an object.------ * 'brsListAttachedIndices' - Lists indices attached to an object.------ * 'brsLookupPolicy' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .------ * 'brsListObjectParentPaths' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#dirstructure Directory Structure> .------ * 'brsListObjectAttributes' - Lists all attributes that are associated with an object.------ * 'brsListIncomingTypedLinks' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .------ * 'brsListObjectChildren' - Returns a paginated list of child objects that are associated with a given object.------ * 'brsListPolicyAttachments' - Returns all of the @ObjectIdentifiers@ to which a given policy is attached.------ * 'brsListOutgoingTypedLinks' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .------ * 'brsListObjectPolicies' - Returns policies attached to an object in pagination fashion.-batchReadSuccessfulResponse-    :: BatchReadSuccessfulResponse-batchReadSuccessfulResponse =-  BatchReadSuccessfulResponse'-  { _brsListIndex = Nothing-  , _brsGetObjectInformation = Nothing-  , _brsListAttachedIndices = Nothing-  , _brsLookupPolicy = Nothing-  , _brsListObjectParentPaths = Nothing-  , _brsListObjectAttributes = Nothing-  , _brsListIncomingTypedLinks = Nothing-  , _brsListObjectChildren = Nothing-  , _brsListPolicyAttachments = Nothing-  , _brsListOutgoingTypedLinks = Nothing-  , _brsListObjectPolicies = Nothing-  }----- | Lists objects attached to the specified index.-brsListIndex :: Lens' BatchReadSuccessfulResponse (Maybe BatchListIndexResponse)-brsListIndex = lens _brsListIndex (\ s a -> s{_brsListIndex = a});---- | Retrieves metadata about an object.-brsGetObjectInformation :: Lens' BatchReadSuccessfulResponse (Maybe BatchGetObjectInformationResponse)-brsGetObjectInformation = lens _brsGetObjectInformation (\ s a -> s{_brsGetObjectInformation = a});---- | Lists indices attached to an object.-brsListAttachedIndices :: Lens' BatchReadSuccessfulResponse (Maybe BatchListAttachedIndicesResponse)-brsListAttachedIndices = lens _brsListAttachedIndices (\ s a -> s{_brsListAttachedIndices = a});---- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .-brsLookupPolicy :: Lens' BatchReadSuccessfulResponse (Maybe BatchLookupPolicyResponse)-brsLookupPolicy = lens _brsLookupPolicy (\ s a -> s{_brsLookupPolicy = a});---- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#dirstructure Directory Structure> .-brsListObjectParentPaths :: Lens' BatchReadSuccessfulResponse (Maybe BatchListObjectParentPathsResponse)-brsListObjectParentPaths = lens _brsListObjectParentPaths (\ s a -> s{_brsListObjectParentPaths = a});---- | Lists all attributes that are associated with an object.-brsListObjectAttributes :: Lens' BatchReadSuccessfulResponse (Maybe BatchListObjectAttributesResponse)-brsListObjectAttributes = lens _brsListObjectAttributes (\ s a -> s{_brsListObjectAttributes = a});---- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .-brsListIncomingTypedLinks :: Lens' BatchReadSuccessfulResponse (Maybe BatchListIncomingTypedLinksResponse)-brsListIncomingTypedLinks = lens _brsListIncomingTypedLinks (\ s a -> s{_brsListIncomingTypedLinks = a});---- | Returns a paginated list of child objects that are associated with a given object.-brsListObjectChildren :: Lens' BatchReadSuccessfulResponse (Maybe BatchListObjectChildrenResponse)-brsListObjectChildren = lens _brsListObjectChildren (\ s a -> s{_brsListObjectChildren = a});---- | Returns all of the @ObjectIdentifiers@ to which a given policy is attached.-brsListPolicyAttachments :: Lens' BatchReadSuccessfulResponse (Maybe BatchListPolicyAttachmentsResponse)-brsListPolicyAttachments = lens _brsListPolicyAttachments (\ s a -> s{_brsListPolicyAttachments = a});---- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .-brsListOutgoingTypedLinks :: Lens' BatchReadSuccessfulResponse (Maybe BatchListOutgoingTypedLinksResponse)-brsListOutgoingTypedLinks = lens _brsListOutgoingTypedLinks (\ s a -> s{_brsListOutgoingTypedLinks = a});---- | Returns policies attached to an object in pagination fashion.-brsListObjectPolicies :: Lens' BatchReadSuccessfulResponse (Maybe BatchListObjectPoliciesResponse)-brsListObjectPolicies = lens _brsListObjectPolicies (\ s a -> s{_brsListObjectPolicies = a});--instance FromJSON BatchReadSuccessfulResponse where-        parseJSON-          = withObject "BatchReadSuccessfulResponse"-              (\ x ->-                 BatchReadSuccessfulResponse' <$>-                   (x .:? "ListIndex") <*>-                     (x .:? "GetObjectInformation")-                     <*> (x .:? "ListAttachedIndices")-                     <*> (x .:? "LookupPolicy")-                     <*> (x .:? "ListObjectParentPaths")-                     <*> (x .:? "ListObjectAttributes")-                     <*> (x .:? "ListIncomingTypedLinks")-                     <*> (x .:? "ListObjectChildren")-                     <*> (x .:? "ListPolicyAttachments")-                     <*> (x .:? "ListOutgoingTypedLinks")-                     <*> (x .:? "ListObjectPolicies"))--instance Hashable BatchReadSuccessfulResponse where--instance NFData BatchReadSuccessfulResponse where---- | A batch operation to remove a facet from an object.------------ /See:/ 'batchRemoveFacetFromObject' smart constructor.-data BatchRemoveFacetFromObject = BatchRemoveFacetFromObject'-  { _brffoSchemaFacet     :: !SchemaFacet-  , _brffoObjectReference :: !ObjectReference-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchRemoveFacetFromObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'brffoSchemaFacet' - The facet to remove from the object.------ * 'brffoObjectReference' - A reference to the object whose facet will be removed.-batchRemoveFacetFromObject-    :: SchemaFacet -- ^ 'brffoSchemaFacet'-    -> ObjectReference -- ^ 'brffoObjectReference'-    -> BatchRemoveFacetFromObject-batchRemoveFacetFromObject pSchemaFacet_ pObjectReference_ =-  BatchRemoveFacetFromObject'-  {_brffoSchemaFacet = pSchemaFacet_, _brffoObjectReference = pObjectReference_}----- | The facet to remove from the object.-brffoSchemaFacet :: Lens' BatchRemoveFacetFromObject SchemaFacet-brffoSchemaFacet = lens _brffoSchemaFacet (\ s a -> s{_brffoSchemaFacet = a});---- | A reference to the object whose facet will be removed.-brffoObjectReference :: Lens' BatchRemoveFacetFromObject ObjectReference-brffoObjectReference = lens _brffoObjectReference (\ s a -> s{_brffoObjectReference = a});--instance Hashable BatchRemoveFacetFromObject where--instance NFData BatchRemoveFacetFromObject where--instance ToJSON BatchRemoveFacetFromObject where-        toJSON BatchRemoveFacetFromObject'{..}-          = object-              (catMaybes-                 [Just ("SchemaFacet" .= _brffoSchemaFacet),-                  Just ("ObjectReference" .= _brffoObjectReference)])---- | An empty result that represents success.------------ /See:/ 'batchRemoveFacetFromObjectResponse' smart constructor.-data BatchRemoveFacetFromObjectResponse =-  BatchRemoveFacetFromObjectResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchRemoveFacetFromObjectResponse' with the minimum fields required to make a request.----batchRemoveFacetFromObjectResponse-    :: BatchRemoveFacetFromObjectResponse-batchRemoveFacetFromObjectResponse = BatchRemoveFacetFromObjectResponse'---instance FromJSON BatchRemoveFacetFromObjectResponse-         where-        parseJSON-          = withObject "BatchRemoveFacetFromObjectResponse"-              (\ x -> pure BatchRemoveFacetFromObjectResponse')--instance Hashable BatchRemoveFacetFromObjectResponse-         where--instance NFData BatchRemoveFacetFromObjectResponse-         where---- | Represents the output of a @BatchUpdate@ operation.------------ /See:/ 'batchUpdateObjectAttributes' smart constructor.-data BatchUpdateObjectAttributes = BatchUpdateObjectAttributes'-  { _buoaObjectReference  :: !ObjectReference-  , _buoaAttributeUpdates :: ![ObjectAttributeUpdate]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchUpdateObjectAttributes' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'buoaObjectReference' - Reference that identifies the object.------ * 'buoaAttributeUpdates' - Attributes update structure.-batchUpdateObjectAttributes-    :: ObjectReference -- ^ 'buoaObjectReference'-    -> BatchUpdateObjectAttributes-batchUpdateObjectAttributes pObjectReference_ =-  BatchUpdateObjectAttributes'-  {_buoaObjectReference = pObjectReference_, _buoaAttributeUpdates = mempty}----- | Reference that identifies the object.-buoaObjectReference :: Lens' BatchUpdateObjectAttributes ObjectReference-buoaObjectReference = lens _buoaObjectReference (\ s a -> s{_buoaObjectReference = a});---- | Attributes update structure.-buoaAttributeUpdates :: Lens' BatchUpdateObjectAttributes [ObjectAttributeUpdate]-buoaAttributeUpdates = lens _buoaAttributeUpdates (\ s a -> s{_buoaAttributeUpdates = a}) . _Coerce;--instance Hashable BatchUpdateObjectAttributes where--instance NFData BatchUpdateObjectAttributes where--instance ToJSON BatchUpdateObjectAttributes where-        toJSON BatchUpdateObjectAttributes'{..}-          = object-              (catMaybes-                 [Just ("ObjectReference" .= _buoaObjectReference),-                  Just ("AttributeUpdates" .= _buoaAttributeUpdates)])---- | Represents the output of a @BatchUpdate@ response operation.------------ /See:/ 'batchUpdateObjectAttributesResponse' smart constructor.-newtype BatchUpdateObjectAttributesResponse = BatchUpdateObjectAttributesResponse'-  { _buoaObjectIdentifier :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchUpdateObjectAttributesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'buoaObjectIdentifier' - ID that is associated with the object.-batchUpdateObjectAttributesResponse-    :: BatchUpdateObjectAttributesResponse-batchUpdateObjectAttributesResponse =-  BatchUpdateObjectAttributesResponse' {_buoaObjectIdentifier = Nothing}----- | ID that is associated with the object.-buoaObjectIdentifier :: Lens' BatchUpdateObjectAttributesResponse (Maybe Text)-buoaObjectIdentifier = lens _buoaObjectIdentifier (\ s a -> s{_buoaObjectIdentifier = a});--instance FromJSON BatchUpdateObjectAttributesResponse-         where-        parseJSON-          = withObject "BatchUpdateObjectAttributesResponse"-              (\ x ->-                 BatchUpdateObjectAttributesResponse' <$>-                   (x .:? "ObjectIdentifier"))--instance Hashable BatchUpdateObjectAttributesResponse-         where--instance NFData BatchUpdateObjectAttributesResponse-         where---- | Represents the output of a @BatchWrite@ operation.------------ /See:/ 'batchWriteOperation' smart constructor.-data BatchWriteOperation = BatchWriteOperation'-  { _bDeleteObject           :: !(Maybe BatchDeleteObject)-  , _bDetachFromIndex        :: !(Maybe BatchDetachFromIndex)-  , _bRemoveFacetFromObject  :: !(Maybe BatchRemoveFacetFromObject)-  , _bAttachObject           :: !(Maybe BatchAttachObject)-  , _bCreateObject           :: !(Maybe BatchCreateObject)-  , _bAttachTypedLink        :: !(Maybe BatchAttachTypedLink)-  , _bDetachPolicy           :: !(Maybe BatchDetachPolicy)-  , _bCreateIndex            :: !(Maybe BatchCreateIndex)-  , _bDetachObject           :: !(Maybe BatchDetachObject)-  , _bAddFacetToObject       :: !(Maybe BatchAddFacetToObject)-  , _bDetachTypedLink        :: !(Maybe BatchDetachTypedLink)-  , _bUpdateObjectAttributes :: !(Maybe BatchUpdateObjectAttributes)-  , _bAttachPolicy           :: !(Maybe BatchAttachPolicy)-  , _bAttachToIndex          :: !(Maybe BatchAttachToIndex)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchWriteOperation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bDeleteObject' - Deletes an object in a 'Directory' .------ * 'bDetachFromIndex' - Detaches the specified object from the specified index.------ * 'bRemoveFacetFromObject' - A batch operation that removes a facet from an object.------ * 'bAttachObject' - Attaches an object to a 'Directory' .------ * 'bCreateObject' - Creates an object.------ * 'bAttachTypedLink' - Attaches a typed link to a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .------ * 'bDetachPolicy' - Detaches a policy from a 'Directory' .------ * 'bCreateIndex' - Creates an index object. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html Indexing> for more information.------ * 'bDetachObject' - Detaches an object from a 'Directory' .------ * 'bAddFacetToObject' - A batch operation that adds a facet to an object.------ * 'bDetachTypedLink' - Detaches a typed link from a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .------ * 'bUpdateObjectAttributes' - Updates a given object's attributes.------ * 'bAttachPolicy' - Attaches a policy object to a regular object. An object can have a limited number of attached policies.------ * 'bAttachToIndex' - Attaches the specified object to the specified index.-batchWriteOperation-    :: BatchWriteOperation-batchWriteOperation =-  BatchWriteOperation'-  { _bDeleteObject = Nothing-  , _bDetachFromIndex = Nothing-  , _bRemoveFacetFromObject = Nothing-  , _bAttachObject = Nothing-  , _bCreateObject = Nothing-  , _bAttachTypedLink = Nothing-  , _bDetachPolicy = Nothing-  , _bCreateIndex = Nothing-  , _bDetachObject = Nothing-  , _bAddFacetToObject = Nothing-  , _bDetachTypedLink = Nothing-  , _bUpdateObjectAttributes = Nothing-  , _bAttachPolicy = Nothing-  , _bAttachToIndex = Nothing-  }----- | Deletes an object in a 'Directory' .-bDeleteObject :: Lens' BatchWriteOperation (Maybe BatchDeleteObject)-bDeleteObject = lens _bDeleteObject (\ s a -> s{_bDeleteObject = a});---- | Detaches the specified object from the specified index.-bDetachFromIndex :: Lens' BatchWriteOperation (Maybe BatchDetachFromIndex)-bDetachFromIndex = lens _bDetachFromIndex (\ s a -> s{_bDetachFromIndex = a});---- | A batch operation that removes a facet from an object.-bRemoveFacetFromObject :: Lens' BatchWriteOperation (Maybe BatchRemoveFacetFromObject)-bRemoveFacetFromObject = lens _bRemoveFacetFromObject (\ s a -> s{_bRemoveFacetFromObject = a});---- | Attaches an object to a 'Directory' .-bAttachObject :: Lens' BatchWriteOperation (Maybe BatchAttachObject)-bAttachObject = lens _bAttachObject (\ s a -> s{_bAttachObject = a});---- | Creates an object.-bCreateObject :: Lens' BatchWriteOperation (Maybe BatchCreateObject)-bCreateObject = lens _bCreateObject (\ s a -> s{_bCreateObject = a});---- | Attaches a typed link to a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .-bAttachTypedLink :: Lens' BatchWriteOperation (Maybe BatchAttachTypedLink)-bAttachTypedLink = lens _bAttachTypedLink (\ s a -> s{_bAttachTypedLink = a});---- | Detaches a policy from a 'Directory' .-bDetachPolicy :: Lens' BatchWriteOperation (Maybe BatchDetachPolicy)-bDetachPolicy = lens _bDetachPolicy (\ s a -> s{_bDetachPolicy = a});---- | Creates an index object. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html Indexing> for more information.-bCreateIndex :: Lens' BatchWriteOperation (Maybe BatchCreateIndex)-bCreateIndex = lens _bCreateIndex (\ s a -> s{_bCreateIndex = a});---- | Detaches an object from a 'Directory' .-bDetachObject :: Lens' BatchWriteOperation (Maybe BatchDetachObject)-bDetachObject = lens _bDetachObject (\ s a -> s{_bDetachObject = a});---- | A batch operation that adds a facet to an object.-bAddFacetToObject :: Lens' BatchWriteOperation (Maybe BatchAddFacetToObject)-bAddFacetToObject = lens _bAddFacetToObject (\ s a -> s{_bAddFacetToObject = a});---- | Detaches a typed link from a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .-bDetachTypedLink :: Lens' BatchWriteOperation (Maybe BatchDetachTypedLink)-bDetachTypedLink = lens _bDetachTypedLink (\ s a -> s{_bDetachTypedLink = a});---- | Updates a given object's attributes.-bUpdateObjectAttributes :: Lens' BatchWriteOperation (Maybe BatchUpdateObjectAttributes)-bUpdateObjectAttributes = lens _bUpdateObjectAttributes (\ s a -> s{_bUpdateObjectAttributes = a});---- | Attaches a policy object to a regular object. An object can have a limited number of attached policies.-bAttachPolicy :: Lens' BatchWriteOperation (Maybe BatchAttachPolicy)-bAttachPolicy = lens _bAttachPolicy (\ s a -> s{_bAttachPolicy = a});---- | Attaches the specified object to the specified index.-bAttachToIndex :: Lens' BatchWriteOperation (Maybe BatchAttachToIndex)-bAttachToIndex = lens _bAttachToIndex (\ s a -> s{_bAttachToIndex = a});--instance Hashable BatchWriteOperation where--instance NFData BatchWriteOperation where--instance ToJSON BatchWriteOperation where-        toJSON BatchWriteOperation'{..}-          = object-              (catMaybes-                 [("DeleteObject" .=) <$> _bDeleteObject,-                  ("DetachFromIndex" .=) <$> _bDetachFromIndex,-                  ("RemoveFacetFromObject" .=) <$>-                    _bRemoveFacetFromObject,-                  ("AttachObject" .=) <$> _bAttachObject,-                  ("CreateObject" .=) <$> _bCreateObject,-                  ("AttachTypedLink" .=) <$> _bAttachTypedLink,-                  ("DetachPolicy" .=) <$> _bDetachPolicy,-                  ("CreateIndex" .=) <$> _bCreateIndex,-                  ("DetachObject" .=) <$> _bDetachObject,-                  ("AddFacetToObject" .=) <$> _bAddFacetToObject,-                  ("DetachTypedLink" .=) <$> _bDetachTypedLink,-                  ("UpdateObjectAttributes" .=) <$>-                    _bUpdateObjectAttributes,-                  ("AttachPolicy" .=) <$> _bAttachPolicy,-                  ("AttachToIndex" .=) <$> _bAttachToIndex])---- | Represents the output of a @BatchWrite@ response operation.------------ /See:/ 'batchWriteOperationResponse' smart constructor.-data BatchWriteOperationResponse = BatchWriteOperationResponse'-  { _bwoDeleteObject           :: !(Maybe BatchDeleteObjectResponse)-  , _bwoDetachFromIndex        :: !(Maybe BatchDetachFromIndexResponse)-  , _bwoRemoveFacetFromObject  :: !(Maybe BatchRemoveFacetFromObjectResponse)-  , _bwoAttachObject           :: !(Maybe BatchAttachObjectResponse)-  , _bwoCreateObject           :: !(Maybe BatchCreateObjectResponse)-  , _bwoAttachTypedLink        :: !(Maybe BatchAttachTypedLinkResponse)-  , _bwoDetachPolicy           :: !(Maybe BatchDetachPolicyResponse)-  , _bwoCreateIndex            :: !(Maybe BatchCreateIndexResponse)-  , _bwoDetachObject           :: !(Maybe BatchDetachObjectResponse)-  , _bwoAddFacetToObject       :: !(Maybe BatchAddFacetToObjectResponse)-  , _bwoDetachTypedLink        :: !(Maybe BatchDetachTypedLinkResponse)-  , _bwoUpdateObjectAttributes :: !(Maybe BatchUpdateObjectAttributesResponse)-  , _bwoAttachPolicy           :: !(Maybe BatchAttachPolicyResponse)-  , _bwoAttachToIndex          :: !(Maybe BatchAttachToIndexResponse)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchWriteOperationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bwoDeleteObject' - Deletes an object in a 'Directory' .------ * 'bwoDetachFromIndex' - Detaches the specified object from the specified index.------ * 'bwoRemoveFacetFromObject' - The result of a batch remove facet from object operation.------ * 'bwoAttachObject' - Attaches an object to a 'Directory' .------ * 'bwoCreateObject' - Creates an object in a 'Directory' .------ * 'bwoAttachTypedLink' - Attaches a typed link to a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .------ * 'bwoDetachPolicy' - Detaches a policy from a 'Directory' .------ * 'bwoCreateIndex' - Creates an index object. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html Indexing> for more information.------ * 'bwoDetachObject' - Detaches an object from a 'Directory' .------ * 'bwoAddFacetToObject' - The result of an add facet to object batch operation.------ * 'bwoDetachTypedLink' - Detaches a typed link from a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .------ * 'bwoUpdateObjectAttributes' - Updates a given object’s attributes.------ * 'bwoAttachPolicy' - Attaches a policy object to a regular object. An object can have a limited number of attached policies.------ * 'bwoAttachToIndex' - Attaches the specified object to the specified index.-batchWriteOperationResponse-    :: BatchWriteOperationResponse-batchWriteOperationResponse =-  BatchWriteOperationResponse'-  { _bwoDeleteObject = Nothing-  , _bwoDetachFromIndex = Nothing-  , _bwoRemoveFacetFromObject = Nothing-  , _bwoAttachObject = Nothing-  , _bwoCreateObject = Nothing-  , _bwoAttachTypedLink = Nothing-  , _bwoDetachPolicy = Nothing-  , _bwoCreateIndex = Nothing-  , _bwoDetachObject = Nothing-  , _bwoAddFacetToObject = Nothing-  , _bwoDetachTypedLink = Nothing-  , _bwoUpdateObjectAttributes = Nothing-  , _bwoAttachPolicy = Nothing-  , _bwoAttachToIndex = Nothing-  }----- | Deletes an object in a 'Directory' .-bwoDeleteObject :: Lens' BatchWriteOperationResponse (Maybe BatchDeleteObjectResponse)-bwoDeleteObject = lens _bwoDeleteObject (\ s a -> s{_bwoDeleteObject = a});---- | Detaches the specified object from the specified index.-bwoDetachFromIndex :: Lens' BatchWriteOperationResponse (Maybe BatchDetachFromIndexResponse)-bwoDetachFromIndex = lens _bwoDetachFromIndex (\ s a -> s{_bwoDetachFromIndex = a});---- | The result of a batch remove facet from object operation.-bwoRemoveFacetFromObject :: Lens' BatchWriteOperationResponse (Maybe BatchRemoveFacetFromObjectResponse)-bwoRemoveFacetFromObject = lens _bwoRemoveFacetFromObject (\ s a -> s{_bwoRemoveFacetFromObject = a});---- | Attaches an object to a 'Directory' .-bwoAttachObject :: Lens' BatchWriteOperationResponse (Maybe BatchAttachObjectResponse)-bwoAttachObject = lens _bwoAttachObject (\ s a -> s{_bwoAttachObject = a});---- | Creates an object in a 'Directory' .-bwoCreateObject :: Lens' BatchWriteOperationResponse (Maybe BatchCreateObjectResponse)-bwoCreateObject = lens _bwoCreateObject (\ s a -> s{_bwoCreateObject = a});---- | Attaches a typed link to a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .-bwoAttachTypedLink :: Lens' BatchWriteOperationResponse (Maybe BatchAttachTypedLinkResponse)-bwoAttachTypedLink = lens _bwoAttachTypedLink (\ s a -> s{_bwoAttachTypedLink = a});---- | Detaches a policy from a 'Directory' .-bwoDetachPolicy :: Lens' BatchWriteOperationResponse (Maybe BatchDetachPolicyResponse)-bwoDetachPolicy = lens _bwoDetachPolicy (\ s a -> s{_bwoDetachPolicy = a});---- | Creates an index object. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html Indexing> for more information.-bwoCreateIndex :: Lens' BatchWriteOperationResponse (Maybe BatchCreateIndexResponse)-bwoCreateIndex = lens _bwoCreateIndex (\ s a -> s{_bwoCreateIndex = a});---- | Detaches an object from a 'Directory' .-bwoDetachObject :: Lens' BatchWriteOperationResponse (Maybe BatchDetachObjectResponse)-bwoDetachObject = lens _bwoDetachObject (\ s a -> s{_bwoDetachObject = a});---- | The result of an add facet to object batch operation.-bwoAddFacetToObject :: Lens' BatchWriteOperationResponse (Maybe BatchAddFacetToObjectResponse)-bwoAddFacetToObject = lens _bwoAddFacetToObject (\ s a -> s{_bwoAddFacetToObject = a});---- | Detaches a typed link from a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .-bwoDetachTypedLink :: Lens' BatchWriteOperationResponse (Maybe BatchDetachTypedLinkResponse)-bwoDetachTypedLink = lens _bwoDetachTypedLink (\ s a -> s{_bwoDetachTypedLink = a});---- | Updates a given object’s attributes.-bwoUpdateObjectAttributes :: Lens' BatchWriteOperationResponse (Maybe BatchUpdateObjectAttributesResponse)-bwoUpdateObjectAttributes = lens _bwoUpdateObjectAttributes (\ s a -> s{_bwoUpdateObjectAttributes = a});---- | Attaches a policy object to a regular object. An object can have a limited number of attached policies.-bwoAttachPolicy :: Lens' BatchWriteOperationResponse (Maybe BatchAttachPolicyResponse)-bwoAttachPolicy = lens _bwoAttachPolicy (\ s a -> s{_bwoAttachPolicy = a});---- | Attaches the specified object to the specified index.-bwoAttachToIndex :: Lens' BatchWriteOperationResponse (Maybe BatchAttachToIndexResponse)-bwoAttachToIndex = lens _bwoAttachToIndex (\ s a -> s{_bwoAttachToIndex = a});--instance FromJSON BatchWriteOperationResponse where-        parseJSON-          = withObject "BatchWriteOperationResponse"-              (\ x ->-                 BatchWriteOperationResponse' <$>-                   (x .:? "DeleteObject") <*> (x .:? "DetachFromIndex")-                     <*> (x .:? "RemoveFacetFromObject")-                     <*> (x .:? "AttachObject")-                     <*> (x .:? "CreateObject")-                     <*> (x .:? "AttachTypedLink")-                     <*> (x .:? "DetachPolicy")-                     <*> (x .:? "CreateIndex")-                     <*> (x .:? "DetachObject")-                     <*> (x .:? "AddFacetToObject")-                     <*> (x .:? "DetachTypedLink")-                     <*> (x .:? "UpdateObjectAttributes")-                     <*> (x .:? "AttachPolicy")-                     <*> (x .:? "AttachToIndex"))--instance Hashable BatchWriteOperationResponse where--instance NFData BatchWriteOperationResponse where---- | Directory structure that includes the directory name and directory ARN.------------ /See:/ 'directory' smart constructor.-data Directory = Directory'-  { _dDirectoryARN     :: !(Maybe Text)-  , _dState            :: !(Maybe DirectoryState)-  , _dName             :: !(Maybe Text)-  , _dCreationDateTime :: !(Maybe POSIX)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Directory' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dDirectoryARN' - The Amazon Resource Name (ARN) that is associated with the directory. For more information, see 'arns' .------ * 'dState' - The state of the directory. Can be either @Enabled@ , @Disabled@ , or @Deleted@ .------ * 'dName' - The name of the directory.------ * 'dCreationDateTime' - The date and time when the directory was created.-directory-    :: Directory-directory =-  Directory'-  { _dDirectoryARN = Nothing-  , _dState = Nothing-  , _dName = Nothing-  , _dCreationDateTime = Nothing-  }----- | The Amazon Resource Name (ARN) that is associated with the directory. For more information, see 'arns' .-dDirectoryARN :: Lens' Directory (Maybe Text)-dDirectoryARN = lens _dDirectoryARN (\ s a -> s{_dDirectoryARN = a});---- | The state of the directory. Can be either @Enabled@ , @Disabled@ , or @Deleted@ .-dState :: Lens' Directory (Maybe DirectoryState)-dState = lens _dState (\ s a -> s{_dState = a});---- | The name of the directory.-dName :: Lens' Directory (Maybe Text)-dName = lens _dName (\ s a -> s{_dName = a});---- | The date and time when the directory was created.-dCreationDateTime :: Lens' Directory (Maybe UTCTime)-dCreationDateTime = lens _dCreationDateTime (\ s a -> s{_dCreationDateTime = a}) . mapping _Time;--instance FromJSON Directory where-        parseJSON-          = withObject "Directory"-              (\ x ->-                 Directory' <$>-                   (x .:? "DirectoryArn") <*> (x .:? "State") <*>-                     (x .:? "Name")-                     <*> (x .:? "CreationDateTime"))--instance Hashable Directory where--instance NFData Directory where---- | A structure that contains @Name@ , @ARN@ , @Attributes@ , 'Rule' s, and @ObjectTypes@ .------------ /See:/ 'facet' smart constructor.-data Facet = Facet'-  { _fObjectType :: !(Maybe ObjectType)-  , _fName       :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Facet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fObjectType' - The object type that is associated with the facet. See 'CreateFacetRequest$ObjectType' for more details.------ * 'fName' - The name of the 'Facet' .-facet-    :: Facet-facet = Facet' {_fObjectType = Nothing, _fName = Nothing}----- | The object type that is associated with the facet. See 'CreateFacetRequest$ObjectType' for more details.-fObjectType :: Lens' Facet (Maybe ObjectType)-fObjectType = lens _fObjectType (\ s a -> s{_fObjectType = a});---- | The name of the 'Facet' .-fName :: Lens' Facet (Maybe Text)-fName = lens _fName (\ s a -> s{_fName = a});--instance FromJSON Facet where-        parseJSON-          = withObject "Facet"-              (\ x ->-                 Facet' <$> (x .:? "ObjectType") <*> (x .:? "Name"))--instance Hashable Facet where--instance NFData Facet where---- | An attribute that is associated with the 'Facet' .------------ /See:/ 'facetAttribute' smart constructor.-data FacetAttribute = FacetAttribute'-  { _faAttributeReference  :: !(Maybe FacetAttributeReference)-  , _faAttributeDefinition :: !(Maybe FacetAttributeDefinition)-  , _faRequiredBehavior    :: !(Maybe RequiredAttributeBehavior)-  , _faName                :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'FacetAttribute' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'faAttributeReference' - An attribute reference that is associated with the attribute. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.------ * 'faAttributeDefinition' - A facet attribute consists of either a definition or a reference. This structure contains the attribute definition. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.------ * 'faRequiredBehavior' - The required behavior of the @FacetAttribute@ .------ * 'faName' - The name of the facet attribute.-facetAttribute-    :: Text -- ^ 'faName'-    -> FacetAttribute-facetAttribute pName_ =-  FacetAttribute'-  { _faAttributeReference = Nothing-  , _faAttributeDefinition = Nothing-  , _faRequiredBehavior = Nothing-  , _faName = pName_-  }----- | An attribute reference that is associated with the attribute. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.-faAttributeReference :: Lens' FacetAttribute (Maybe FacetAttributeReference)-faAttributeReference = lens _faAttributeReference (\ s a -> s{_faAttributeReference = a});---- | A facet attribute consists of either a definition or a reference. This structure contains the attribute definition. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.-faAttributeDefinition :: Lens' FacetAttribute (Maybe FacetAttributeDefinition)-faAttributeDefinition = lens _faAttributeDefinition (\ s a -> s{_faAttributeDefinition = a});---- | The required behavior of the @FacetAttribute@ .-faRequiredBehavior :: Lens' FacetAttribute (Maybe RequiredAttributeBehavior)-faRequiredBehavior = lens _faRequiredBehavior (\ s a -> s{_faRequiredBehavior = a});---- | The name of the facet attribute.-faName :: Lens' FacetAttribute Text-faName = lens _faName (\ s a -> s{_faName = a});--instance FromJSON FacetAttribute where-        parseJSON-          = withObject "FacetAttribute"-              (\ x ->-                 FacetAttribute' <$>-                   (x .:? "AttributeReference") <*>-                     (x .:? "AttributeDefinition")-                     <*> (x .:? "RequiredBehavior")-                     <*> (x .: "Name"))--instance Hashable FacetAttribute where--instance NFData FacetAttribute where--instance ToJSON FacetAttribute where-        toJSON FacetAttribute'{..}-          = object-              (catMaybes-                 [("AttributeReference" .=) <$> _faAttributeReference,-                  ("AttributeDefinition" .=) <$>-                    _faAttributeDefinition,-                  ("RequiredBehavior" .=) <$> _faRequiredBehavior,-                  Just ("Name" .= _faName)])---- | A facet attribute definition. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.------------ /See:/ 'facetAttributeDefinition' smart constructor.-data FacetAttributeDefinition = FacetAttributeDefinition'-  { _fadRules        :: !(Maybe (Map Text Rule))-  , _fadDefaultValue :: !(Maybe TypedAttributeValue)-  , _fadIsImmutable  :: !(Maybe Bool)-  , _fadType         :: !FacetAttributeType-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'FacetAttributeDefinition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fadRules' - Validation rules attached to the attribute definition.------ * 'fadDefaultValue' - The default value of the attribute (if configured).------ * 'fadIsImmutable' - Whether the attribute is mutable or not.------ * 'fadType' - The type of the attribute.-facetAttributeDefinition-    :: FacetAttributeType -- ^ 'fadType'-    -> FacetAttributeDefinition-facetAttributeDefinition pType_ =-  FacetAttributeDefinition'-  { _fadRules = Nothing-  , _fadDefaultValue = Nothing-  , _fadIsImmutable = Nothing-  , _fadType = pType_-  }----- | Validation rules attached to the attribute definition.-fadRules :: Lens' FacetAttributeDefinition (HashMap Text Rule)-fadRules = lens _fadRules (\ s a -> s{_fadRules = a}) . _Default . _Map;---- | The default value of the attribute (if configured).-fadDefaultValue :: Lens' FacetAttributeDefinition (Maybe TypedAttributeValue)-fadDefaultValue = lens _fadDefaultValue (\ s a -> s{_fadDefaultValue = a});---- | Whether the attribute is mutable or not.-fadIsImmutable :: Lens' FacetAttributeDefinition (Maybe Bool)-fadIsImmutable = lens _fadIsImmutable (\ s a -> s{_fadIsImmutable = a});---- | The type of the attribute.-fadType :: Lens' FacetAttributeDefinition FacetAttributeType-fadType = lens _fadType (\ s a -> s{_fadType = a});--instance FromJSON FacetAttributeDefinition where-        parseJSON-          = withObject "FacetAttributeDefinition"-              (\ x ->-                 FacetAttributeDefinition' <$>-                   (x .:? "Rules" .!= mempty) <*> (x .:? "DefaultValue")-                     <*> (x .:? "IsImmutable")-                     <*> (x .: "Type"))--instance Hashable FacetAttributeDefinition where--instance NFData FacetAttributeDefinition where--instance ToJSON FacetAttributeDefinition where-        toJSON FacetAttributeDefinition'{..}-          = object-              (catMaybes-                 [("Rules" .=) <$> _fadRules,-                  ("DefaultValue" .=) <$> _fadDefaultValue,-                  ("IsImmutable" .=) <$> _fadIsImmutable,-                  Just ("Type" .= _fadType)])---- | The facet attribute reference that specifies the attribute definition that contains the attribute facet name and attribute name.------------ /See:/ 'facetAttributeReference' smart constructor.-data FacetAttributeReference = FacetAttributeReference'-  { _farTargetFacetName     :: !Text-  , _farTargetAttributeName :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'FacetAttributeReference' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'farTargetFacetName' - The target facet name that is associated with the facet reference. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.------ * 'farTargetAttributeName' - The target attribute name that is associated with the facet reference. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.-facetAttributeReference-    :: Text -- ^ 'farTargetFacetName'-    -> Text -- ^ 'farTargetAttributeName'-    -> FacetAttributeReference-facetAttributeReference pTargetFacetName_ pTargetAttributeName_ =-  FacetAttributeReference'-  { _farTargetFacetName = pTargetFacetName_-  , _farTargetAttributeName = pTargetAttributeName_-  }----- | The target facet name that is associated with the facet reference. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.-farTargetFacetName :: Lens' FacetAttributeReference Text-farTargetFacetName = lens _farTargetFacetName (\ s a -> s{_farTargetFacetName = a});---- | The target attribute name that is associated with the facet reference. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.-farTargetAttributeName :: Lens' FacetAttributeReference Text-farTargetAttributeName = lens _farTargetAttributeName (\ s a -> s{_farTargetAttributeName = a});--instance FromJSON FacetAttributeReference where-        parseJSON-          = withObject "FacetAttributeReference"-              (\ x ->-                 FacetAttributeReference' <$>-                   (x .: "TargetFacetName") <*>-                     (x .: "TargetAttributeName"))--instance Hashable FacetAttributeReference where--instance NFData FacetAttributeReference where--instance ToJSON FacetAttributeReference where-        toJSON FacetAttributeReference'{..}-          = object-              (catMaybes-                 [Just ("TargetFacetName" .= _farTargetFacetName),-                  Just-                    ("TargetAttributeName" .= _farTargetAttributeName)])---- | A structure that contains information used to update an attribute.------------ /See:/ 'facetAttributeUpdate' smart constructor.-data FacetAttributeUpdate = FacetAttributeUpdate'-  { _fauAttribute :: !(Maybe FacetAttribute)-  , _fauAction    :: !(Maybe UpdateActionType)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'FacetAttributeUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fauAttribute' - The attribute to update.------ * 'fauAction' - The action to perform when updating the attribute.-facetAttributeUpdate-    :: FacetAttributeUpdate-facetAttributeUpdate =-  FacetAttributeUpdate' {_fauAttribute = Nothing, _fauAction = Nothing}----- | The attribute to update.-fauAttribute :: Lens' FacetAttributeUpdate (Maybe FacetAttribute)-fauAttribute = lens _fauAttribute (\ s a -> s{_fauAttribute = a});---- | The action to perform when updating the attribute.-fauAction :: Lens' FacetAttributeUpdate (Maybe UpdateActionType)-fauAction = lens _fauAction (\ s a -> s{_fauAction = a});--instance Hashable FacetAttributeUpdate where--instance NFData FacetAttributeUpdate where--instance ToJSON FacetAttributeUpdate where-        toJSON FacetAttributeUpdate'{..}-          = object-              (catMaybes-                 [("Attribute" .=) <$> _fauAttribute,-                  ("Action" .=) <$> _fauAction])---- | Represents an index and an attached object.------------ /See:/ 'indexAttachment' smart constructor.-data IndexAttachment = IndexAttachment'-  { _iaIndexedAttributes :: !(Maybe [AttributeKeyAndValue])-  , _iaObjectIdentifier  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'IndexAttachment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iaIndexedAttributes' - The indexed attribute values.------ * 'iaObjectIdentifier' - The @ObjectIdentifier@ of the object attached to the index.-indexAttachment-    :: IndexAttachment-indexAttachment =-  IndexAttachment'-  {_iaIndexedAttributes = Nothing, _iaObjectIdentifier = Nothing}----- | The indexed attribute values.-iaIndexedAttributes :: Lens' IndexAttachment [AttributeKeyAndValue]-iaIndexedAttributes = lens _iaIndexedAttributes (\ s a -> s{_iaIndexedAttributes = a}) . _Default . _Coerce;---- | The @ObjectIdentifier@ of the object attached to the index.-iaObjectIdentifier :: Lens' IndexAttachment (Maybe Text)-iaObjectIdentifier = lens _iaObjectIdentifier (\ s a -> s{_iaObjectIdentifier = a});--instance FromJSON IndexAttachment where-        parseJSON-          = withObject "IndexAttachment"-              (\ x ->-                 IndexAttachment' <$>-                   (x .:? "IndexedAttributes" .!= mempty) <*>-                     (x .:? "ObjectIdentifier"))--instance Hashable IndexAttachment where--instance NFData IndexAttachment where---- | The action to take on the object attribute.------------ /See:/ 'objectAttributeAction' smart constructor.-data ObjectAttributeAction = ObjectAttributeAction'-  { _oaaObjectAttributeActionType  :: !(Maybe UpdateActionType)-  , _oaaObjectAttributeUpdateValue :: !(Maybe TypedAttributeValue)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ObjectAttributeAction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oaaObjectAttributeActionType' - A type that can be either @Update@ or @Delete@ .------ * 'oaaObjectAttributeUpdateValue' - The value that you want to update to.-objectAttributeAction-    :: ObjectAttributeAction-objectAttributeAction =-  ObjectAttributeAction'-  { _oaaObjectAttributeActionType = Nothing-  , _oaaObjectAttributeUpdateValue = Nothing-  }----- | A type that can be either @Update@ or @Delete@ .-oaaObjectAttributeActionType :: Lens' ObjectAttributeAction (Maybe UpdateActionType)-oaaObjectAttributeActionType = lens _oaaObjectAttributeActionType (\ s a -> s{_oaaObjectAttributeActionType = a});---- | The value that you want to update to.-oaaObjectAttributeUpdateValue :: Lens' ObjectAttributeAction (Maybe TypedAttributeValue)-oaaObjectAttributeUpdateValue = lens _oaaObjectAttributeUpdateValue (\ s a -> s{_oaaObjectAttributeUpdateValue = a});--instance Hashable ObjectAttributeAction where--instance NFData ObjectAttributeAction where--instance ToJSON ObjectAttributeAction where-        toJSON ObjectAttributeAction'{..}-          = object-              (catMaybes-                 [("ObjectAttributeActionType" .=) <$>-                    _oaaObjectAttributeActionType,-                  ("ObjectAttributeUpdateValue" .=) <$>-                    _oaaObjectAttributeUpdateValue])---- | A range of attributes.------------ /See:/ 'objectAttributeRange' smart constructor.-data ObjectAttributeRange = ObjectAttributeRange'-  { _oarRange        :: !(Maybe TypedAttributeValueRange)-  , _oarAttributeKey :: !(Maybe AttributeKey)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ObjectAttributeRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oarRange' - The range of attribute values being selected.------ * 'oarAttributeKey' - The key of the attribute that the attribute range covers.-objectAttributeRange-    :: ObjectAttributeRange-objectAttributeRange =-  ObjectAttributeRange' {_oarRange = Nothing, _oarAttributeKey = Nothing}----- | The range of attribute values being selected.-oarRange :: Lens' ObjectAttributeRange (Maybe TypedAttributeValueRange)-oarRange = lens _oarRange (\ s a -> s{_oarRange = a});---- | The key of the attribute that the attribute range covers.-oarAttributeKey :: Lens' ObjectAttributeRange (Maybe AttributeKey)-oarAttributeKey = lens _oarAttributeKey (\ s a -> s{_oarAttributeKey = a});--instance Hashable ObjectAttributeRange where--instance NFData ObjectAttributeRange where--instance ToJSON ObjectAttributeRange where-        toJSON ObjectAttributeRange'{..}-          = object-              (catMaybes-                 [("Range" .=) <$> _oarRange,-                  ("AttributeKey" .=) <$> _oarAttributeKey])---- | Structure that contains attribute update information.------------ /See:/ 'objectAttributeUpdate' smart constructor.-data ObjectAttributeUpdate = ObjectAttributeUpdate'-  { _oauObjectAttributeAction :: !(Maybe ObjectAttributeAction)-  , _oauObjectAttributeKey    :: !(Maybe AttributeKey)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ObjectAttributeUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oauObjectAttributeAction' - The action to perform as part of the attribute update.------ * 'oauObjectAttributeKey' - The key of the attribute being updated.-objectAttributeUpdate-    :: ObjectAttributeUpdate-objectAttributeUpdate =-  ObjectAttributeUpdate'-  {_oauObjectAttributeAction = Nothing, _oauObjectAttributeKey = Nothing}----- | The action to perform as part of the attribute update.-oauObjectAttributeAction :: Lens' ObjectAttributeUpdate (Maybe ObjectAttributeAction)-oauObjectAttributeAction = lens _oauObjectAttributeAction (\ s a -> s{_oauObjectAttributeAction = a});---- | The key of the attribute being updated.-oauObjectAttributeKey :: Lens' ObjectAttributeUpdate (Maybe AttributeKey)-oauObjectAttributeKey = lens _oauObjectAttributeKey (\ s a -> s{_oauObjectAttributeKey = a});--instance Hashable ObjectAttributeUpdate where--instance NFData ObjectAttributeUpdate where--instance ToJSON ObjectAttributeUpdate where-        toJSON ObjectAttributeUpdate'{..}-          = object-              (catMaybes-                 [("ObjectAttributeAction" .=) <$>-                    _oauObjectAttributeAction,-                  ("ObjectAttributeKey" .=) <$>-                    _oauObjectAttributeKey])---- | The reference that identifies an object.------------ /See:/ 'objectReference' smart constructor.-newtype ObjectReference = ObjectReference'-  { _orSelector :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ObjectReference' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'orSelector' - A path selector supports easy selection of an object by the parent/child links leading to it from the directory root. Use the link names from each parent/child link to construct the path. Path selectors start with a slash (/) and link names are separated by slashes. For more information about paths, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#accessingobjects Accessing Objects> . You can identify an object in one of the following ways:     * /> ObjectIdentifier/ - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier     * /\/some\/path/ - Identifies the object based on path     * /#SomeBatchReference/ - Identifies the object in a batch call-objectReference-    :: ObjectReference-objectReference = ObjectReference' {_orSelector = Nothing}----- | A path selector supports easy selection of an object by the parent/child links leading to it from the directory root. Use the link names from each parent/child link to construct the path. Path selectors start with a slash (/) and link names are separated by slashes. For more information about paths, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#accessingobjects Accessing Objects> . You can identify an object in one of the following ways:     * /> ObjectIdentifier/ - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier     * /\/some\/path/ - Identifies the object based on path     * /#SomeBatchReference/ - Identifies the object in a batch call-orSelector :: Lens' ObjectReference (Maybe Text)-orSelector = lens _orSelector (\ s a -> s{_orSelector = a});--instance FromJSON ObjectReference where-        parseJSON-          = withObject "ObjectReference"-              (\ x -> ObjectReference' <$> (x .:? "Selector"))--instance Hashable ObjectReference where--instance NFData ObjectReference where--instance ToJSON ObjectReference where-        toJSON ObjectReference'{..}-          = object-              (catMaybes [("Selector" .=) <$> _orSelector])---- | Returns the path to the @ObjectIdentifiers@ that is associated with the directory.------------ /See:/ 'pathToObjectIdentifiers' smart constructor.-data PathToObjectIdentifiers = PathToObjectIdentifiers'-  { _ptoiObjectIdentifiers :: !(Maybe [Text])-  , _ptoiPath              :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PathToObjectIdentifiers' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ptoiObjectIdentifiers' - Lists @ObjectIdentifiers@ starting from directory root to the object in the request.------ * 'ptoiPath' - The path that is used to identify the object starting from directory root.-pathToObjectIdentifiers-    :: PathToObjectIdentifiers-pathToObjectIdentifiers =-  PathToObjectIdentifiers'-  {_ptoiObjectIdentifiers = Nothing, _ptoiPath = Nothing}----- | Lists @ObjectIdentifiers@ starting from directory root to the object in the request.-ptoiObjectIdentifiers :: Lens' PathToObjectIdentifiers [Text]-ptoiObjectIdentifiers = lens _ptoiObjectIdentifiers (\ s a -> s{_ptoiObjectIdentifiers = a}) . _Default . _Coerce;---- | The path that is used to identify the object starting from directory root.-ptoiPath :: Lens' PathToObjectIdentifiers (Maybe Text)-ptoiPath = lens _ptoiPath (\ s a -> s{_ptoiPath = a});--instance FromJSON PathToObjectIdentifiers where-        parseJSON-          = withObject "PathToObjectIdentifiers"-              (\ x ->-                 PathToObjectIdentifiers' <$>-                   (x .:? "ObjectIdentifiers" .!= mempty) <*>-                     (x .:? "Path"))--instance Hashable PathToObjectIdentifiers where--instance NFData PathToObjectIdentifiers where---- | Contains the @PolicyType@ , @PolicyId@ , and the @ObjectIdentifier@ to which it is attached. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .------------ /See:/ 'policyAttachment' smart constructor.-data PolicyAttachment = PolicyAttachment'-  { _paPolicyId         :: !(Maybe Text)-  , _paPolicyType       :: !(Maybe Text)-  , _paObjectIdentifier :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PolicyAttachment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'paPolicyId' - The ID of @PolicyAttachment@ .------ * 'paPolicyType' - The type of policy that can be associated with @PolicyAttachment@ .------ * 'paObjectIdentifier' - The @ObjectIdentifier@ that is associated with @PolicyAttachment@ .-policyAttachment-    :: PolicyAttachment-policyAttachment =-  PolicyAttachment'-  { _paPolicyId = Nothing-  , _paPolicyType = Nothing-  , _paObjectIdentifier = Nothing-  }----- | The ID of @PolicyAttachment@ .-paPolicyId :: Lens' PolicyAttachment (Maybe Text)-paPolicyId = lens _paPolicyId (\ s a -> s{_paPolicyId = a});---- | The type of policy that can be associated with @PolicyAttachment@ .-paPolicyType :: Lens' PolicyAttachment (Maybe Text)-paPolicyType = lens _paPolicyType (\ s a -> s{_paPolicyType = a});---- | The @ObjectIdentifier@ that is associated with @PolicyAttachment@ .-paObjectIdentifier :: Lens' PolicyAttachment (Maybe Text)-paObjectIdentifier = lens _paObjectIdentifier (\ s a -> s{_paObjectIdentifier = a});--instance FromJSON PolicyAttachment where-        parseJSON-          = withObject "PolicyAttachment"-              (\ x ->-                 PolicyAttachment' <$>-                   (x .:? "PolicyId") <*> (x .:? "PolicyType") <*>-                     (x .:? "ObjectIdentifier"))--instance Hashable PolicyAttachment where--instance NFData PolicyAttachment where---- | Used when a regular object exists in a 'Directory' and you want to find all of the policies that are associated with that object and the parent to that object.------------ /See:/ 'policyToPath' smart constructor.-data PolicyToPath = PolicyToPath'-  { _ptpPath     :: !(Maybe Text)-  , _ptpPolicies :: !(Maybe [PolicyAttachment])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PolicyToPath' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ptpPath' - The path that is referenced from the root.------ * 'ptpPolicies' - List of policy objects.-policyToPath-    :: PolicyToPath-policyToPath = PolicyToPath' {_ptpPath = Nothing, _ptpPolicies = Nothing}----- | The path that is referenced from the root.-ptpPath :: Lens' PolicyToPath (Maybe Text)-ptpPath = lens _ptpPath (\ s a -> s{_ptpPath = a});---- | List of policy objects.-ptpPolicies :: Lens' PolicyToPath [PolicyAttachment]-ptpPolicies = lens _ptpPolicies (\ s a -> s{_ptpPolicies = a}) . _Default . _Coerce;--instance FromJSON PolicyToPath where-        parseJSON-          = withObject "PolicyToPath"-              (\ x ->-                 PolicyToPath' <$>-                   (x .:? "Path") <*> (x .:? "Policies" .!= mempty))--instance Hashable PolicyToPath where--instance NFData PolicyToPath where---- | Contains an Amazon Resource Name (ARN) and parameters that are associated with the rule.------------ /See:/ 'rule' smart constructor.-data Rule = Rule'-  { _rParameters :: !(Maybe (Map Text Text))-  , _rType       :: !(Maybe RuleType)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Rule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rParameters' - The minimum and maximum parameters that are associated with the rule.------ * 'rType' - The type of attribute validation rule.-rule-    :: Rule-rule = Rule' {_rParameters = Nothing, _rType = Nothing}----- | The minimum and maximum parameters that are associated with the rule.-rParameters :: Lens' Rule (HashMap Text Text)-rParameters = lens _rParameters (\ s a -> s{_rParameters = a}) . _Default . _Map;---- | The type of attribute validation rule.-rType :: Lens' Rule (Maybe RuleType)-rType = lens _rType (\ s a -> s{_rType = a});--instance FromJSON Rule where-        parseJSON-          = withObject "Rule"-              (\ x ->-                 Rule' <$>-                   (x .:? "Parameters" .!= mempty) <*> (x .:? "Type"))--instance Hashable Rule where--instance NFData Rule where--instance ToJSON Rule where-        toJSON Rule'{..}-          = object-              (catMaybes-                 [("Parameters" .=) <$> _rParameters,-                  ("Type" .=) <$> _rType])---- | A facet.------------ /See:/ 'schemaFacet' smart constructor.-data SchemaFacet = SchemaFacet'-  { _sfFacetName :: !(Maybe Text)-  , _sfSchemaARN :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SchemaFacet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sfFacetName' - The name of the facet.------ * 'sfSchemaARN' - The ARN of the schema that contains the facet.-schemaFacet-    :: SchemaFacet-schemaFacet = SchemaFacet' {_sfFacetName = Nothing, _sfSchemaARN = Nothing}----- | The name of the facet.-sfFacetName :: Lens' SchemaFacet (Maybe Text)-sfFacetName = lens _sfFacetName (\ s a -> s{_sfFacetName = a});---- | The ARN of the schema that contains the facet.-sfSchemaARN :: Lens' SchemaFacet (Maybe Text)-sfSchemaARN = lens _sfSchemaARN (\ s a -> s{_sfSchemaARN = a});--instance FromJSON SchemaFacet where-        parseJSON-          = withObject "SchemaFacet"-              (\ x ->-                 SchemaFacet' <$>-                   (x .:? "FacetName") <*> (x .:? "SchemaArn"))--instance Hashable SchemaFacet where--instance NFData SchemaFacet where--instance ToJSON SchemaFacet where-        toJSON SchemaFacet'{..}-          = object-              (catMaybes-                 [("FacetName" .=) <$> _sfFacetName,-                  ("SchemaArn" .=) <$> _sfSchemaARN])---- | The tag structure that contains a tag key and value.------------ /See:/ 'tag' smart constructor.-data Tag = Tag'-  { _tagValue :: !(Maybe Text)-  , _tagKey   :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Tag' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tagValue' - The value that is associated with the tag.------ * 'tagKey' - The key that is associated with the tag.-tag-    :: Tag-tag = Tag' {_tagValue = Nothing, _tagKey = Nothing}----- | The value that is associated with the tag.-tagValue :: Lens' Tag (Maybe Text)-tagValue = lens _tagValue (\ s a -> s{_tagValue = a});---- | The key that is associated with the tag.-tagKey :: Lens' Tag (Maybe Text)-tagKey = lens _tagKey (\ s a -> s{_tagKey = a});--instance FromJSON Tag where-        parseJSON-          = withObject "Tag"-              (\ x -> Tag' <$> (x .:? "Value") <*> (x .:? "Key"))--instance Hashable Tag where--instance NFData Tag where--instance ToJSON Tag where-        toJSON Tag'{..}-          = object-              (catMaybes-                 [("Value" .=) <$> _tagValue, ("Key" .=) <$> _tagKey])---- | Represents the data for a typed attribute. You can set one, and only one, of the elements. Each attribute in an item is a name-value pair. Attributes have a single value.------------ /See:/ 'typedAttributeValue' smart constructor.-data TypedAttributeValue = TypedAttributeValue'-  { _tavBinaryValue   :: !(Maybe Base64)-  , _tavDatetimeValue :: !(Maybe POSIX)-  , _tavNumberValue   :: !(Maybe Text)-  , _tavStringValue   :: !(Maybe Text)-  , _tavBooleanValue  :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TypedAttributeValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tavBinaryValue' - A binary data value.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.------ * 'tavDatetimeValue' - A date and time value.------ * 'tavNumberValue' - A number data value.------ * 'tavStringValue' - A string data value.------ * 'tavBooleanValue' - A Boolean data value.-typedAttributeValue-    :: TypedAttributeValue-typedAttributeValue =-  TypedAttributeValue'-  { _tavBinaryValue = Nothing-  , _tavDatetimeValue = Nothing-  , _tavNumberValue = Nothing-  , _tavStringValue = Nothing-  , _tavBooleanValue = Nothing-  }----- | A binary data value.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.-tavBinaryValue :: Lens' TypedAttributeValue (Maybe ByteString)-tavBinaryValue = lens _tavBinaryValue (\ s a -> s{_tavBinaryValue = a}) . mapping _Base64;---- | A date and time value.-tavDatetimeValue :: Lens' TypedAttributeValue (Maybe UTCTime)-tavDatetimeValue = lens _tavDatetimeValue (\ s a -> s{_tavDatetimeValue = a}) . mapping _Time;---- | A number data value.-tavNumberValue :: Lens' TypedAttributeValue (Maybe Text)-tavNumberValue = lens _tavNumberValue (\ s a -> s{_tavNumberValue = a});---- | A string data value.-tavStringValue :: Lens' TypedAttributeValue (Maybe Text)-tavStringValue = lens _tavStringValue (\ s a -> s{_tavStringValue = a});---- | A Boolean data value.-tavBooleanValue :: Lens' TypedAttributeValue (Maybe Bool)-tavBooleanValue = lens _tavBooleanValue (\ s a -> s{_tavBooleanValue = a});--instance FromJSON TypedAttributeValue where-        parseJSON-          = withObject "TypedAttributeValue"-              (\ x ->-                 TypedAttributeValue' <$>-                   (x .:? "BinaryValue") <*> (x .:? "DatetimeValue") <*>-                     (x .:? "NumberValue")-                     <*> (x .:? "StringValue")-                     <*> (x .:? "BooleanValue"))--instance Hashable TypedAttributeValue where--instance NFData TypedAttributeValue where--instance ToJSON TypedAttributeValue where-        toJSON TypedAttributeValue'{..}-          = object-              (catMaybes-                 [("BinaryValue" .=) <$> _tavBinaryValue,-                  ("DatetimeValue" .=) <$> _tavDatetimeValue,-                  ("NumberValue" .=) <$> _tavNumberValue,-                  ("StringValue" .=) <$> _tavStringValue,-                  ("BooleanValue" .=) <$> _tavBooleanValue])---- | A range of attribute values.------------ /See:/ 'typedAttributeValueRange' smart constructor.-data TypedAttributeValueRange = TypedAttributeValueRange'-  { _tavrEndValue   :: !(Maybe TypedAttributeValue)-  , _tavrStartValue :: !(Maybe TypedAttributeValue)-  , _tavrStartMode  :: !RangeMode-  , _tavrEndMode    :: !RangeMode-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TypedAttributeValueRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tavrEndValue' - The attribute value to terminate the range at.------ * 'tavrStartValue' - The value to start the range at.------ * 'tavrStartMode' - The inclusive or exclusive range start.------ * 'tavrEndMode' - The inclusive or exclusive range end.-typedAttributeValueRange-    :: RangeMode -- ^ 'tavrStartMode'-    -> RangeMode -- ^ 'tavrEndMode'-    -> TypedAttributeValueRange-typedAttributeValueRange pStartMode_ pEndMode_ =-  TypedAttributeValueRange'-  { _tavrEndValue = Nothing-  , _tavrStartValue = Nothing-  , _tavrStartMode = pStartMode_-  , _tavrEndMode = pEndMode_-  }----- | The attribute value to terminate the range at.-tavrEndValue :: Lens' TypedAttributeValueRange (Maybe TypedAttributeValue)-tavrEndValue = lens _tavrEndValue (\ s a -> s{_tavrEndValue = a});---- | The value to start the range at.-tavrStartValue :: Lens' TypedAttributeValueRange (Maybe TypedAttributeValue)-tavrStartValue = lens _tavrStartValue (\ s a -> s{_tavrStartValue = a});---- | The inclusive or exclusive range start.-tavrStartMode :: Lens' TypedAttributeValueRange RangeMode-tavrStartMode = lens _tavrStartMode (\ s a -> s{_tavrStartMode = a});---- | The inclusive or exclusive range end.-tavrEndMode :: Lens' TypedAttributeValueRange RangeMode-tavrEndMode = lens _tavrEndMode (\ s a -> s{_tavrEndMode = a});--instance Hashable TypedAttributeValueRange where--instance NFData TypedAttributeValueRange where--instance ToJSON TypedAttributeValueRange where-        toJSON TypedAttributeValueRange'{..}-          = object-              (catMaybes-                 [("EndValue" .=) <$> _tavrEndValue,-                  ("StartValue" .=) <$> _tavrStartValue,-                  Just ("StartMode" .= _tavrStartMode),-                  Just ("EndMode" .= _tavrEndMode)])---- | A typed link attribute definition.------------ /See:/ 'typedLinkAttributeDefinition' smart constructor.-data TypedLinkAttributeDefinition = TypedLinkAttributeDefinition'-  { _tladRules            :: !(Maybe (Map Text Rule))-  , _tladDefaultValue     :: !(Maybe TypedAttributeValue)-  , _tladIsImmutable      :: !(Maybe Bool)-  , _tladName             :: !Text-  , _tladType             :: !FacetAttributeType-  , _tladRequiredBehavior :: !RequiredAttributeBehavior-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TypedLinkAttributeDefinition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tladRules' - Validation rules that are attached to the attribute definition.------ * 'tladDefaultValue' - The default value of the attribute (if configured).------ * 'tladIsImmutable' - Whether the attribute is mutable or not.------ * 'tladName' - The unique name of the typed link attribute.------ * 'tladType' - The type of the attribute.------ * 'tladRequiredBehavior' - The required behavior of the @TypedLinkAttributeDefinition@ .-typedLinkAttributeDefinition-    :: Text -- ^ 'tladName'-    -> FacetAttributeType -- ^ 'tladType'-    -> RequiredAttributeBehavior -- ^ 'tladRequiredBehavior'-    -> TypedLinkAttributeDefinition-typedLinkAttributeDefinition pName_ pType_ pRequiredBehavior_ =-  TypedLinkAttributeDefinition'-  { _tladRules = Nothing-  , _tladDefaultValue = Nothing-  , _tladIsImmutable = Nothing-  , _tladName = pName_-  , _tladType = pType_-  , _tladRequiredBehavior = pRequiredBehavior_-  }----- | Validation rules that are attached to the attribute definition.-tladRules :: Lens' TypedLinkAttributeDefinition (HashMap Text Rule)-tladRules = lens _tladRules (\ s a -> s{_tladRules = a}) . _Default . _Map;---- | The default value of the attribute (if configured).-tladDefaultValue :: Lens' TypedLinkAttributeDefinition (Maybe TypedAttributeValue)-tladDefaultValue = lens _tladDefaultValue (\ s a -> s{_tladDefaultValue = a});---- | Whether the attribute is mutable or not.-tladIsImmutable :: Lens' TypedLinkAttributeDefinition (Maybe Bool)-tladIsImmutable = lens _tladIsImmutable (\ s a -> s{_tladIsImmutable = a});---- | The unique name of the typed link attribute.-tladName :: Lens' TypedLinkAttributeDefinition Text-tladName = lens _tladName (\ s a -> s{_tladName = a});---- | The type of the attribute.-tladType :: Lens' TypedLinkAttributeDefinition FacetAttributeType-tladType = lens _tladType (\ s a -> s{_tladType = a});---- | The required behavior of the @TypedLinkAttributeDefinition@ .-tladRequiredBehavior :: Lens' TypedLinkAttributeDefinition RequiredAttributeBehavior-tladRequiredBehavior = lens _tladRequiredBehavior (\ s a -> s{_tladRequiredBehavior = a});--instance FromJSON TypedLinkAttributeDefinition where-        parseJSON-          = withObject "TypedLinkAttributeDefinition"-              (\ x ->-                 TypedLinkAttributeDefinition' <$>-                   (x .:? "Rules" .!= mempty) <*> (x .:? "DefaultValue")-                     <*> (x .:? "IsImmutable")-                     <*> (x .: "Name")-                     <*> (x .: "Type")-                     <*> (x .: "RequiredBehavior"))--instance Hashable TypedLinkAttributeDefinition where--instance NFData TypedLinkAttributeDefinition where--instance ToJSON TypedLinkAttributeDefinition where-        toJSON TypedLinkAttributeDefinition'{..}-          = object-              (catMaybes-                 [("Rules" .=) <$> _tladRules,-                  ("DefaultValue" .=) <$> _tladDefaultValue,-                  ("IsImmutable" .=) <$> _tladIsImmutable,-                  Just ("Name" .= _tladName),-                  Just ("Type" .= _tladType),-                  Just ("RequiredBehavior" .= _tladRequiredBehavior)])---- | Identifies the range of attributes that are used by a specified filter.------------ /See:/ 'typedLinkAttributeRange' smart constructor.-data TypedLinkAttributeRange = TypedLinkAttributeRange'-  { _tlarAttributeName :: !(Maybe Text)-  , _tlarRange         :: !TypedAttributeValueRange-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TypedLinkAttributeRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tlarAttributeName' - The unique name of the typed link attribute.------ * 'tlarRange' - The range of attribute values that are being selected.-typedLinkAttributeRange-    :: TypedAttributeValueRange -- ^ 'tlarRange'-    -> TypedLinkAttributeRange-typedLinkAttributeRange pRange_ =-  TypedLinkAttributeRange' {_tlarAttributeName = Nothing, _tlarRange = pRange_}----- | The unique name of the typed link attribute.-tlarAttributeName :: Lens' TypedLinkAttributeRange (Maybe Text)-tlarAttributeName = lens _tlarAttributeName (\ s a -> s{_tlarAttributeName = a});---- | The range of attribute values that are being selected.-tlarRange :: Lens' TypedLinkAttributeRange TypedAttributeValueRange-tlarRange = lens _tlarRange (\ s a -> s{_tlarRange = a});--instance Hashable TypedLinkAttributeRange where--instance NFData TypedLinkAttributeRange where--instance ToJSON TypedLinkAttributeRange where-        toJSON TypedLinkAttributeRange'{..}-          = object-              (catMaybes-                 [("AttributeName" .=) <$> _tlarAttributeName,-                  Just ("Range" .= _tlarRange)])---- | Defines the typed links structure and its attributes. To create a typed link facet, use the 'CreateTypedLinkFacet' API.------------ /See:/ 'typedLinkFacet' smart constructor.-data TypedLinkFacet = TypedLinkFacet'-  { _tlfName                   :: !Text-  , _tlfAttributes             :: ![TypedLinkAttributeDefinition]-  , _tlfIdentityAttributeOrder :: ![Text]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TypedLinkFacet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tlfName' - The unique name of the typed link facet.------ * 'tlfAttributes' - A set of key-value pairs associated with the typed link. Typed link attributes are used when you have data values that are related to the link itself, and not to one of the two objects being linked. Identity attributes also serve to distinguish the link from others of the same type between the same objects.------ * 'tlfIdentityAttributeOrder' - The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See 'ListOutgoingTypedLinks' and 'ListIncomingTypedLinks' for details.-typedLinkFacet-    :: Text -- ^ 'tlfName'-    -> TypedLinkFacet-typedLinkFacet pName_ =-  TypedLinkFacet'-  { _tlfName = pName_-  , _tlfAttributes = mempty-  , _tlfIdentityAttributeOrder = mempty-  }----- | The unique name of the typed link facet.-tlfName :: Lens' TypedLinkFacet Text-tlfName = lens _tlfName (\ s a -> s{_tlfName = a});---- | A set of key-value pairs associated with the typed link. Typed link attributes are used when you have data values that are related to the link itself, and not to one of the two objects being linked. Identity attributes also serve to distinguish the link from others of the same type between the same objects.-tlfAttributes :: Lens' TypedLinkFacet [TypedLinkAttributeDefinition]-tlfAttributes = lens _tlfAttributes (\ s a -> s{_tlfAttributes = a}) . _Coerce;---- | The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See 'ListOutgoingTypedLinks' and 'ListIncomingTypedLinks' for details.-tlfIdentityAttributeOrder :: Lens' TypedLinkFacet [Text]-tlfIdentityAttributeOrder = lens _tlfIdentityAttributeOrder (\ s a -> s{_tlfIdentityAttributeOrder = a}) . _Coerce;--instance Hashable TypedLinkFacet where--instance NFData TypedLinkFacet where--instance ToJSON TypedLinkFacet where-        toJSON TypedLinkFacet'{..}-          = object-              (catMaybes-                 [Just ("Name" .= _tlfName),-                  Just ("Attributes" .= _tlfAttributes),-                  Just-                    ("IdentityAttributeOrder" .=-                       _tlfIdentityAttributeOrder)])---- | A typed link facet attribute update.------------ /See:/ 'typedLinkFacetAttributeUpdate' smart constructor.-data TypedLinkFacetAttributeUpdate = TypedLinkFacetAttributeUpdate'-  { _tlfauAttribute :: !TypedLinkAttributeDefinition-  , _tlfauAction    :: !UpdateActionType-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TypedLinkFacetAttributeUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tlfauAttribute' - The attribute to update.------ * 'tlfauAction' - The action to perform when updating the attribute.-typedLinkFacetAttributeUpdate-    :: TypedLinkAttributeDefinition -- ^ 'tlfauAttribute'-    -> UpdateActionType -- ^ 'tlfauAction'-    -> TypedLinkFacetAttributeUpdate-typedLinkFacetAttributeUpdate pAttribute_ pAction_ =-  TypedLinkFacetAttributeUpdate'-  {_tlfauAttribute = pAttribute_, _tlfauAction = pAction_}----- | The attribute to update.-tlfauAttribute :: Lens' TypedLinkFacetAttributeUpdate TypedLinkAttributeDefinition-tlfauAttribute = lens _tlfauAttribute (\ s a -> s{_tlfauAttribute = a});---- | The action to perform when updating the attribute.-tlfauAction :: Lens' TypedLinkFacetAttributeUpdate UpdateActionType-tlfauAction = lens _tlfauAction (\ s a -> s{_tlfauAction = a});--instance Hashable TypedLinkFacetAttributeUpdate where--instance NFData TypedLinkFacetAttributeUpdate where--instance ToJSON TypedLinkFacetAttributeUpdate where-        toJSON TypedLinkFacetAttributeUpdate'{..}-          = object-              (catMaybes-                 [Just ("Attribute" .= _tlfauAttribute),-                  Just ("Action" .= _tlfauAction)])---- | Identifies the schema Amazon Resource Name (ARN) and facet name for the typed link.------------ /See:/ 'typedLinkSchemaAndFacetName' smart constructor.-data TypedLinkSchemaAndFacetName = TypedLinkSchemaAndFacetName'-  { _tlsafnSchemaARN     :: !Text-  , _tlsafnTypedLinkName :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TypedLinkSchemaAndFacetName' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tlsafnSchemaARN' - The Amazon Resource Name (ARN) that is associated with the schema. For more information, see 'arns' .------ * 'tlsafnTypedLinkName' - The unique name of the typed link facet.-typedLinkSchemaAndFacetName-    :: Text -- ^ 'tlsafnSchemaARN'-    -> Text -- ^ 'tlsafnTypedLinkName'-    -> TypedLinkSchemaAndFacetName-typedLinkSchemaAndFacetName pSchemaARN_ pTypedLinkName_ =-  TypedLinkSchemaAndFacetName'-  {_tlsafnSchemaARN = pSchemaARN_, _tlsafnTypedLinkName = pTypedLinkName_}----- | The Amazon Resource Name (ARN) that is associated with the schema. For more information, see 'arns' .-tlsafnSchemaARN :: Lens' TypedLinkSchemaAndFacetName Text-tlsafnSchemaARN = lens _tlsafnSchemaARN (\ s a -> s{_tlsafnSchemaARN = a});---- | The unique name of the typed link facet.-tlsafnTypedLinkName :: Lens' TypedLinkSchemaAndFacetName Text-tlsafnTypedLinkName = lens _tlsafnTypedLinkName (\ s a -> s{_tlsafnTypedLinkName = a});--instance FromJSON TypedLinkSchemaAndFacetName where-        parseJSON-          = withObject "TypedLinkSchemaAndFacetName"-              (\ x ->-                 TypedLinkSchemaAndFacetName' <$>-                   (x .: "SchemaArn") <*> (x .: "TypedLinkName"))--instance Hashable TypedLinkSchemaAndFacetName where--instance NFData TypedLinkSchemaAndFacetName where--instance ToJSON TypedLinkSchemaAndFacetName where-        toJSON TypedLinkSchemaAndFacetName'{..}-          = object-              (catMaybes-                 [Just ("SchemaArn" .= _tlsafnSchemaARN),-                  Just ("TypedLinkName" .= _tlsafnTypedLinkName)])---- | Contains all the information that is used to uniquely identify a typed link. The parameters discussed in this topic are used to uniquely specify the typed link being operated on. The 'AttachTypedLink' API returns a typed link specifier while the 'DetachTypedLink' API accepts one as input. Similarly, the 'ListIncomingTypedLinks' and 'ListOutgoingTypedLinks' API operations provide typed link specifiers as output. You can also construct a typed link specifier from scratch.------------ /See:/ 'typedLinkSpecifier' smart constructor.-data TypedLinkSpecifier = TypedLinkSpecifier'-  { _tlsTypedLinkFacet          :: !TypedLinkSchemaAndFacetName-  , _tlsSourceObjectReference   :: !ObjectReference-  , _tlsTargetObjectReference   :: !ObjectReference-  , _tlsIdentityAttributeValues :: ![AttributeNameAndValue]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TypedLinkSpecifier' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tlsTypedLinkFacet' - Identifies the typed link facet that is associated with the typed link.------ * 'tlsSourceObjectReference' - Identifies the source object that the typed link will attach to.------ * 'tlsTargetObjectReference' - Identifies the target object that the typed link will attach to.------ * 'tlsIdentityAttributeValues' - Identifies the attribute value to update.-typedLinkSpecifier-    :: TypedLinkSchemaAndFacetName -- ^ 'tlsTypedLinkFacet'-    -> ObjectReference -- ^ 'tlsSourceObjectReference'-    -> ObjectReference -- ^ 'tlsTargetObjectReference'-    -> TypedLinkSpecifier-typedLinkSpecifier pTypedLinkFacet_ pSourceObjectReference_ pTargetObjectReference_ =-  TypedLinkSpecifier'-  { _tlsTypedLinkFacet = pTypedLinkFacet_-  , _tlsSourceObjectReference = pSourceObjectReference_-  , _tlsTargetObjectReference = pTargetObjectReference_-  , _tlsIdentityAttributeValues = mempty-  }----- | Identifies the typed link facet that is associated with the typed link.-tlsTypedLinkFacet :: Lens' TypedLinkSpecifier TypedLinkSchemaAndFacetName-tlsTypedLinkFacet = lens _tlsTypedLinkFacet (\ s a -> s{_tlsTypedLinkFacet = a});---- | Identifies the source object that the typed link will attach to.-tlsSourceObjectReference :: Lens' TypedLinkSpecifier ObjectReference-tlsSourceObjectReference = lens _tlsSourceObjectReference (\ s a -> s{_tlsSourceObjectReference = a});---- | Identifies the target object that the typed link will attach to.-tlsTargetObjectReference :: Lens' TypedLinkSpecifier ObjectReference-tlsTargetObjectReference = lens _tlsTargetObjectReference (\ s a -> s{_tlsTargetObjectReference = a});---- | Identifies the attribute value to update.-tlsIdentityAttributeValues :: Lens' TypedLinkSpecifier [AttributeNameAndValue]-tlsIdentityAttributeValues = lens _tlsIdentityAttributeValues (\ s a -> s{_tlsIdentityAttributeValues = a}) . _Coerce;+-- Copyright   : (c) 2013-2018 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 Network.AWS.CloudDirectory.Types.Product where++import Network.AWS.CloudDirectory.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude++-- | A unique identifier for an attribute.+--+--+--+-- /See:/ 'attributeKey' smart constructor.+data AttributeKey = AttributeKey'+  { _akSchemaARN :: !Text+  , _akFacetName :: !Text+  , _akName      :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttributeKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'akSchemaARN' - The Amazon Resource Name (ARN) of the schema that contains the facet and attribute.+--+-- * 'akFacetName' - The name of the facet that the attribute exists within.+--+-- * 'akName' - The name of the attribute.+attributeKey+    :: Text -- ^ 'akSchemaARN'+    -> Text -- ^ 'akFacetName'+    -> Text -- ^ 'akName'+    -> AttributeKey+attributeKey pSchemaARN_ pFacetName_ pName_ =+  AttributeKey'+    {_akSchemaARN = pSchemaARN_, _akFacetName = pFacetName_, _akName = pName_}+++-- | The Amazon Resource Name (ARN) of the schema that contains the facet and attribute.+akSchemaARN :: Lens' AttributeKey Text+akSchemaARN = lens _akSchemaARN (\ s a -> s{_akSchemaARN = a})++-- | The name of the facet that the attribute exists within.+akFacetName :: Lens' AttributeKey Text+akFacetName = lens _akFacetName (\ s a -> s{_akFacetName = a})++-- | The name of the attribute.+akName :: Lens' AttributeKey Text+akName = lens _akName (\ s a -> s{_akName = a})++instance FromJSON AttributeKey where+        parseJSON+          = withObject "AttributeKey"+              (\ x ->+                 AttributeKey' <$>+                   (x .: "SchemaArn") <*> (x .: "FacetName") <*>+                     (x .: "Name"))++instance Hashable AttributeKey where++instance NFData AttributeKey where++instance ToJSON AttributeKey where+        toJSON AttributeKey'{..}+          = object+              (catMaybes+                 [Just ("SchemaArn" .= _akSchemaARN),+                  Just ("FacetName" .= _akFacetName),+                  Just ("Name" .= _akName)])++-- | The combination of an attribute key and an attribute value.+--+--+--+-- /See:/ 'attributeKeyAndValue' smart constructor.+data AttributeKeyAndValue = AttributeKeyAndValue'+  { _akavKey   :: !AttributeKey+  , _akavValue :: !TypedAttributeValue+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttributeKeyAndValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'akavKey' - The key of the attribute.+--+-- * 'akavValue' - The value of the attribute.+attributeKeyAndValue+    :: AttributeKey -- ^ 'akavKey'+    -> TypedAttributeValue -- ^ 'akavValue'+    -> AttributeKeyAndValue+attributeKeyAndValue pKey_ pValue_ =+  AttributeKeyAndValue' {_akavKey = pKey_, _akavValue = pValue_}+++-- | The key of the attribute.+akavKey :: Lens' AttributeKeyAndValue AttributeKey+akavKey = lens _akavKey (\ s a -> s{_akavKey = a})++-- | The value of the attribute.+akavValue :: Lens' AttributeKeyAndValue TypedAttributeValue+akavValue = lens _akavValue (\ s a -> s{_akavValue = a})++instance FromJSON AttributeKeyAndValue where+        parseJSON+          = withObject "AttributeKeyAndValue"+              (\ x ->+                 AttributeKeyAndValue' <$>+                   (x .: "Key") <*> (x .: "Value"))++instance Hashable AttributeKeyAndValue where++instance NFData AttributeKeyAndValue where++instance ToJSON AttributeKeyAndValue where+        toJSON AttributeKeyAndValue'{..}+          = object+              (catMaybes+                 [Just ("Key" .= _akavKey),+                  Just ("Value" .= _akavValue)])++-- | Identifies the attribute name and value for a typed link.+--+--+--+-- /See:/ 'attributeNameAndValue' smart constructor.+data AttributeNameAndValue = AttributeNameAndValue'+  { _anavAttributeName :: !Text+  , _anavValue         :: !TypedAttributeValue+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttributeNameAndValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'anavAttributeName' - The attribute name of the typed link.+--+-- * 'anavValue' - The value for the typed link.+attributeNameAndValue+    :: Text -- ^ 'anavAttributeName'+    -> TypedAttributeValue -- ^ 'anavValue'+    -> AttributeNameAndValue+attributeNameAndValue pAttributeName_ pValue_ =+  AttributeNameAndValue'+    {_anavAttributeName = pAttributeName_, _anavValue = pValue_}+++-- | The attribute name of the typed link.+anavAttributeName :: Lens' AttributeNameAndValue Text+anavAttributeName = lens _anavAttributeName (\ s a -> s{_anavAttributeName = a})++-- | The value for the typed link.+anavValue :: Lens' AttributeNameAndValue TypedAttributeValue+anavValue = lens _anavValue (\ s a -> s{_anavValue = a})++instance FromJSON AttributeNameAndValue where+        parseJSON+          = withObject "AttributeNameAndValue"+              (\ x ->+                 AttributeNameAndValue' <$>+                   (x .: "AttributeName") <*> (x .: "Value"))++instance Hashable AttributeNameAndValue where++instance NFData AttributeNameAndValue where++instance ToJSON AttributeNameAndValue where+        toJSON AttributeNameAndValue'{..}+          = object+              (catMaybes+                 [Just ("AttributeName" .= _anavAttributeName),+                  Just ("Value" .= _anavValue)])++-- | Represents the output of a batch add facet to object operation.+--+--+--+-- /See:/ 'batchAddFacetToObject' smart constructor.+data BatchAddFacetToObject = BatchAddFacetToObject'+  { _baftoSchemaFacet         :: !SchemaFacet+  , _baftoObjectAttributeList :: ![AttributeKeyAndValue]+  , _baftoObjectReference     :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchAddFacetToObject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'baftoSchemaFacet' - Represents the facet being added to the object.+--+-- * 'baftoObjectAttributeList' - The attributes to set on the object.+--+-- * 'baftoObjectReference' - A reference to the object being mutated.+batchAddFacetToObject+    :: SchemaFacet -- ^ 'baftoSchemaFacet'+    -> ObjectReference -- ^ 'baftoObjectReference'+    -> BatchAddFacetToObject+batchAddFacetToObject pSchemaFacet_ pObjectReference_ =+  BatchAddFacetToObject'+    { _baftoSchemaFacet = pSchemaFacet_+    , _baftoObjectAttributeList = mempty+    , _baftoObjectReference = pObjectReference_+    }+++-- | Represents the facet being added to the object.+baftoSchemaFacet :: Lens' BatchAddFacetToObject SchemaFacet+baftoSchemaFacet = lens _baftoSchemaFacet (\ s a -> s{_baftoSchemaFacet = a})++-- | The attributes to set on the object.+baftoObjectAttributeList :: Lens' BatchAddFacetToObject [AttributeKeyAndValue]+baftoObjectAttributeList = lens _baftoObjectAttributeList (\ s a -> s{_baftoObjectAttributeList = a}) . _Coerce++-- | A reference to the object being mutated.+baftoObjectReference :: Lens' BatchAddFacetToObject ObjectReference+baftoObjectReference = lens _baftoObjectReference (\ s a -> s{_baftoObjectReference = a})++instance Hashable BatchAddFacetToObject where++instance NFData BatchAddFacetToObject where++instance ToJSON BatchAddFacetToObject where+        toJSON BatchAddFacetToObject'{..}+          = object+              (catMaybes+                 [Just ("SchemaFacet" .= _baftoSchemaFacet),+                  Just+                    ("ObjectAttributeList" .= _baftoObjectAttributeList),+                  Just ("ObjectReference" .= _baftoObjectReference)])++-- | The result of a batch add facet to object operation.+--+--+--+-- /See:/ 'batchAddFacetToObjectResponse' smart constructor.+data BatchAddFacetToObjectResponse =+  BatchAddFacetToObjectResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchAddFacetToObjectResponse' with the minimum fields required to make a request.+--+batchAddFacetToObjectResponse+    :: BatchAddFacetToObjectResponse+batchAddFacetToObjectResponse = BatchAddFacetToObjectResponse'+++instance FromJSON BatchAddFacetToObjectResponse where+        parseJSON+          = withObject "BatchAddFacetToObjectResponse"+              (\ x -> pure BatchAddFacetToObjectResponse')++instance Hashable BatchAddFacetToObjectResponse where++instance NFData BatchAddFacetToObjectResponse where++-- | Represents the output of an 'AttachObject' operation.+--+--+--+-- /See:/ 'batchAttachObject' smart constructor.+data BatchAttachObject = BatchAttachObject'+  { _baoParentReference :: !ObjectReference+  , _baoChildReference  :: !ObjectReference+  , _baoLinkName        :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchAttachObject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'baoParentReference' - The parent object reference.+--+-- * 'baoChildReference' - The child object reference that is to be attached to the object.+--+-- * 'baoLinkName' - The name of the link.+batchAttachObject+    :: ObjectReference -- ^ 'baoParentReference'+    -> ObjectReference -- ^ 'baoChildReference'+    -> Text -- ^ 'baoLinkName'+    -> BatchAttachObject+batchAttachObject pParentReference_ pChildReference_ pLinkName_ =+  BatchAttachObject'+    { _baoParentReference = pParentReference_+    , _baoChildReference = pChildReference_+    , _baoLinkName = pLinkName_+    }+++-- | The parent object reference.+baoParentReference :: Lens' BatchAttachObject ObjectReference+baoParentReference = lens _baoParentReference (\ s a -> s{_baoParentReference = a})++-- | The child object reference that is to be attached to the object.+baoChildReference :: Lens' BatchAttachObject ObjectReference+baoChildReference = lens _baoChildReference (\ s a -> s{_baoChildReference = a})++-- | The name of the link.+baoLinkName :: Lens' BatchAttachObject Text+baoLinkName = lens _baoLinkName (\ s a -> s{_baoLinkName = a})++instance Hashable BatchAttachObject where++instance NFData BatchAttachObject where++instance ToJSON BatchAttachObject where+        toJSON BatchAttachObject'{..}+          = object+              (catMaybes+                 [Just ("ParentReference" .= _baoParentReference),+                  Just ("ChildReference" .= _baoChildReference),+                  Just ("LinkName" .= _baoLinkName)])++-- | Represents the output batch 'AttachObject' response operation.+--+--+--+-- /See:/ 'batchAttachObjectResponse' smart constructor.+newtype BatchAttachObjectResponse = BatchAttachObjectResponse'+  { _baoAttachedObjectIdentifier :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchAttachObjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'baoAttachedObjectIdentifier' - The @ObjectIdentifier@ of the object that has been attached.+batchAttachObjectResponse+    :: BatchAttachObjectResponse+batchAttachObjectResponse =+  BatchAttachObjectResponse' {_baoAttachedObjectIdentifier = Nothing}+++-- | The @ObjectIdentifier@ of the object that has been attached.+baoAttachedObjectIdentifier :: Lens' BatchAttachObjectResponse (Maybe Text)+baoAttachedObjectIdentifier = lens _baoAttachedObjectIdentifier (\ s a -> s{_baoAttachedObjectIdentifier = a})++instance FromJSON BatchAttachObjectResponse where+        parseJSON+          = withObject "BatchAttachObjectResponse"+              (\ x ->+                 BatchAttachObjectResponse' <$>+                   (x .:? "attachedObjectIdentifier"))++instance Hashable BatchAttachObjectResponse where++instance NFData BatchAttachObjectResponse where++-- | Attaches a policy object to a regular object inside a 'BatchRead' operation. For more information, see 'AttachPolicy' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchAttachPolicy' smart constructor.+data BatchAttachPolicy = BatchAttachPolicy'+  { _bapPolicyReference :: !ObjectReference+  , _bapObjectReference :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchAttachPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bapPolicyReference' - The reference that is associated with the policy object.+--+-- * 'bapObjectReference' - The reference that identifies the object to which the policy will be attached.+batchAttachPolicy+    :: ObjectReference -- ^ 'bapPolicyReference'+    -> ObjectReference -- ^ 'bapObjectReference'+    -> BatchAttachPolicy+batchAttachPolicy pPolicyReference_ pObjectReference_ =+  BatchAttachPolicy'+    { _bapPolicyReference = pPolicyReference_+    , _bapObjectReference = pObjectReference_+    }+++-- | The reference that is associated with the policy object.+bapPolicyReference :: Lens' BatchAttachPolicy ObjectReference+bapPolicyReference = lens _bapPolicyReference (\ s a -> s{_bapPolicyReference = a})++-- | The reference that identifies the object to which the policy will be attached.+bapObjectReference :: Lens' BatchAttachPolicy ObjectReference+bapObjectReference = lens _bapObjectReference (\ s a -> s{_bapObjectReference = a})++instance Hashable BatchAttachPolicy where++instance NFData BatchAttachPolicy where++instance ToJSON BatchAttachPolicy where+        toJSON BatchAttachPolicy'{..}+          = object+              (catMaybes+                 [Just ("PolicyReference" .= _bapPolicyReference),+                  Just ("ObjectReference" .= _bapObjectReference)])++-- | Represents the output of an 'AttachPolicy' response operation.+--+--+--+-- /See:/ 'batchAttachPolicyResponse' smart constructor.+data BatchAttachPolicyResponse =+  BatchAttachPolicyResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchAttachPolicyResponse' with the minimum fields required to make a request.+--+batchAttachPolicyResponse+    :: BatchAttachPolicyResponse+batchAttachPolicyResponse = BatchAttachPolicyResponse'+++instance FromJSON BatchAttachPolicyResponse where+        parseJSON+          = withObject "BatchAttachPolicyResponse"+              (\ x -> pure BatchAttachPolicyResponse')++instance Hashable BatchAttachPolicyResponse where++instance NFData BatchAttachPolicyResponse where++-- | Attaches the specified object to the specified index inside a 'BatchRead' operation. For more information, see 'AttachToIndex' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchAttachToIndex' smart constructor.+data BatchAttachToIndex = BatchAttachToIndex'+  { _batiIndexReference  :: !ObjectReference+  , _batiTargetReference :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchAttachToIndex' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'batiIndexReference' - A reference to the index that you are attaching the object to.+--+-- * 'batiTargetReference' - A reference to the object that you are attaching to the index.+batchAttachToIndex+    :: ObjectReference -- ^ 'batiIndexReference'+    -> ObjectReference -- ^ 'batiTargetReference'+    -> BatchAttachToIndex+batchAttachToIndex pIndexReference_ pTargetReference_ =+  BatchAttachToIndex'+    { _batiIndexReference = pIndexReference_+    , _batiTargetReference = pTargetReference_+    }+++-- | A reference to the index that you are attaching the object to.+batiIndexReference :: Lens' BatchAttachToIndex ObjectReference+batiIndexReference = lens _batiIndexReference (\ s a -> s{_batiIndexReference = a})++-- | A reference to the object that you are attaching to the index.+batiTargetReference :: Lens' BatchAttachToIndex ObjectReference+batiTargetReference = lens _batiTargetReference (\ s a -> s{_batiTargetReference = a})++instance Hashable BatchAttachToIndex where++instance NFData BatchAttachToIndex where++instance ToJSON BatchAttachToIndex where+        toJSON BatchAttachToIndex'{..}+          = object+              (catMaybes+                 [Just ("IndexReference" .= _batiIndexReference),+                  Just ("TargetReference" .= _batiTargetReference)])++-- | Represents the output of a 'AttachToIndex' response operation.+--+--+--+-- /See:/ 'batchAttachToIndexResponse' smart constructor.+newtype BatchAttachToIndexResponse = BatchAttachToIndexResponse'+  { _batiAttachedObjectIdentifier :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchAttachToIndexResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'batiAttachedObjectIdentifier' - The @ObjectIdentifier@ of the object that was attached to the index.+batchAttachToIndexResponse+    :: BatchAttachToIndexResponse+batchAttachToIndexResponse =+  BatchAttachToIndexResponse' {_batiAttachedObjectIdentifier = Nothing}+++-- | The @ObjectIdentifier@ of the object that was attached to the index.+batiAttachedObjectIdentifier :: Lens' BatchAttachToIndexResponse (Maybe Text)+batiAttachedObjectIdentifier = lens _batiAttachedObjectIdentifier (\ s a -> s{_batiAttachedObjectIdentifier = a})++instance FromJSON BatchAttachToIndexResponse where+        parseJSON+          = withObject "BatchAttachToIndexResponse"+              (\ x ->+                 BatchAttachToIndexResponse' <$>+                   (x .:? "AttachedObjectIdentifier"))++instance Hashable BatchAttachToIndexResponse where++instance NFData BatchAttachToIndexResponse where++-- | Attaches a typed link to a specified source and target object inside a 'BatchRead' operation. For more information, see 'AttachTypedLink' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchAttachTypedLink' smart constructor.+data BatchAttachTypedLink = BatchAttachTypedLink'+  { _batlSourceObjectReference :: !ObjectReference+  , _batlTargetObjectReference :: !ObjectReference+  , _batlTypedLinkFacet        :: !TypedLinkSchemaAndFacetName+  , _batlAttributes            :: ![AttributeNameAndValue]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchAttachTypedLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'batlSourceObjectReference' - Identifies the source object that the typed link will attach to.+--+-- * 'batlTargetObjectReference' - Identifies the target object that the typed link will attach to.+--+-- * 'batlTypedLinkFacet' - Identifies the typed link facet that is associated with the typed link.+--+-- * 'batlAttributes' - A set of attributes that are associated with the typed link.+batchAttachTypedLink+    :: ObjectReference -- ^ 'batlSourceObjectReference'+    -> ObjectReference -- ^ 'batlTargetObjectReference'+    -> TypedLinkSchemaAndFacetName -- ^ 'batlTypedLinkFacet'+    -> BatchAttachTypedLink+batchAttachTypedLink pSourceObjectReference_ pTargetObjectReference_ pTypedLinkFacet_ =+  BatchAttachTypedLink'+    { _batlSourceObjectReference = pSourceObjectReference_+    , _batlTargetObjectReference = pTargetObjectReference_+    , _batlTypedLinkFacet = pTypedLinkFacet_+    , _batlAttributes = mempty+    }+++-- | Identifies the source object that the typed link will attach to.+batlSourceObjectReference :: Lens' BatchAttachTypedLink ObjectReference+batlSourceObjectReference = lens _batlSourceObjectReference (\ s a -> s{_batlSourceObjectReference = a})++-- | Identifies the target object that the typed link will attach to.+batlTargetObjectReference :: Lens' BatchAttachTypedLink ObjectReference+batlTargetObjectReference = lens _batlTargetObjectReference (\ s a -> s{_batlTargetObjectReference = a})++-- | Identifies the typed link facet that is associated with the typed link.+batlTypedLinkFacet :: Lens' BatchAttachTypedLink TypedLinkSchemaAndFacetName+batlTypedLinkFacet = lens _batlTypedLinkFacet (\ s a -> s{_batlTypedLinkFacet = a})++-- | A set of attributes that are associated with the typed link.+batlAttributes :: Lens' BatchAttachTypedLink [AttributeNameAndValue]+batlAttributes = lens _batlAttributes (\ s a -> s{_batlAttributes = a}) . _Coerce++instance Hashable BatchAttachTypedLink where++instance NFData BatchAttachTypedLink where++instance ToJSON BatchAttachTypedLink where+        toJSON BatchAttachTypedLink'{..}+          = object+              (catMaybes+                 [Just+                    ("SourceObjectReference" .=+                       _batlSourceObjectReference),+                  Just+                    ("TargetObjectReference" .=+                       _batlTargetObjectReference),+                  Just ("TypedLinkFacet" .= _batlTypedLinkFacet),+                  Just ("Attributes" .= _batlAttributes)])++-- | Represents the output of a 'AttachTypedLink' response operation.+--+--+--+-- /See:/ 'batchAttachTypedLinkResponse' smart constructor.+newtype BatchAttachTypedLinkResponse = BatchAttachTypedLinkResponse'+  { _batlTypedLinkSpecifier :: Maybe TypedLinkSpecifier+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchAttachTypedLinkResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'batlTypedLinkSpecifier' - Returns a typed link specifier as output.+batchAttachTypedLinkResponse+    :: BatchAttachTypedLinkResponse+batchAttachTypedLinkResponse =+  BatchAttachTypedLinkResponse' {_batlTypedLinkSpecifier = Nothing}+++-- | Returns a typed link specifier as output.+batlTypedLinkSpecifier :: Lens' BatchAttachTypedLinkResponse (Maybe TypedLinkSpecifier)+batlTypedLinkSpecifier = lens _batlTypedLinkSpecifier (\ s a -> s{_batlTypedLinkSpecifier = a})++instance FromJSON BatchAttachTypedLinkResponse where+        parseJSON+          = withObject "BatchAttachTypedLinkResponse"+              (\ x ->+                 BatchAttachTypedLinkResponse' <$>+                   (x .:? "TypedLinkSpecifier"))++instance Hashable BatchAttachTypedLinkResponse where++instance NFData BatchAttachTypedLinkResponse where++-- | Creates an index object inside of a 'BatchRead' operation. For more information, see 'CreateIndex' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchCreateIndex' smart constructor.+data BatchCreateIndex = BatchCreateIndex'+  { _bciParentReference             :: !(Maybe ObjectReference)+  , _bciLinkName                    :: !(Maybe Text)+  , _bciBatchReferenceName          :: !(Maybe Text)+  , _bciOrderedIndexedAttributeList :: ![AttributeKey]+  , _bciIsUnique                    :: !Bool+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchCreateIndex' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bciParentReference' - A reference to the parent object that contains the index object.+--+-- * 'bciLinkName' - The name of the link between the parent object and the index object.+--+-- * 'bciBatchReferenceName' - The batch reference name. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches Batches> for more information.+--+-- * 'bciOrderedIndexedAttributeList' - Specifies the attributes that should be indexed on. Currently only a single attribute is supported.+--+-- * 'bciIsUnique' - Indicates whether the attribute that is being indexed has unique values or not.+batchCreateIndex+    :: Bool -- ^ 'bciIsUnique'+    -> BatchCreateIndex+batchCreateIndex pIsUnique_ =+  BatchCreateIndex'+    { _bciParentReference = Nothing+    , _bciLinkName = Nothing+    , _bciBatchReferenceName = Nothing+    , _bciOrderedIndexedAttributeList = mempty+    , _bciIsUnique = pIsUnique_+    }+++-- | A reference to the parent object that contains the index object.+bciParentReference :: Lens' BatchCreateIndex (Maybe ObjectReference)+bciParentReference = lens _bciParentReference (\ s a -> s{_bciParentReference = a})++-- | The name of the link between the parent object and the index object.+bciLinkName :: Lens' BatchCreateIndex (Maybe Text)+bciLinkName = lens _bciLinkName (\ s a -> s{_bciLinkName = a})++-- | The batch reference name. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches Batches> for more information.+bciBatchReferenceName :: Lens' BatchCreateIndex (Maybe Text)+bciBatchReferenceName = lens _bciBatchReferenceName (\ s a -> s{_bciBatchReferenceName = a})++-- | Specifies the attributes that should be indexed on. Currently only a single attribute is supported.+bciOrderedIndexedAttributeList :: Lens' BatchCreateIndex [AttributeKey]+bciOrderedIndexedAttributeList = lens _bciOrderedIndexedAttributeList (\ s a -> s{_bciOrderedIndexedAttributeList = a}) . _Coerce++-- | Indicates whether the attribute that is being indexed has unique values or not.+bciIsUnique :: Lens' BatchCreateIndex Bool+bciIsUnique = lens _bciIsUnique (\ s a -> s{_bciIsUnique = a})++instance Hashable BatchCreateIndex where++instance NFData BatchCreateIndex where++instance ToJSON BatchCreateIndex where+        toJSON BatchCreateIndex'{..}+          = object+              (catMaybes+                 [("ParentReference" .=) <$> _bciParentReference,+                  ("LinkName" .=) <$> _bciLinkName,+                  ("BatchReferenceName" .=) <$> _bciBatchReferenceName,+                  Just+                    ("OrderedIndexedAttributeList" .=+                       _bciOrderedIndexedAttributeList),+                  Just ("IsUnique" .= _bciIsUnique)])++-- | Represents the output of a 'CreateIndex' response operation.+--+--+--+-- /See:/ 'batchCreateIndexResponse' smart constructor.+newtype BatchCreateIndexResponse = BatchCreateIndexResponse'+  { _bciObjectIdentifier :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchCreateIndexResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bciObjectIdentifier' - The @ObjectIdentifier@ of the index created by this operation.+batchCreateIndexResponse+    :: BatchCreateIndexResponse+batchCreateIndexResponse =+  BatchCreateIndexResponse' {_bciObjectIdentifier = Nothing}+++-- | The @ObjectIdentifier@ of the index created by this operation.+bciObjectIdentifier :: Lens' BatchCreateIndexResponse (Maybe Text)+bciObjectIdentifier = lens _bciObjectIdentifier (\ s a -> s{_bciObjectIdentifier = a})++instance FromJSON BatchCreateIndexResponse where+        parseJSON+          = withObject "BatchCreateIndexResponse"+              (\ x ->+                 BatchCreateIndexResponse' <$>+                   (x .:? "ObjectIdentifier"))++instance Hashable BatchCreateIndexResponse where++instance NFData BatchCreateIndexResponse where++-- | Represents the output of a 'CreateObject' operation.+--+--+--+-- /See:/ 'batchCreateObject' smart constructor.+data BatchCreateObject = BatchCreateObject'+  { _bcoParentReference     :: !(Maybe ObjectReference)+  , _bcoLinkName            :: !(Maybe Text)+  , _bcoBatchReferenceName  :: !(Maybe Text)+  , _bcoSchemaFacet         :: ![SchemaFacet]+  , _bcoObjectAttributeList :: ![AttributeKeyAndValue]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchCreateObject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcoParentReference' - If specified, the parent reference to which this object will be attached.+--+-- * 'bcoLinkName' - The name of the link.+--+-- * 'bcoBatchReferenceName' - The batch reference name. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches Batches> for more information.+--+-- * 'bcoSchemaFacet' - A list of @FacetArns@ that will be associated with the object. For more information, see 'arns' .+--+-- * 'bcoObjectAttributeList' - An attribute map, which contains an attribute ARN as the key and attribute value as the map value.+batchCreateObject+    :: BatchCreateObject+batchCreateObject =+  BatchCreateObject'+    { _bcoParentReference = Nothing+    , _bcoLinkName = Nothing+    , _bcoBatchReferenceName = Nothing+    , _bcoSchemaFacet = mempty+    , _bcoObjectAttributeList = mempty+    }+++-- | If specified, the parent reference to which this object will be attached.+bcoParentReference :: Lens' BatchCreateObject (Maybe ObjectReference)+bcoParentReference = lens _bcoParentReference (\ s a -> s{_bcoParentReference = a})++-- | The name of the link.+bcoLinkName :: Lens' BatchCreateObject (Maybe Text)+bcoLinkName = lens _bcoLinkName (\ s a -> s{_bcoLinkName = a})++-- | The batch reference name. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches Batches> for more information.+bcoBatchReferenceName :: Lens' BatchCreateObject (Maybe Text)+bcoBatchReferenceName = lens _bcoBatchReferenceName (\ s a -> s{_bcoBatchReferenceName = a})++-- | A list of @FacetArns@ that will be associated with the object. For more information, see 'arns' .+bcoSchemaFacet :: Lens' BatchCreateObject [SchemaFacet]+bcoSchemaFacet = lens _bcoSchemaFacet (\ s a -> s{_bcoSchemaFacet = a}) . _Coerce++-- | An attribute map, which contains an attribute ARN as the key and attribute value as the map value.+bcoObjectAttributeList :: Lens' BatchCreateObject [AttributeKeyAndValue]+bcoObjectAttributeList = lens _bcoObjectAttributeList (\ s a -> s{_bcoObjectAttributeList = a}) . _Coerce++instance Hashable BatchCreateObject where++instance NFData BatchCreateObject where++instance ToJSON BatchCreateObject where+        toJSON BatchCreateObject'{..}+          = object+              (catMaybes+                 [("ParentReference" .=) <$> _bcoParentReference,+                  ("LinkName" .=) <$> _bcoLinkName,+                  ("BatchReferenceName" .=) <$> _bcoBatchReferenceName,+                  Just ("SchemaFacet" .= _bcoSchemaFacet),+                  Just+                    ("ObjectAttributeList" .= _bcoObjectAttributeList)])++-- | Represents the output of a 'CreateObject' response operation.+--+--+--+-- /See:/ 'batchCreateObjectResponse' smart constructor.+newtype BatchCreateObjectResponse = BatchCreateObjectResponse'+  { _bcoObjectIdentifier :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchCreateObjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcoObjectIdentifier' - The ID that is associated with the object.+batchCreateObjectResponse+    :: BatchCreateObjectResponse+batchCreateObjectResponse =+  BatchCreateObjectResponse' {_bcoObjectIdentifier = Nothing}+++-- | The ID that is associated with the object.+bcoObjectIdentifier :: Lens' BatchCreateObjectResponse (Maybe Text)+bcoObjectIdentifier = lens _bcoObjectIdentifier (\ s a -> s{_bcoObjectIdentifier = a})++instance FromJSON BatchCreateObjectResponse where+        parseJSON+          = withObject "BatchCreateObjectResponse"+              (\ x ->+                 BatchCreateObjectResponse' <$>+                   (x .:? "ObjectIdentifier"))++instance Hashable BatchCreateObjectResponse where++instance NFData BatchCreateObjectResponse where++-- | Represents the output of a 'DeleteObject' operation.+--+--+--+-- /See:/ 'batchDeleteObject' smart constructor.+newtype BatchDeleteObject = BatchDeleteObject'+  { _bdoObjectReference :: ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDeleteObject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdoObjectReference' - The reference that identifies the object.+batchDeleteObject+    :: ObjectReference -- ^ 'bdoObjectReference'+    -> BatchDeleteObject+batchDeleteObject pObjectReference_ =+  BatchDeleteObject' {_bdoObjectReference = pObjectReference_}+++-- | The reference that identifies the object.+bdoObjectReference :: Lens' BatchDeleteObject ObjectReference+bdoObjectReference = lens _bdoObjectReference (\ s a -> s{_bdoObjectReference = a})++instance Hashable BatchDeleteObject where++instance NFData BatchDeleteObject where++instance ToJSON BatchDeleteObject where+        toJSON BatchDeleteObject'{..}+          = object+              (catMaybes+                 [Just ("ObjectReference" .= _bdoObjectReference)])++-- | Represents the output of a 'DeleteObject' response operation.+--+--+--+-- /See:/ 'batchDeleteObjectResponse' smart constructor.+data BatchDeleteObjectResponse =+  BatchDeleteObjectResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDeleteObjectResponse' with the minimum fields required to make a request.+--+batchDeleteObjectResponse+    :: BatchDeleteObjectResponse+batchDeleteObjectResponse = BatchDeleteObjectResponse'+++instance FromJSON BatchDeleteObjectResponse where+        parseJSON+          = withObject "BatchDeleteObjectResponse"+              (\ x -> pure BatchDeleteObjectResponse')++instance Hashable BatchDeleteObjectResponse where++instance NFData BatchDeleteObjectResponse where++-- | Detaches the specified object from the specified index inside a 'BatchRead' operation. For more information, see 'DetachFromIndex' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchDetachFromIndex' smart constructor.+data BatchDetachFromIndex = BatchDetachFromIndex'+  { _bdfiIndexReference  :: !ObjectReference+  , _bdfiTargetReference :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDetachFromIndex' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdfiIndexReference' - A reference to the index object.+--+-- * 'bdfiTargetReference' - A reference to the object being detached from the index.+batchDetachFromIndex+    :: ObjectReference -- ^ 'bdfiIndexReference'+    -> ObjectReference -- ^ 'bdfiTargetReference'+    -> BatchDetachFromIndex+batchDetachFromIndex pIndexReference_ pTargetReference_ =+  BatchDetachFromIndex'+    { _bdfiIndexReference = pIndexReference_+    , _bdfiTargetReference = pTargetReference_+    }+++-- | A reference to the index object.+bdfiIndexReference :: Lens' BatchDetachFromIndex ObjectReference+bdfiIndexReference = lens _bdfiIndexReference (\ s a -> s{_bdfiIndexReference = a})++-- | A reference to the object being detached from the index.+bdfiTargetReference :: Lens' BatchDetachFromIndex ObjectReference+bdfiTargetReference = lens _bdfiTargetReference (\ s a -> s{_bdfiTargetReference = a})++instance Hashable BatchDetachFromIndex where++instance NFData BatchDetachFromIndex where++instance ToJSON BatchDetachFromIndex where+        toJSON BatchDetachFromIndex'{..}+          = object+              (catMaybes+                 [Just ("IndexReference" .= _bdfiIndexReference),+                  Just ("TargetReference" .= _bdfiTargetReference)])++-- | Represents the output of a 'DetachFromIndex' response operation.+--+--+--+-- /See:/ 'batchDetachFromIndexResponse' smart constructor.+newtype BatchDetachFromIndexResponse = BatchDetachFromIndexResponse'+  { _bdfiDetachedObjectIdentifier :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDetachFromIndexResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdfiDetachedObjectIdentifier' - The @ObjectIdentifier@ of the object that was detached from the index.+batchDetachFromIndexResponse+    :: BatchDetachFromIndexResponse+batchDetachFromIndexResponse =+  BatchDetachFromIndexResponse' {_bdfiDetachedObjectIdentifier = Nothing}+++-- | The @ObjectIdentifier@ of the object that was detached from the index.+bdfiDetachedObjectIdentifier :: Lens' BatchDetachFromIndexResponse (Maybe Text)+bdfiDetachedObjectIdentifier = lens _bdfiDetachedObjectIdentifier (\ s a -> s{_bdfiDetachedObjectIdentifier = a})++instance FromJSON BatchDetachFromIndexResponse where+        parseJSON+          = withObject "BatchDetachFromIndexResponse"+              (\ x ->+                 BatchDetachFromIndexResponse' <$>+                   (x .:? "DetachedObjectIdentifier"))++instance Hashable BatchDetachFromIndexResponse where++instance NFData BatchDetachFromIndexResponse where++-- | Represents the output of a 'DetachObject' operation.+--+--+--+-- /See:/ 'batchDetachObject' smart constructor.+data BatchDetachObject = BatchDetachObject'+  { _bdoBatchReferenceName :: !(Maybe Text)+  , _bdoParentReference    :: !ObjectReference+  , _bdoLinkName           :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDetachObject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdoBatchReferenceName' - The batch reference name. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches Batches> for more information.+--+-- * 'bdoParentReference' - Parent reference from which the object with the specified link name is detached.+--+-- * 'bdoLinkName' - The name of the link.+batchDetachObject+    :: ObjectReference -- ^ 'bdoParentReference'+    -> Text -- ^ 'bdoLinkName'+    -> BatchDetachObject+batchDetachObject pParentReference_ pLinkName_ =+  BatchDetachObject'+    { _bdoBatchReferenceName = Nothing+    , _bdoParentReference = pParentReference_+    , _bdoLinkName = pLinkName_+    }+++-- | The batch reference name. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches Batches> for more information.+bdoBatchReferenceName :: Lens' BatchDetachObject (Maybe Text)+bdoBatchReferenceName = lens _bdoBatchReferenceName (\ s a -> s{_bdoBatchReferenceName = a})++-- | Parent reference from which the object with the specified link name is detached.+bdoParentReference :: Lens' BatchDetachObject ObjectReference+bdoParentReference = lens _bdoParentReference (\ s a -> s{_bdoParentReference = a})++-- | The name of the link.+bdoLinkName :: Lens' BatchDetachObject Text+bdoLinkName = lens _bdoLinkName (\ s a -> s{_bdoLinkName = a})++instance Hashable BatchDetachObject where++instance NFData BatchDetachObject where++instance ToJSON BatchDetachObject where+        toJSON BatchDetachObject'{..}+          = object+              (catMaybes+                 [("BatchReferenceName" .=) <$>+                    _bdoBatchReferenceName,+                  Just ("ParentReference" .= _bdoParentReference),+                  Just ("LinkName" .= _bdoLinkName)])++-- | Represents the output of a 'DetachObject' response operation.+--+--+--+-- /See:/ 'batchDetachObjectResponse' smart constructor.+newtype BatchDetachObjectResponse = BatchDetachObjectResponse'+  { _bdoDetachedObjectIdentifier :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDetachObjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdoDetachedObjectIdentifier' - The @ObjectIdentifier@ of the detached object.+batchDetachObjectResponse+    :: BatchDetachObjectResponse+batchDetachObjectResponse =+  BatchDetachObjectResponse' {_bdoDetachedObjectIdentifier = Nothing}+++-- | The @ObjectIdentifier@ of the detached object.+bdoDetachedObjectIdentifier :: Lens' BatchDetachObjectResponse (Maybe Text)+bdoDetachedObjectIdentifier = lens _bdoDetachedObjectIdentifier (\ s a -> s{_bdoDetachedObjectIdentifier = a})++instance FromJSON BatchDetachObjectResponse where+        parseJSON+          = withObject "BatchDetachObjectResponse"+              (\ x ->+                 BatchDetachObjectResponse' <$>+                   (x .:? "detachedObjectIdentifier"))++instance Hashable BatchDetachObjectResponse where++instance NFData BatchDetachObjectResponse where++-- | Detaches the specified policy from the specified directory inside a 'BatchWrite' operation. For more information, see 'DetachPolicy' and 'BatchWriteRequest$Operations' .+--+--+--+-- /See:/ 'batchDetachPolicy' smart constructor.+data BatchDetachPolicy = BatchDetachPolicy'+  { _bdpPolicyReference :: !ObjectReference+  , _bdpObjectReference :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDetachPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdpPolicyReference' - Reference that identifies the policy object.+--+-- * 'bdpObjectReference' - Reference that identifies the object whose policy object will be detached.+batchDetachPolicy+    :: ObjectReference -- ^ 'bdpPolicyReference'+    -> ObjectReference -- ^ 'bdpObjectReference'+    -> BatchDetachPolicy+batchDetachPolicy pPolicyReference_ pObjectReference_ =+  BatchDetachPolicy'+    { _bdpPolicyReference = pPolicyReference_+    , _bdpObjectReference = pObjectReference_+    }+++-- | Reference that identifies the policy object.+bdpPolicyReference :: Lens' BatchDetachPolicy ObjectReference+bdpPolicyReference = lens _bdpPolicyReference (\ s a -> s{_bdpPolicyReference = a})++-- | Reference that identifies the object whose policy object will be detached.+bdpObjectReference :: Lens' BatchDetachPolicy ObjectReference+bdpObjectReference = lens _bdpObjectReference (\ s a -> s{_bdpObjectReference = a})++instance Hashable BatchDetachPolicy where++instance NFData BatchDetachPolicy where++instance ToJSON BatchDetachPolicy where+        toJSON BatchDetachPolicy'{..}+          = object+              (catMaybes+                 [Just ("PolicyReference" .= _bdpPolicyReference),+                  Just ("ObjectReference" .= _bdpObjectReference)])++-- | Represents the output of a 'DetachPolicy' response operation.+--+--+--+-- /See:/ 'batchDetachPolicyResponse' smart constructor.+data BatchDetachPolicyResponse =+  BatchDetachPolicyResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDetachPolicyResponse' with the minimum fields required to make a request.+--+batchDetachPolicyResponse+    :: BatchDetachPolicyResponse+batchDetachPolicyResponse = BatchDetachPolicyResponse'+++instance FromJSON BatchDetachPolicyResponse where+        parseJSON+          = withObject "BatchDetachPolicyResponse"+              (\ x -> pure BatchDetachPolicyResponse')++instance Hashable BatchDetachPolicyResponse where++instance NFData BatchDetachPolicyResponse where++-- | Detaches a typed link from a specified source and target object inside a 'BatchRead' operation. For more information, see 'DetachTypedLink' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchDetachTypedLink' smart constructor.+newtype BatchDetachTypedLink = BatchDetachTypedLink'+  { _bdtlTypedLinkSpecifier :: TypedLinkSpecifier+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDetachTypedLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdtlTypedLinkSpecifier' - Used to accept a typed link specifier as input.+batchDetachTypedLink+    :: TypedLinkSpecifier -- ^ 'bdtlTypedLinkSpecifier'+    -> BatchDetachTypedLink+batchDetachTypedLink pTypedLinkSpecifier_ =+  BatchDetachTypedLink' {_bdtlTypedLinkSpecifier = pTypedLinkSpecifier_}+++-- | Used to accept a typed link specifier as input.+bdtlTypedLinkSpecifier :: Lens' BatchDetachTypedLink TypedLinkSpecifier+bdtlTypedLinkSpecifier = lens _bdtlTypedLinkSpecifier (\ s a -> s{_bdtlTypedLinkSpecifier = a})++instance Hashable BatchDetachTypedLink where++instance NFData BatchDetachTypedLink where++instance ToJSON BatchDetachTypedLink where+        toJSON BatchDetachTypedLink'{..}+          = object+              (catMaybes+                 [Just+                    ("TypedLinkSpecifier" .= _bdtlTypedLinkSpecifier)])++-- | Represents the output of a 'DetachTypedLink' response operation.+--+--+--+-- /See:/ 'batchDetachTypedLinkResponse' smart constructor.+data BatchDetachTypedLinkResponse =+  BatchDetachTypedLinkResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDetachTypedLinkResponse' with the minimum fields required to make a request.+--+batchDetachTypedLinkResponse+    :: BatchDetachTypedLinkResponse+batchDetachTypedLinkResponse = BatchDetachTypedLinkResponse'+++instance FromJSON BatchDetachTypedLinkResponse where+        parseJSON+          = withObject "BatchDetachTypedLinkResponse"+              (\ x -> pure BatchDetachTypedLinkResponse')++instance Hashable BatchDetachTypedLinkResponse where++instance NFData BatchDetachTypedLinkResponse where++-- | Retrieves attributes within a facet that are associated with an object inside an 'BatchRead' operation. For more information, see 'GetObjectAttributes' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchGetObjectAttributes' smart constructor.+data BatchGetObjectAttributes = BatchGetObjectAttributes'+  { _bgoaObjectReference :: !ObjectReference+  , _bgoaSchemaFacet     :: !SchemaFacet+  , _bgoaAttributeNames  :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchGetObjectAttributes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgoaObjectReference' - Reference that identifies the object whose attributes will be retrieved.+--+-- * 'bgoaSchemaFacet' - Identifier for the facet whose attributes will be retrieved. See 'SchemaFacet' for details.+--+-- * 'bgoaAttributeNames' - List of attribute names whose values will be retrieved.+batchGetObjectAttributes+    :: ObjectReference -- ^ 'bgoaObjectReference'+    -> SchemaFacet -- ^ 'bgoaSchemaFacet'+    -> BatchGetObjectAttributes+batchGetObjectAttributes pObjectReference_ pSchemaFacet_ =+  BatchGetObjectAttributes'+    { _bgoaObjectReference = pObjectReference_+    , _bgoaSchemaFacet = pSchemaFacet_+    , _bgoaAttributeNames = mempty+    }+++-- | Reference that identifies the object whose attributes will be retrieved.+bgoaObjectReference :: Lens' BatchGetObjectAttributes ObjectReference+bgoaObjectReference = lens _bgoaObjectReference (\ s a -> s{_bgoaObjectReference = a})++-- | Identifier for the facet whose attributes will be retrieved. See 'SchemaFacet' for details.+bgoaSchemaFacet :: Lens' BatchGetObjectAttributes SchemaFacet+bgoaSchemaFacet = lens _bgoaSchemaFacet (\ s a -> s{_bgoaSchemaFacet = a})++-- | List of attribute names whose values will be retrieved.+bgoaAttributeNames :: Lens' BatchGetObjectAttributes [Text]+bgoaAttributeNames = lens _bgoaAttributeNames (\ s a -> s{_bgoaAttributeNames = a}) . _Coerce++instance Hashable BatchGetObjectAttributes where++instance NFData BatchGetObjectAttributes where++instance ToJSON BatchGetObjectAttributes where+        toJSON BatchGetObjectAttributes'{..}+          = object+              (catMaybes+                 [Just ("ObjectReference" .= _bgoaObjectReference),+                  Just ("SchemaFacet" .= _bgoaSchemaFacet),+                  Just ("AttributeNames" .= _bgoaAttributeNames)])++-- | Represents the output of a 'GetObjectAttributes' response operation.+--+--+--+-- /See:/ 'batchGetObjectAttributesResponse' smart constructor.+newtype BatchGetObjectAttributesResponse = BatchGetObjectAttributesResponse'+  { _bgoaAttributes :: Maybe [AttributeKeyAndValue]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchGetObjectAttributesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgoaAttributes' - The attribute values that are associated with an object.+batchGetObjectAttributesResponse+    :: BatchGetObjectAttributesResponse+batchGetObjectAttributesResponse =+  BatchGetObjectAttributesResponse' {_bgoaAttributes = Nothing}+++-- | The attribute values that are associated with an object.+bgoaAttributes :: Lens' BatchGetObjectAttributesResponse [AttributeKeyAndValue]+bgoaAttributes = lens _bgoaAttributes (\ s a -> s{_bgoaAttributes = a}) . _Default . _Coerce++instance FromJSON BatchGetObjectAttributesResponse+         where+        parseJSON+          = withObject "BatchGetObjectAttributesResponse"+              (\ x ->+                 BatchGetObjectAttributesResponse' <$>+                   (x .:? "Attributes" .!= mempty))++instance Hashable BatchGetObjectAttributesResponse+         where++instance NFData BatchGetObjectAttributesResponse+         where++-- | Retrieves metadata about an object inside a 'BatchRead' operation. For more information, see 'GetObjectInformation' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchGetObjectInformation' smart constructor.+newtype BatchGetObjectInformation = BatchGetObjectInformation'+  { _bgoiObjectReference :: ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchGetObjectInformation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgoiObjectReference' - A reference to the object.+batchGetObjectInformation+    :: ObjectReference -- ^ 'bgoiObjectReference'+    -> BatchGetObjectInformation+batchGetObjectInformation pObjectReference_ =+  BatchGetObjectInformation' {_bgoiObjectReference = pObjectReference_}+++-- | A reference to the object.+bgoiObjectReference :: Lens' BatchGetObjectInformation ObjectReference+bgoiObjectReference = lens _bgoiObjectReference (\ s a -> s{_bgoiObjectReference = a})++instance Hashable BatchGetObjectInformation where++instance NFData BatchGetObjectInformation where++instance ToJSON BatchGetObjectInformation where+        toJSON BatchGetObjectInformation'{..}+          = object+              (catMaybes+                 [Just ("ObjectReference" .= _bgoiObjectReference)])++-- | Represents the output of a 'GetObjectInformation' response operation.+--+--+--+-- /See:/ 'batchGetObjectInformationResponse' smart constructor.+data BatchGetObjectInformationResponse = BatchGetObjectInformationResponse'+  { _bgoiObjectIdentifier :: !(Maybe Text)+  , _bgoiSchemaFacets     :: !(Maybe [SchemaFacet])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchGetObjectInformationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgoiObjectIdentifier' - The @ObjectIdentifier@ of the specified object.+--+-- * 'bgoiSchemaFacets' - The facets attached to the specified object.+batchGetObjectInformationResponse+    :: BatchGetObjectInformationResponse+batchGetObjectInformationResponse =+  BatchGetObjectInformationResponse'+    {_bgoiObjectIdentifier = Nothing, _bgoiSchemaFacets = Nothing}+++-- | The @ObjectIdentifier@ of the specified object.+bgoiObjectIdentifier :: Lens' BatchGetObjectInformationResponse (Maybe Text)+bgoiObjectIdentifier = lens _bgoiObjectIdentifier (\ s a -> s{_bgoiObjectIdentifier = a})++-- | The facets attached to the specified object.+bgoiSchemaFacets :: Lens' BatchGetObjectInformationResponse [SchemaFacet]+bgoiSchemaFacets = lens _bgoiSchemaFacets (\ s a -> s{_bgoiSchemaFacets = a}) . _Default . _Coerce++instance FromJSON BatchGetObjectInformationResponse+         where+        parseJSON+          = withObject "BatchGetObjectInformationResponse"+              (\ x ->+                 BatchGetObjectInformationResponse' <$>+                   (x .:? "ObjectIdentifier") <*>+                     (x .:? "SchemaFacets" .!= mempty))++instance Hashable BatchGetObjectInformationResponse+         where++instance NFData BatchGetObjectInformationResponse+         where++-- | Lists indices attached to an object inside a 'BatchRead' operation. For more information, see 'ListAttachedIndices' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchListAttachedIndices' smart constructor.+data BatchListAttachedIndices = BatchListAttachedIndices'+  { _blaisNextToken       :: !(Maybe Text)+  , _blaisMaxResults      :: !(Maybe Nat)+  , _blaisTargetReference :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListAttachedIndices' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blaisNextToken' - The pagination token.+--+-- * 'blaisMaxResults' - The maximum number of results to retrieve.+--+-- * 'blaisTargetReference' - A reference to the object that has indices attached.+batchListAttachedIndices+    :: ObjectReference -- ^ 'blaisTargetReference'+    -> BatchListAttachedIndices+batchListAttachedIndices pTargetReference_ =+  BatchListAttachedIndices'+    { _blaisNextToken = Nothing+    , _blaisMaxResults = Nothing+    , _blaisTargetReference = pTargetReference_+    }+++-- | The pagination token.+blaisNextToken :: Lens' BatchListAttachedIndices (Maybe Text)+blaisNextToken = lens _blaisNextToken (\ s a -> s{_blaisNextToken = a})++-- | The maximum number of results to retrieve.+blaisMaxResults :: Lens' BatchListAttachedIndices (Maybe Natural)+blaisMaxResults = lens _blaisMaxResults (\ s a -> s{_blaisMaxResults = a}) . mapping _Nat++-- | A reference to the object that has indices attached.+blaisTargetReference :: Lens' BatchListAttachedIndices ObjectReference+blaisTargetReference = lens _blaisTargetReference (\ s a -> s{_blaisTargetReference = a})++instance Hashable BatchListAttachedIndices where++instance NFData BatchListAttachedIndices where++instance ToJSON BatchListAttachedIndices where+        toJSON BatchListAttachedIndices'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _blaisNextToken,+                  ("MaxResults" .=) <$> _blaisMaxResults,+                  Just ("TargetReference" .= _blaisTargetReference)])++-- | Represents the output of a 'ListAttachedIndices' response operation.+--+--+--+-- /See:/ 'batchListAttachedIndicesResponse' smart constructor.+data BatchListAttachedIndicesResponse = BatchListAttachedIndicesResponse'+  { _blaiIndexAttachments :: !(Maybe [IndexAttachment])+  , _blaiNextToken        :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListAttachedIndicesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blaiIndexAttachments' - The indices attached to the specified object.+--+-- * 'blaiNextToken' - The pagination token.+batchListAttachedIndicesResponse+    :: BatchListAttachedIndicesResponse+batchListAttachedIndicesResponse =+  BatchListAttachedIndicesResponse'+    {_blaiIndexAttachments = Nothing, _blaiNextToken = Nothing}+++-- | The indices attached to the specified object.+blaiIndexAttachments :: Lens' BatchListAttachedIndicesResponse [IndexAttachment]+blaiIndexAttachments = lens _blaiIndexAttachments (\ s a -> s{_blaiIndexAttachments = a}) . _Default . _Coerce++-- | The pagination token.+blaiNextToken :: Lens' BatchListAttachedIndicesResponse (Maybe Text)+blaiNextToken = lens _blaiNextToken (\ s a -> s{_blaiNextToken = a})++instance FromJSON BatchListAttachedIndicesResponse+         where+        parseJSON+          = withObject "BatchListAttachedIndicesResponse"+              (\ x ->+                 BatchListAttachedIndicesResponse' <$>+                   (x .:? "IndexAttachments" .!= mempty) <*>+                     (x .:? "NextToken"))++instance Hashable BatchListAttachedIndicesResponse+         where++instance NFData BatchListAttachedIndicesResponse+         where++-- | Returns a paginated list of all the incoming 'TypedLinkSpecifier' information for an object inside a 'BatchRead' operation. For more information, see 'ListIncomingTypedLinks' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchListIncomingTypedLinks' smart constructor.+data BatchListIncomingTypedLinks = BatchListIncomingTypedLinks'+  { _blitlsFilterAttributeRanges :: !(Maybe [TypedLinkAttributeRange])+  , _blitlsNextToken             :: !(Maybe Text)+  , _blitlsFilterTypedLink       :: !(Maybe TypedLinkSchemaAndFacetName)+  , _blitlsMaxResults            :: !(Maybe Nat)+  , _blitlsObjectReference       :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListIncomingTypedLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blitlsFilterAttributeRanges' - Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.+--+-- * 'blitlsNextToken' - The pagination token.+--+-- * 'blitlsFilterTypedLink' - Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.+--+-- * 'blitlsMaxResults' - The maximum number of results to retrieve.+--+-- * 'blitlsObjectReference' - The reference that identifies the object whose attributes will be listed.+batchListIncomingTypedLinks+    :: ObjectReference -- ^ 'blitlsObjectReference'+    -> BatchListIncomingTypedLinks+batchListIncomingTypedLinks pObjectReference_ =+  BatchListIncomingTypedLinks'+    { _blitlsFilterAttributeRanges = Nothing+    , _blitlsNextToken = Nothing+    , _blitlsFilterTypedLink = Nothing+    , _blitlsMaxResults = Nothing+    , _blitlsObjectReference = pObjectReference_+    }+++-- | Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.+blitlsFilterAttributeRanges :: Lens' BatchListIncomingTypedLinks [TypedLinkAttributeRange]+blitlsFilterAttributeRanges = lens _blitlsFilterAttributeRanges (\ s a -> s{_blitlsFilterAttributeRanges = a}) . _Default . _Coerce++-- | The pagination token.+blitlsNextToken :: Lens' BatchListIncomingTypedLinks (Maybe Text)+blitlsNextToken = lens _blitlsNextToken (\ s a -> s{_blitlsNextToken = a})++-- | Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.+blitlsFilterTypedLink :: Lens' BatchListIncomingTypedLinks (Maybe TypedLinkSchemaAndFacetName)+blitlsFilterTypedLink = lens _blitlsFilterTypedLink (\ s a -> s{_blitlsFilterTypedLink = a})++-- | The maximum number of results to retrieve.+blitlsMaxResults :: Lens' BatchListIncomingTypedLinks (Maybe Natural)+blitlsMaxResults = lens _blitlsMaxResults (\ s a -> s{_blitlsMaxResults = a}) . mapping _Nat++-- | The reference that identifies the object whose attributes will be listed.+blitlsObjectReference :: Lens' BatchListIncomingTypedLinks ObjectReference+blitlsObjectReference = lens _blitlsObjectReference (\ s a -> s{_blitlsObjectReference = a})++instance Hashable BatchListIncomingTypedLinks where++instance NFData BatchListIncomingTypedLinks where++instance ToJSON BatchListIncomingTypedLinks where+        toJSON BatchListIncomingTypedLinks'{..}+          = object+              (catMaybes+                 [("FilterAttributeRanges" .=) <$>+                    _blitlsFilterAttributeRanges,+                  ("NextToken" .=) <$> _blitlsNextToken,+                  ("FilterTypedLink" .=) <$> _blitlsFilterTypedLink,+                  ("MaxResults" .=) <$> _blitlsMaxResults,+                  Just ("ObjectReference" .= _blitlsObjectReference)])++-- | Represents the output of a 'ListIncomingTypedLinks' response operation.+--+--+--+-- /See:/ 'batchListIncomingTypedLinksResponse' smart constructor.+data BatchListIncomingTypedLinksResponse = BatchListIncomingTypedLinksResponse'+  { _blitlLinkSpecifiers :: !(Maybe [TypedLinkSpecifier])+  , _blitlNextToken      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListIncomingTypedLinksResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blitlLinkSpecifiers' - Returns one or more typed link specifiers as output.+--+-- * 'blitlNextToken' - The pagination token.+batchListIncomingTypedLinksResponse+    :: BatchListIncomingTypedLinksResponse+batchListIncomingTypedLinksResponse =+  BatchListIncomingTypedLinksResponse'+    {_blitlLinkSpecifiers = Nothing, _blitlNextToken = Nothing}+++-- | Returns one or more typed link specifiers as output.+blitlLinkSpecifiers :: Lens' BatchListIncomingTypedLinksResponse [TypedLinkSpecifier]+blitlLinkSpecifiers = lens _blitlLinkSpecifiers (\ s a -> s{_blitlLinkSpecifiers = a}) . _Default . _Coerce++-- | The pagination token.+blitlNextToken :: Lens' BatchListIncomingTypedLinksResponse (Maybe Text)+blitlNextToken = lens _blitlNextToken (\ s a -> s{_blitlNextToken = a})++instance FromJSON BatchListIncomingTypedLinksResponse+         where+        parseJSON+          = withObject "BatchListIncomingTypedLinksResponse"+              (\ x ->+                 BatchListIncomingTypedLinksResponse' <$>+                   (x .:? "LinkSpecifiers" .!= mempty) <*>+                     (x .:? "NextToken"))++instance Hashable BatchListIncomingTypedLinksResponse+         where++instance NFData BatchListIncomingTypedLinksResponse+         where++-- | Lists objects attached to the specified index inside a 'BatchRead' operation. For more information, see 'ListIndex' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchListIndex' smart constructor.+data BatchListIndex = BatchListIndex'+  { _batRangesOnIndexedValues :: !(Maybe [ObjectAttributeRange])+  , _batNextToken             :: !(Maybe Text)+  , _batMaxResults            :: !(Maybe Nat)+  , _batIndexReference        :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListIndex' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'batRangesOnIndexedValues' - Specifies the ranges of indexed values that you want to query.+--+-- * 'batNextToken' - The pagination token.+--+-- * 'batMaxResults' - The maximum number of results to retrieve.+--+-- * 'batIndexReference' - The reference to the index to list.+batchListIndex+    :: ObjectReference -- ^ 'batIndexReference'+    -> BatchListIndex+batchListIndex pIndexReference_ =+  BatchListIndex'+    { _batRangesOnIndexedValues = Nothing+    , _batNextToken = Nothing+    , _batMaxResults = Nothing+    , _batIndexReference = pIndexReference_+    }+++-- | Specifies the ranges of indexed values that you want to query.+batRangesOnIndexedValues :: Lens' BatchListIndex [ObjectAttributeRange]+batRangesOnIndexedValues = lens _batRangesOnIndexedValues (\ s a -> s{_batRangesOnIndexedValues = a}) . _Default . _Coerce++-- | The pagination token.+batNextToken :: Lens' BatchListIndex (Maybe Text)+batNextToken = lens _batNextToken (\ s a -> s{_batNextToken = a})++-- | The maximum number of results to retrieve.+batMaxResults :: Lens' BatchListIndex (Maybe Natural)+batMaxResults = lens _batMaxResults (\ s a -> s{_batMaxResults = a}) . mapping _Nat++-- | The reference to the index to list.+batIndexReference :: Lens' BatchListIndex ObjectReference+batIndexReference = lens _batIndexReference (\ s a -> s{_batIndexReference = a})++instance Hashable BatchListIndex where++instance NFData BatchListIndex where++instance ToJSON BatchListIndex where+        toJSON BatchListIndex'{..}+          = object+              (catMaybes+                 [("RangesOnIndexedValues" .=) <$>+                    _batRangesOnIndexedValues,+                  ("NextToken" .=) <$> _batNextToken,+                  ("MaxResults" .=) <$> _batMaxResults,+                  Just ("IndexReference" .= _batIndexReference)])++-- | Represents the output of a 'ListIndex' response operation.+--+--+--+-- /See:/ 'batchListIndexResponse' smart constructor.+data BatchListIndexResponse = BatchListIndexResponse'+  { _bliIndexAttachments :: !(Maybe [IndexAttachment])+  , _bliNextToken        :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListIndexResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bliIndexAttachments' - The objects and indexed values attached to the index.+--+-- * 'bliNextToken' - The pagination token.+batchListIndexResponse+    :: BatchListIndexResponse+batchListIndexResponse =+  BatchListIndexResponse'+    {_bliIndexAttachments = Nothing, _bliNextToken = Nothing}+++-- | The objects and indexed values attached to the index.+bliIndexAttachments :: Lens' BatchListIndexResponse [IndexAttachment]+bliIndexAttachments = lens _bliIndexAttachments (\ s a -> s{_bliIndexAttachments = a}) . _Default . _Coerce++-- | The pagination token.+bliNextToken :: Lens' BatchListIndexResponse (Maybe Text)+bliNextToken = lens _bliNextToken (\ s a -> s{_bliNextToken = a})++instance FromJSON BatchListIndexResponse where+        parseJSON+          = withObject "BatchListIndexResponse"+              (\ x ->+                 BatchListIndexResponse' <$>+                   (x .:? "IndexAttachments" .!= mempty) <*>+                     (x .:? "NextToken"))++instance Hashable BatchListIndexResponse where++instance NFData BatchListIndexResponse where++-- | Represents the output of a 'ListObjectAttributes' operation.+--+--+--+-- /See:/ 'batchListObjectAttributes' smart constructor.+data BatchListObjectAttributes = BatchListObjectAttributes'+  { _bloaFacetFilter     :: !(Maybe SchemaFacet)+  , _bloaNextToken       :: !(Maybe Text)+  , _bloaMaxResults      :: !(Maybe Nat)+  , _bloaObjectReference :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListObjectAttributes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bloaFacetFilter' - Used to filter the list of object attributes that are associated with a certain facet.+--+-- * 'bloaNextToken' - The pagination token.+--+-- * 'bloaMaxResults' - The maximum number of items to be retrieved in a single call. This is an approximate number.+--+-- * 'bloaObjectReference' - Reference of the object whose attributes need to be listed.+batchListObjectAttributes+    :: ObjectReference -- ^ 'bloaObjectReference'+    -> BatchListObjectAttributes+batchListObjectAttributes pObjectReference_ =+  BatchListObjectAttributes'+    { _bloaFacetFilter = Nothing+    , _bloaNextToken = Nothing+    , _bloaMaxResults = Nothing+    , _bloaObjectReference = pObjectReference_+    }+++-- | Used to filter the list of object attributes that are associated with a certain facet.+bloaFacetFilter :: Lens' BatchListObjectAttributes (Maybe SchemaFacet)+bloaFacetFilter = lens _bloaFacetFilter (\ s a -> s{_bloaFacetFilter = a})++-- | The pagination token.+bloaNextToken :: Lens' BatchListObjectAttributes (Maybe Text)+bloaNextToken = lens _bloaNextToken (\ s a -> s{_bloaNextToken = a})++-- | The maximum number of items to be retrieved in a single call. This is an approximate number.+bloaMaxResults :: Lens' BatchListObjectAttributes (Maybe Natural)+bloaMaxResults = lens _bloaMaxResults (\ s a -> s{_bloaMaxResults = a}) . mapping _Nat++-- | Reference of the object whose attributes need to be listed.+bloaObjectReference :: Lens' BatchListObjectAttributes ObjectReference+bloaObjectReference = lens _bloaObjectReference (\ s a -> s{_bloaObjectReference = a})++instance Hashable BatchListObjectAttributes where++instance NFData BatchListObjectAttributes where++instance ToJSON BatchListObjectAttributes where+        toJSON BatchListObjectAttributes'{..}+          = object+              (catMaybes+                 [("FacetFilter" .=) <$> _bloaFacetFilter,+                  ("NextToken" .=) <$> _bloaNextToken,+                  ("MaxResults" .=) <$> _bloaMaxResults,+                  Just ("ObjectReference" .= _bloaObjectReference)])++-- | Represents the output of a 'ListObjectAttributes' response operation.+--+--+--+-- /See:/ 'batchListObjectAttributesResponse' smart constructor.+data BatchListObjectAttributesResponse = BatchListObjectAttributesResponse'+  { _bNextToken  :: !(Maybe Text)+  , _bAttributes :: !(Maybe [AttributeKeyAndValue])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListObjectAttributesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bNextToken' - The pagination token.+--+-- * 'bAttributes' - The attributes map that is associated with the object. @AttributeArn@ is the key; attribute value is the value.+batchListObjectAttributesResponse+    :: BatchListObjectAttributesResponse+batchListObjectAttributesResponse =+  BatchListObjectAttributesResponse'+    {_bNextToken = Nothing, _bAttributes = Nothing}+++-- | The pagination token.+bNextToken :: Lens' BatchListObjectAttributesResponse (Maybe Text)+bNextToken = lens _bNextToken (\ s a -> s{_bNextToken = a})++-- | The attributes map that is associated with the object. @AttributeArn@ is the key; attribute value is the value.+bAttributes :: Lens' BatchListObjectAttributesResponse [AttributeKeyAndValue]+bAttributes = lens _bAttributes (\ s a -> s{_bAttributes = a}) . _Default . _Coerce++instance FromJSON BatchListObjectAttributesResponse+         where+        parseJSON+          = withObject "BatchListObjectAttributesResponse"+              (\ x ->+                 BatchListObjectAttributesResponse' <$>+                   (x .:? "NextToken") <*>+                     (x .:? "Attributes" .!= mempty))++instance Hashable BatchListObjectAttributesResponse+         where++instance NFData BatchListObjectAttributesResponse+         where++-- | Represents the output of a 'ListObjectChildren' operation.+--+--+--+-- /See:/ 'batchListObjectChildren' smart constructor.+data BatchListObjectChildren = BatchListObjectChildren'+  { _bloclNextToken       :: !(Maybe Text)+  , _bloclMaxResults      :: !(Maybe Nat)+  , _bloclObjectReference :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListObjectChildren' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bloclNextToken' - The pagination token.+--+-- * 'bloclMaxResults' - Maximum number of items to be retrieved in a single call. This is an approximate number.+--+-- * 'bloclObjectReference' - Reference of the object for which child objects are being listed.+batchListObjectChildren+    :: ObjectReference -- ^ 'bloclObjectReference'+    -> BatchListObjectChildren+batchListObjectChildren pObjectReference_ =+  BatchListObjectChildren'+    { _bloclNextToken = Nothing+    , _bloclMaxResults = Nothing+    , _bloclObjectReference = pObjectReference_+    }+++-- | The pagination token.+bloclNextToken :: Lens' BatchListObjectChildren (Maybe Text)+bloclNextToken = lens _bloclNextToken (\ s a -> s{_bloclNextToken = a})++-- | Maximum number of items to be retrieved in a single call. This is an approximate number.+bloclMaxResults :: Lens' BatchListObjectChildren (Maybe Natural)+bloclMaxResults = lens _bloclMaxResults (\ s a -> s{_bloclMaxResults = a}) . mapping _Nat++-- | Reference of the object for which child objects are being listed.+bloclObjectReference :: Lens' BatchListObjectChildren ObjectReference+bloclObjectReference = lens _bloclObjectReference (\ s a -> s{_bloclObjectReference = a})++instance Hashable BatchListObjectChildren where++instance NFData BatchListObjectChildren where++instance ToJSON BatchListObjectChildren where+        toJSON BatchListObjectChildren'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _bloclNextToken,+                  ("MaxResults" .=) <$> _bloclMaxResults,+                  Just ("ObjectReference" .= _bloclObjectReference)])++-- | Represents the output of a 'ListObjectChildren' response operation.+--+--+--+-- /See:/ 'batchListObjectChildrenResponse' smart constructor.+data BatchListObjectChildrenResponse = BatchListObjectChildrenResponse'+  { _blocChildren  :: !(Maybe (Map Text Text))+  , _blocNextToken :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListObjectChildrenResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blocChildren' - The children structure, which is a map with the key as the @LinkName@ and @ObjectIdentifier@ as the value.+--+-- * 'blocNextToken' - The pagination token.+batchListObjectChildrenResponse+    :: BatchListObjectChildrenResponse+batchListObjectChildrenResponse =+  BatchListObjectChildrenResponse'+    {_blocChildren = Nothing, _blocNextToken = Nothing}+++-- | The children structure, which is a map with the key as the @LinkName@ and @ObjectIdentifier@ as the value.+blocChildren :: Lens' BatchListObjectChildrenResponse (HashMap Text Text)+blocChildren = lens _blocChildren (\ s a -> s{_blocChildren = a}) . _Default . _Map++-- | The pagination token.+blocNextToken :: Lens' BatchListObjectChildrenResponse (Maybe Text)+blocNextToken = lens _blocNextToken (\ s a -> s{_blocNextToken = a})++instance FromJSON BatchListObjectChildrenResponse+         where+        parseJSON+          = withObject "BatchListObjectChildrenResponse"+              (\ x ->+                 BatchListObjectChildrenResponse' <$>+                   (x .:? "Children" .!= mempty) <*>+                     (x .:? "NextToken"))++instance Hashable BatchListObjectChildrenResponse+         where++instance NFData BatchListObjectChildrenResponse where++-- | Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects inside a 'BatchRead' operation. For more information, see 'ListObjectParentPaths' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchListObjectParentPaths' smart constructor.+data BatchListObjectParentPaths = BatchListObjectParentPaths'+  { _bloppsNextToken       :: !(Maybe Text)+  , _bloppsMaxResults      :: !(Maybe Nat)+  , _bloppsObjectReference :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListObjectParentPaths' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bloppsNextToken' - The pagination token.+--+-- * 'bloppsMaxResults' - The maximum number of results to retrieve.+--+-- * 'bloppsObjectReference' - The reference that identifies the object whose attributes will be listed.+batchListObjectParentPaths+    :: ObjectReference -- ^ 'bloppsObjectReference'+    -> BatchListObjectParentPaths+batchListObjectParentPaths pObjectReference_ =+  BatchListObjectParentPaths'+    { _bloppsNextToken = Nothing+    , _bloppsMaxResults = Nothing+    , _bloppsObjectReference = pObjectReference_+    }+++-- | The pagination token.+bloppsNextToken :: Lens' BatchListObjectParentPaths (Maybe Text)+bloppsNextToken = lens _bloppsNextToken (\ s a -> s{_bloppsNextToken = a})++-- | The maximum number of results to retrieve.+bloppsMaxResults :: Lens' BatchListObjectParentPaths (Maybe Natural)+bloppsMaxResults = lens _bloppsMaxResults (\ s a -> s{_bloppsMaxResults = a}) . mapping _Nat++-- | The reference that identifies the object whose attributes will be listed.+bloppsObjectReference :: Lens' BatchListObjectParentPaths ObjectReference+bloppsObjectReference = lens _bloppsObjectReference (\ s a -> s{_bloppsObjectReference = a})++instance Hashable BatchListObjectParentPaths where++instance NFData BatchListObjectParentPaths where++instance ToJSON BatchListObjectParentPaths where+        toJSON BatchListObjectParentPaths'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _bloppsNextToken,+                  ("MaxResults" .=) <$> _bloppsMaxResults,+                  Just ("ObjectReference" .= _bloppsObjectReference)])++-- | Represents the output of a 'ListObjectParentPaths' response operation.+--+--+--+-- /See:/ 'batchListObjectParentPathsResponse' smart constructor.+data BatchListObjectParentPathsResponse = BatchListObjectParentPathsResponse'+  { _bloppPathToObjectIdentifiersList :: !(Maybe [PathToObjectIdentifiers])+  , _bloppNextToken                   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListObjectParentPathsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bloppPathToObjectIdentifiersList' - Returns the path to the @ObjectIdentifiers@ that are associated with the directory.+--+-- * 'bloppNextToken' - The pagination token.+batchListObjectParentPathsResponse+    :: BatchListObjectParentPathsResponse+batchListObjectParentPathsResponse =+  BatchListObjectParentPathsResponse'+    {_bloppPathToObjectIdentifiersList = Nothing, _bloppNextToken = Nothing}+++-- | Returns the path to the @ObjectIdentifiers@ that are associated with the directory.+bloppPathToObjectIdentifiersList :: Lens' BatchListObjectParentPathsResponse [PathToObjectIdentifiers]+bloppPathToObjectIdentifiersList = lens _bloppPathToObjectIdentifiersList (\ s a -> s{_bloppPathToObjectIdentifiersList = a}) . _Default . _Coerce++-- | The pagination token.+bloppNextToken :: Lens' BatchListObjectParentPathsResponse (Maybe Text)+bloppNextToken = lens _bloppNextToken (\ s a -> s{_bloppNextToken = a})++instance FromJSON BatchListObjectParentPathsResponse+         where+        parseJSON+          = withObject "BatchListObjectParentPathsResponse"+              (\ x ->+                 BatchListObjectParentPathsResponse' <$>+                   (x .:? "PathToObjectIdentifiersList" .!= mempty) <*>+                     (x .:? "NextToken"))++instance Hashable BatchListObjectParentPathsResponse+         where++instance NFData BatchListObjectParentPathsResponse+         where++-- | Returns policies attached to an object in pagination fashion inside a 'BatchRead' operation. For more information, see 'ListObjectPolicies' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchListObjectPolicies' smart constructor.+data BatchListObjectPolicies = BatchListObjectPolicies'+  { _blopsNextToken       :: !(Maybe Text)+  , _blopsMaxResults      :: !(Maybe Nat)+  , _blopsObjectReference :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListObjectPolicies' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blopsNextToken' - The pagination token.+--+-- * 'blopsMaxResults' - The maximum number of results to retrieve.+--+-- * 'blopsObjectReference' - The reference that identifies the object whose attributes will be listed.+batchListObjectPolicies+    :: ObjectReference -- ^ 'blopsObjectReference'+    -> BatchListObjectPolicies+batchListObjectPolicies pObjectReference_ =+  BatchListObjectPolicies'+    { _blopsNextToken = Nothing+    , _blopsMaxResults = Nothing+    , _blopsObjectReference = pObjectReference_+    }+++-- | The pagination token.+blopsNextToken :: Lens' BatchListObjectPolicies (Maybe Text)+blopsNextToken = lens _blopsNextToken (\ s a -> s{_blopsNextToken = a})++-- | The maximum number of results to retrieve.+blopsMaxResults :: Lens' BatchListObjectPolicies (Maybe Natural)+blopsMaxResults = lens _blopsMaxResults (\ s a -> s{_blopsMaxResults = a}) . mapping _Nat++-- | The reference that identifies the object whose attributes will be listed.+blopsObjectReference :: Lens' BatchListObjectPolicies ObjectReference+blopsObjectReference = lens _blopsObjectReference (\ s a -> s{_blopsObjectReference = a})++instance Hashable BatchListObjectPolicies where++instance NFData BatchListObjectPolicies where++instance ToJSON BatchListObjectPolicies where+        toJSON BatchListObjectPolicies'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _blopsNextToken,+                  ("MaxResults" .=) <$> _blopsMaxResults,+                  Just ("ObjectReference" .= _blopsObjectReference)])++-- | Represents the output of a 'ListObjectPolicies' response operation.+--+--+--+-- /See:/ 'batchListObjectPoliciesResponse' smart constructor.+data BatchListObjectPoliciesResponse = BatchListObjectPoliciesResponse'+  { _blopNextToken         :: !(Maybe Text)+  , _blopAttachedPolicyIds :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListObjectPoliciesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blopNextToken' - The pagination token.+--+-- * 'blopAttachedPolicyIds' - A list of policy @ObjectIdentifiers@ , that are attached to the object.+batchListObjectPoliciesResponse+    :: BatchListObjectPoliciesResponse+batchListObjectPoliciesResponse =+  BatchListObjectPoliciesResponse'+    {_blopNextToken = Nothing, _blopAttachedPolicyIds = Nothing}+++-- | The pagination token.+blopNextToken :: Lens' BatchListObjectPoliciesResponse (Maybe Text)+blopNextToken = lens _blopNextToken (\ s a -> s{_blopNextToken = a})++-- | A list of policy @ObjectIdentifiers@ , that are attached to the object.+blopAttachedPolicyIds :: Lens' BatchListObjectPoliciesResponse [Text]+blopAttachedPolicyIds = lens _blopAttachedPolicyIds (\ s a -> s{_blopAttachedPolicyIds = a}) . _Default . _Coerce++instance FromJSON BatchListObjectPoliciesResponse+         where+        parseJSON+          = withObject "BatchListObjectPoliciesResponse"+              (\ x ->+                 BatchListObjectPoliciesResponse' <$>+                   (x .:? "NextToken") <*>+                     (x .:? "AttachedPolicyIds" .!= mempty))++instance Hashable BatchListObjectPoliciesResponse+         where++instance NFData BatchListObjectPoliciesResponse where++-- | Returns a paginated list of all the outgoing 'TypedLinkSpecifier' information for an object inside a 'BatchRead' operation. For more information, see 'ListOutgoingTypedLinks' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchListOutgoingTypedLinks' smart constructor.+data BatchListOutgoingTypedLinks = BatchListOutgoingTypedLinks'+  { _blotlsFilterAttributeRanges :: !(Maybe [TypedLinkAttributeRange])+  , _blotlsNextToken             :: !(Maybe Text)+  , _blotlsFilterTypedLink       :: !(Maybe TypedLinkSchemaAndFacetName)+  , _blotlsMaxResults            :: !(Maybe Nat)+  , _blotlsObjectReference       :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListOutgoingTypedLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blotlsFilterAttributeRanges' - Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.+--+-- * 'blotlsNextToken' - The pagination token.+--+-- * 'blotlsFilterTypedLink' - Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.+--+-- * 'blotlsMaxResults' - The maximum number of results to retrieve.+--+-- * 'blotlsObjectReference' - The reference that identifies the object whose attributes will be listed.+batchListOutgoingTypedLinks+    :: ObjectReference -- ^ 'blotlsObjectReference'+    -> BatchListOutgoingTypedLinks+batchListOutgoingTypedLinks pObjectReference_ =+  BatchListOutgoingTypedLinks'+    { _blotlsFilterAttributeRanges = Nothing+    , _blotlsNextToken = Nothing+    , _blotlsFilterTypedLink = Nothing+    , _blotlsMaxResults = Nothing+    , _blotlsObjectReference = pObjectReference_+    }+++-- | Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.+blotlsFilterAttributeRanges :: Lens' BatchListOutgoingTypedLinks [TypedLinkAttributeRange]+blotlsFilterAttributeRanges = lens _blotlsFilterAttributeRanges (\ s a -> s{_blotlsFilterAttributeRanges = a}) . _Default . _Coerce++-- | The pagination token.+blotlsNextToken :: Lens' BatchListOutgoingTypedLinks (Maybe Text)+blotlsNextToken = lens _blotlsNextToken (\ s a -> s{_blotlsNextToken = a})++-- | Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.+blotlsFilterTypedLink :: Lens' BatchListOutgoingTypedLinks (Maybe TypedLinkSchemaAndFacetName)+blotlsFilterTypedLink = lens _blotlsFilterTypedLink (\ s a -> s{_blotlsFilterTypedLink = a})++-- | The maximum number of results to retrieve.+blotlsMaxResults :: Lens' BatchListOutgoingTypedLinks (Maybe Natural)+blotlsMaxResults = lens _blotlsMaxResults (\ s a -> s{_blotlsMaxResults = a}) . mapping _Nat++-- | The reference that identifies the object whose attributes will be listed.+blotlsObjectReference :: Lens' BatchListOutgoingTypedLinks ObjectReference+blotlsObjectReference = lens _blotlsObjectReference (\ s a -> s{_blotlsObjectReference = a})++instance Hashable BatchListOutgoingTypedLinks where++instance NFData BatchListOutgoingTypedLinks where++instance ToJSON BatchListOutgoingTypedLinks where+        toJSON BatchListOutgoingTypedLinks'{..}+          = object+              (catMaybes+                 [("FilterAttributeRanges" .=) <$>+                    _blotlsFilterAttributeRanges,+                  ("NextToken" .=) <$> _blotlsNextToken,+                  ("FilterTypedLink" .=) <$> _blotlsFilterTypedLink,+                  ("MaxResults" .=) <$> _blotlsMaxResults,+                  Just ("ObjectReference" .= _blotlsObjectReference)])++-- | Represents the output of a 'ListOutgoingTypedLinks' response operation.+--+--+--+-- /See:/ 'batchListOutgoingTypedLinksResponse' smart constructor.+data BatchListOutgoingTypedLinksResponse = BatchListOutgoingTypedLinksResponse'+  { _blotlTypedLinkSpecifiers :: !(Maybe [TypedLinkSpecifier])+  , _blotlNextToken           :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListOutgoingTypedLinksResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blotlTypedLinkSpecifiers' - Returns a typed link specifier as output.+--+-- * 'blotlNextToken' - The pagination token.+batchListOutgoingTypedLinksResponse+    :: BatchListOutgoingTypedLinksResponse+batchListOutgoingTypedLinksResponse =+  BatchListOutgoingTypedLinksResponse'+    {_blotlTypedLinkSpecifiers = Nothing, _blotlNextToken = Nothing}+++-- | Returns a typed link specifier as output.+blotlTypedLinkSpecifiers :: Lens' BatchListOutgoingTypedLinksResponse [TypedLinkSpecifier]+blotlTypedLinkSpecifiers = lens _blotlTypedLinkSpecifiers (\ s a -> s{_blotlTypedLinkSpecifiers = a}) . _Default . _Coerce++-- | The pagination token.+blotlNextToken :: Lens' BatchListOutgoingTypedLinksResponse (Maybe Text)+blotlNextToken = lens _blotlNextToken (\ s a -> s{_blotlNextToken = a})++instance FromJSON BatchListOutgoingTypedLinksResponse+         where+        parseJSON+          = withObject "BatchListOutgoingTypedLinksResponse"+              (\ x ->+                 BatchListOutgoingTypedLinksResponse' <$>+                   (x .:? "TypedLinkSpecifiers" .!= mempty) <*>+                     (x .:? "NextToken"))++instance Hashable BatchListOutgoingTypedLinksResponse+         where++instance NFData BatchListOutgoingTypedLinksResponse+         where++-- | Returns all of the @ObjectIdentifiers@ to which a given policy is attached inside a 'BatchRead' operation. For more information, see 'ListPolicyAttachments' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchListPolicyAttachments' smart constructor.+data BatchListPolicyAttachments = BatchListPolicyAttachments'+  { _blpasNextToken       :: !(Maybe Text)+  , _blpasMaxResults      :: !(Maybe Nat)+  , _blpasPolicyReference :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListPolicyAttachments' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blpasNextToken' - The pagination token.+--+-- * 'blpasMaxResults' - The maximum number of results to retrieve.+--+-- * 'blpasPolicyReference' - The reference that identifies the policy object.+batchListPolicyAttachments+    :: ObjectReference -- ^ 'blpasPolicyReference'+    -> BatchListPolicyAttachments+batchListPolicyAttachments pPolicyReference_ =+  BatchListPolicyAttachments'+    { _blpasNextToken = Nothing+    , _blpasMaxResults = Nothing+    , _blpasPolicyReference = pPolicyReference_+    }+++-- | The pagination token.+blpasNextToken :: Lens' BatchListPolicyAttachments (Maybe Text)+blpasNextToken = lens _blpasNextToken (\ s a -> s{_blpasNextToken = a})++-- | The maximum number of results to retrieve.+blpasMaxResults :: Lens' BatchListPolicyAttachments (Maybe Natural)+blpasMaxResults = lens _blpasMaxResults (\ s a -> s{_blpasMaxResults = a}) . mapping _Nat++-- | The reference that identifies the policy object.+blpasPolicyReference :: Lens' BatchListPolicyAttachments ObjectReference+blpasPolicyReference = lens _blpasPolicyReference (\ s a -> s{_blpasPolicyReference = a})++instance Hashable BatchListPolicyAttachments where++instance NFData BatchListPolicyAttachments where++instance ToJSON BatchListPolicyAttachments where+        toJSON BatchListPolicyAttachments'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _blpasNextToken,+                  ("MaxResults" .=) <$> _blpasMaxResults,+                  Just ("PolicyReference" .= _blpasPolicyReference)])++-- | Represents the output of a 'ListPolicyAttachments' response operation.+--+--+--+-- /See:/ 'batchListPolicyAttachmentsResponse' smart constructor.+data BatchListPolicyAttachmentsResponse = BatchListPolicyAttachmentsResponse'+  { _blpaObjectIdentifiers :: !(Maybe [Text])+  , _blpaNextToken         :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchListPolicyAttachmentsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blpaObjectIdentifiers' - A list of @ObjectIdentifiers@ to which the policy is attached.+--+-- * 'blpaNextToken' - The pagination token.+batchListPolicyAttachmentsResponse+    :: BatchListPolicyAttachmentsResponse+batchListPolicyAttachmentsResponse =+  BatchListPolicyAttachmentsResponse'+    {_blpaObjectIdentifiers = Nothing, _blpaNextToken = Nothing}+++-- | A list of @ObjectIdentifiers@ to which the policy is attached.+blpaObjectIdentifiers :: Lens' BatchListPolicyAttachmentsResponse [Text]+blpaObjectIdentifiers = lens _blpaObjectIdentifiers (\ s a -> s{_blpaObjectIdentifiers = a}) . _Default . _Coerce++-- | The pagination token.+blpaNextToken :: Lens' BatchListPolicyAttachmentsResponse (Maybe Text)+blpaNextToken = lens _blpaNextToken (\ s a -> s{_blpaNextToken = a})++instance FromJSON BatchListPolicyAttachmentsResponse+         where+        parseJSON+          = withObject "BatchListPolicyAttachmentsResponse"+              (\ x ->+                 BatchListPolicyAttachmentsResponse' <$>+                   (x .:? "ObjectIdentifiers" .!= mempty) <*>+                     (x .:? "NextToken"))++instance Hashable BatchListPolicyAttachmentsResponse+         where++instance NFData BatchListPolicyAttachmentsResponse+         where++-- | Lists all policies from the root of the Directory to the object specified inside a 'BatchRead' operation. For more information, see 'LookupPolicy' and 'BatchReadRequest$Operations' .+--+--+--+-- /See:/ 'batchLookupPolicy' smart constructor.+data BatchLookupPolicy = BatchLookupPolicy'+  { _blplNextToken       :: !(Maybe Text)+  , _blplMaxResults      :: !(Maybe Nat)+  , _blplObjectReference :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchLookupPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blplNextToken' - The pagination token.+--+-- * 'blplMaxResults' - The maximum number of results to retrieve.+--+-- * 'blplObjectReference' - Reference that identifies the object whose policies will be looked up.+batchLookupPolicy+    :: ObjectReference -- ^ 'blplObjectReference'+    -> BatchLookupPolicy+batchLookupPolicy pObjectReference_ =+  BatchLookupPolicy'+    { _blplNextToken = Nothing+    , _blplMaxResults = Nothing+    , _blplObjectReference = pObjectReference_+    }+++-- | The pagination token.+blplNextToken :: Lens' BatchLookupPolicy (Maybe Text)+blplNextToken = lens _blplNextToken (\ s a -> s{_blplNextToken = a})++-- | The maximum number of results to retrieve.+blplMaxResults :: Lens' BatchLookupPolicy (Maybe Natural)+blplMaxResults = lens _blplMaxResults (\ s a -> s{_blplMaxResults = a}) . mapping _Nat++-- | Reference that identifies the object whose policies will be looked up.+blplObjectReference :: Lens' BatchLookupPolicy ObjectReference+blplObjectReference = lens _blplObjectReference (\ s a -> s{_blplObjectReference = a})++instance Hashable BatchLookupPolicy where++instance NFData BatchLookupPolicy where++instance ToJSON BatchLookupPolicy where+        toJSON BatchLookupPolicy'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _blplNextToken,+                  ("MaxResults" .=) <$> _blplMaxResults,+                  Just ("ObjectReference" .= _blplObjectReference)])++-- | Represents the output of a 'LookupPolicy' response operation.+--+--+--+-- /See:/ 'batchLookupPolicyResponse' smart constructor.+data BatchLookupPolicyResponse = BatchLookupPolicyResponse'+  { _blpNextToken        :: !(Maybe Text)+  , _blpPolicyToPathList :: !(Maybe [PolicyToPath])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchLookupPolicyResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blpNextToken' - The pagination token.+--+-- * 'blpPolicyToPathList' - Provides list of path to policies. Policies contain @PolicyId@ , @ObjectIdentifier@ , and @PolicyType@ . For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .+batchLookupPolicyResponse+    :: BatchLookupPolicyResponse+batchLookupPolicyResponse =+  BatchLookupPolicyResponse'+    {_blpNextToken = Nothing, _blpPolicyToPathList = Nothing}+++-- | The pagination token.+blpNextToken :: Lens' BatchLookupPolicyResponse (Maybe Text)+blpNextToken = lens _blpNextToken (\ s a -> s{_blpNextToken = a})++-- | Provides list of path to policies. Policies contain @PolicyId@ , @ObjectIdentifier@ , and @PolicyType@ . For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .+blpPolicyToPathList :: Lens' BatchLookupPolicyResponse [PolicyToPath]+blpPolicyToPathList = lens _blpPolicyToPathList (\ s a -> s{_blpPolicyToPathList = a}) . _Default . _Coerce++instance FromJSON BatchLookupPolicyResponse where+        parseJSON+          = withObject "BatchLookupPolicyResponse"+              (\ x ->+                 BatchLookupPolicyResponse' <$>+                   (x .:? "NextToken") <*>+                     (x .:? "PolicyToPathList" .!= mempty))++instance Hashable BatchLookupPolicyResponse where++instance NFData BatchLookupPolicyResponse where++-- | The batch read exception structure, which contains the exception type and message.+--+--+--+-- /See:/ 'batchReadException' smart constructor.+data BatchReadException = BatchReadException'+  { _breType    :: !(Maybe BatchReadExceptionType)+  , _breMessage :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchReadException' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'breType' - A type of exception, such as @InvalidArnException@ .+--+-- * 'breMessage' - An exception message that is associated with the failure.+batchReadException+    :: BatchReadException+batchReadException =+  BatchReadException' {_breType = Nothing, _breMessage = Nothing}+++-- | A type of exception, such as @InvalidArnException@ .+breType :: Lens' BatchReadException (Maybe BatchReadExceptionType)+breType = lens _breType (\ s a -> s{_breType = a})++-- | An exception message that is associated with the failure.+breMessage :: Lens' BatchReadException (Maybe Text)+breMessage = lens _breMessage (\ s a -> s{_breMessage = a})++instance FromJSON BatchReadException where+        parseJSON+          = withObject "BatchReadException"+              (\ x ->+                 BatchReadException' <$>+                   (x .:? "Type") <*> (x .:? "Message"))++instance Hashable BatchReadException where++instance NFData BatchReadException where++-- | Represents the output of a @BatchRead@ operation.+--+--+--+-- /See:/ 'batchReadOperation' smart constructor.+data BatchReadOperation = BatchReadOperation'+  { _broListIndex              :: !(Maybe BatchListIndex)+  , _broGetObjectInformation   :: !(Maybe BatchGetObjectInformation)+  , _broListAttachedIndices    :: !(Maybe BatchListAttachedIndices)+  , _broLookupPolicy           :: !(Maybe BatchLookupPolicy)+  , _broListObjectParentPaths  :: !(Maybe BatchListObjectParentPaths)+  , _broListObjectAttributes   :: !(Maybe BatchListObjectAttributes)+  , _broListIncomingTypedLinks :: !(Maybe BatchListIncomingTypedLinks)+  , _broGetObjectAttributes    :: !(Maybe BatchGetObjectAttributes)+  , _broListObjectChildren     :: !(Maybe BatchListObjectChildren)+  , _broListPolicyAttachments  :: !(Maybe BatchListPolicyAttachments)+  , _broListOutgoingTypedLinks :: !(Maybe BatchListOutgoingTypedLinks)+  , _broListObjectPolicies     :: !(Maybe BatchListObjectPolicies)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchReadOperation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'broListIndex' - Lists objects attached to the specified index.+--+-- * 'broGetObjectInformation' - Retrieves metadata about an object.+--+-- * 'broListAttachedIndices' - Lists indices attached to an object.+--+-- * 'broLookupPolicy' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .+--+-- * 'broListObjectParentPaths' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#dirstructure Directory Structure> .+--+-- * 'broListObjectAttributes' - Lists all attributes that are associated with an object.+--+-- * 'broListIncomingTypedLinks' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+--+-- * 'broGetObjectAttributes' - Retrieves attributes within a facet that are associated with an object.+--+-- * 'broListObjectChildren' - Returns a paginated list of child objects that are associated with a given object.+--+-- * 'broListPolicyAttachments' - Returns all of the @ObjectIdentifiers@ to which a given policy is attached.+--+-- * 'broListOutgoingTypedLinks' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+--+-- * 'broListObjectPolicies' - Returns policies attached to an object in pagination fashion.+batchReadOperation+    :: BatchReadOperation+batchReadOperation =+  BatchReadOperation'+    { _broListIndex = Nothing+    , _broGetObjectInformation = Nothing+    , _broListAttachedIndices = Nothing+    , _broLookupPolicy = Nothing+    , _broListObjectParentPaths = Nothing+    , _broListObjectAttributes = Nothing+    , _broListIncomingTypedLinks = Nothing+    , _broGetObjectAttributes = Nothing+    , _broListObjectChildren = Nothing+    , _broListPolicyAttachments = Nothing+    , _broListOutgoingTypedLinks = Nothing+    , _broListObjectPolicies = Nothing+    }+++-- | Lists objects attached to the specified index.+broListIndex :: Lens' BatchReadOperation (Maybe BatchListIndex)+broListIndex = lens _broListIndex (\ s a -> s{_broListIndex = a})++-- | Retrieves metadata about an object.+broGetObjectInformation :: Lens' BatchReadOperation (Maybe BatchGetObjectInformation)+broGetObjectInformation = lens _broGetObjectInformation (\ s a -> s{_broGetObjectInformation = a})++-- | Lists indices attached to an object.+broListAttachedIndices :: Lens' BatchReadOperation (Maybe BatchListAttachedIndices)+broListAttachedIndices = lens _broListAttachedIndices (\ s a -> s{_broListAttachedIndices = a})++-- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .+broLookupPolicy :: Lens' BatchReadOperation (Maybe BatchLookupPolicy)+broLookupPolicy = lens _broLookupPolicy (\ s a -> s{_broLookupPolicy = a})++-- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#dirstructure Directory Structure> .+broListObjectParentPaths :: Lens' BatchReadOperation (Maybe BatchListObjectParentPaths)+broListObjectParentPaths = lens _broListObjectParentPaths (\ s a -> s{_broListObjectParentPaths = a})++-- | Lists all attributes that are associated with an object.+broListObjectAttributes :: Lens' BatchReadOperation (Maybe BatchListObjectAttributes)+broListObjectAttributes = lens _broListObjectAttributes (\ s a -> s{_broListObjectAttributes = a})++-- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+broListIncomingTypedLinks :: Lens' BatchReadOperation (Maybe BatchListIncomingTypedLinks)+broListIncomingTypedLinks = lens _broListIncomingTypedLinks (\ s a -> s{_broListIncomingTypedLinks = a})++-- | Retrieves attributes within a facet that are associated with an object.+broGetObjectAttributes :: Lens' BatchReadOperation (Maybe BatchGetObjectAttributes)+broGetObjectAttributes = lens _broGetObjectAttributes (\ s a -> s{_broGetObjectAttributes = a})++-- | Returns a paginated list of child objects that are associated with a given object.+broListObjectChildren :: Lens' BatchReadOperation (Maybe BatchListObjectChildren)+broListObjectChildren = lens _broListObjectChildren (\ s a -> s{_broListObjectChildren = a})++-- | Returns all of the @ObjectIdentifiers@ to which a given policy is attached.+broListPolicyAttachments :: Lens' BatchReadOperation (Maybe BatchListPolicyAttachments)+broListPolicyAttachments = lens _broListPolicyAttachments (\ s a -> s{_broListPolicyAttachments = a})++-- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+broListOutgoingTypedLinks :: Lens' BatchReadOperation (Maybe BatchListOutgoingTypedLinks)+broListOutgoingTypedLinks = lens _broListOutgoingTypedLinks (\ s a -> s{_broListOutgoingTypedLinks = a})++-- | Returns policies attached to an object in pagination fashion.+broListObjectPolicies :: Lens' BatchReadOperation (Maybe BatchListObjectPolicies)+broListObjectPolicies = lens _broListObjectPolicies (\ s a -> s{_broListObjectPolicies = a})++instance Hashable BatchReadOperation where++instance NFData BatchReadOperation where++instance ToJSON BatchReadOperation where+        toJSON BatchReadOperation'{..}+          = object+              (catMaybes+                 [("ListIndex" .=) <$> _broListIndex,+                  ("GetObjectInformation" .=) <$>+                    _broGetObjectInformation,+                  ("ListAttachedIndices" .=) <$>+                    _broListAttachedIndices,+                  ("LookupPolicy" .=) <$> _broLookupPolicy,+                  ("ListObjectParentPaths" .=) <$>+                    _broListObjectParentPaths,+                  ("ListObjectAttributes" .=) <$>+                    _broListObjectAttributes,+                  ("ListIncomingTypedLinks" .=) <$>+                    _broListIncomingTypedLinks,+                  ("GetObjectAttributes" .=) <$>+                    _broGetObjectAttributes,+                  ("ListObjectChildren" .=) <$> _broListObjectChildren,+                  ("ListPolicyAttachments" .=) <$>+                    _broListPolicyAttachments,+                  ("ListOutgoingTypedLinks" .=) <$>+                    _broListOutgoingTypedLinks,+                  ("ListObjectPolicies" .=) <$>+                    _broListObjectPolicies])++-- | Represents the output of a @BatchRead@ response operation.+--+--+--+-- /See:/ 'batchReadOperationResponse' smart constructor.+data BatchReadOperationResponse = BatchReadOperationResponse'+  { _broExceptionResponse  :: !(Maybe BatchReadException)+  , _broSuccessfulResponse :: !(Maybe BatchReadSuccessfulResponse)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchReadOperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'broExceptionResponse' - Identifies which operation in a batch has failed.+--+-- * 'broSuccessfulResponse' - Identifies which operation in a batch has succeeded.+batchReadOperationResponse+    :: BatchReadOperationResponse+batchReadOperationResponse =+  BatchReadOperationResponse'+    {_broExceptionResponse = Nothing, _broSuccessfulResponse = Nothing}+++-- | Identifies which operation in a batch has failed.+broExceptionResponse :: Lens' BatchReadOperationResponse (Maybe BatchReadException)+broExceptionResponse = lens _broExceptionResponse (\ s a -> s{_broExceptionResponse = a})++-- | Identifies which operation in a batch has succeeded.+broSuccessfulResponse :: Lens' BatchReadOperationResponse (Maybe BatchReadSuccessfulResponse)+broSuccessfulResponse = lens _broSuccessfulResponse (\ s a -> s{_broSuccessfulResponse = a})++instance FromJSON BatchReadOperationResponse where+        parseJSON+          = withObject "BatchReadOperationResponse"+              (\ x ->+                 BatchReadOperationResponse' <$>+                   (x .:? "ExceptionResponse") <*>+                     (x .:? "SuccessfulResponse"))++instance Hashable BatchReadOperationResponse where++instance NFData BatchReadOperationResponse where++-- | Represents the output of a @BatchRead@ success response operation.+--+--+--+-- /See:/ 'batchReadSuccessfulResponse' smart constructor.+data BatchReadSuccessfulResponse = BatchReadSuccessfulResponse'+  { _brsListIndex              :: !(Maybe BatchListIndexResponse)+  , _brsGetObjectInformation   :: !(Maybe BatchGetObjectInformationResponse)+  , _brsListAttachedIndices    :: !(Maybe BatchListAttachedIndicesResponse)+  , _brsLookupPolicy           :: !(Maybe BatchLookupPolicyResponse)+  , _brsListObjectParentPaths  :: !(Maybe BatchListObjectParentPathsResponse)+  , _brsListObjectAttributes   :: !(Maybe BatchListObjectAttributesResponse)+  , _brsListIncomingTypedLinks :: !(Maybe BatchListIncomingTypedLinksResponse)+  , _brsGetObjectAttributes    :: !(Maybe BatchGetObjectAttributesResponse)+  , _brsListObjectChildren     :: !(Maybe BatchListObjectChildrenResponse)+  , _brsListPolicyAttachments  :: !(Maybe BatchListPolicyAttachmentsResponse)+  , _brsListOutgoingTypedLinks :: !(Maybe BatchListOutgoingTypedLinksResponse)+  , _brsListObjectPolicies     :: !(Maybe BatchListObjectPoliciesResponse)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchReadSuccessfulResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'brsListIndex' - Lists objects attached to the specified index.+--+-- * 'brsGetObjectInformation' - Retrieves metadata about an object.+--+-- * 'brsListAttachedIndices' - Lists indices attached to an object.+--+-- * 'brsLookupPolicy' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .+--+-- * 'brsListObjectParentPaths' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#dirstructure Directory Structure> .+--+-- * 'brsListObjectAttributes' - Lists all attributes that are associated with an object.+--+-- * 'brsListIncomingTypedLinks' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+--+-- * 'brsGetObjectAttributes' - Retrieves attributes within a facet that are associated with an object.+--+-- * 'brsListObjectChildren' - Returns a paginated list of child objects that are associated with a given object.+--+-- * 'brsListPolicyAttachments' - Returns all of the @ObjectIdentifiers@ to which a given policy is attached.+--+-- * 'brsListOutgoingTypedLinks' - 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+--+-- * 'brsListObjectPolicies' - Returns policies attached to an object in pagination fashion.+batchReadSuccessfulResponse+    :: BatchReadSuccessfulResponse+batchReadSuccessfulResponse =+  BatchReadSuccessfulResponse'+    { _brsListIndex = Nothing+    , _brsGetObjectInformation = Nothing+    , _brsListAttachedIndices = Nothing+    , _brsLookupPolicy = Nothing+    , _brsListObjectParentPaths = Nothing+    , _brsListObjectAttributes = Nothing+    , _brsListIncomingTypedLinks = Nothing+    , _brsGetObjectAttributes = Nothing+    , _brsListObjectChildren = Nothing+    , _brsListPolicyAttachments = Nothing+    , _brsListOutgoingTypedLinks = Nothing+    , _brsListObjectPolicies = Nothing+    }+++-- | Lists objects attached to the specified index.+brsListIndex :: Lens' BatchReadSuccessfulResponse (Maybe BatchListIndexResponse)+brsListIndex = lens _brsListIndex (\ s a -> s{_brsListIndex = a})++-- | Retrieves metadata about an object.+brsGetObjectInformation :: Lens' BatchReadSuccessfulResponse (Maybe BatchGetObjectInformationResponse)+brsGetObjectInformation = lens _brsGetObjectInformation (\ s a -> s{_brsGetObjectInformation = a})++-- | Lists indices attached to an object.+brsListAttachedIndices :: Lens' BatchReadSuccessfulResponse (Maybe BatchListAttachedIndicesResponse)+brsListAttachedIndices = lens _brsListAttachedIndices (\ s a -> s{_brsListAttachedIndices = a})++-- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .+brsLookupPolicy :: Lens' BatchReadSuccessfulResponse (Maybe BatchLookupPolicyResponse)+brsLookupPolicy = lens _brsLookupPolicy (\ s a -> s{_brsLookupPolicy = a})++-- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#dirstructure Directory Structure> .+brsListObjectParentPaths :: Lens' BatchReadSuccessfulResponse (Maybe BatchListObjectParentPathsResponse)+brsListObjectParentPaths = lens _brsListObjectParentPaths (\ s a -> s{_brsListObjectParentPaths = a})++-- | Lists all attributes that are associated with an object.+brsListObjectAttributes :: Lens' BatchReadSuccessfulResponse (Maybe BatchListObjectAttributesResponse)+brsListObjectAttributes = lens _brsListObjectAttributes (\ s a -> s{_brsListObjectAttributes = a})++-- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+brsListIncomingTypedLinks :: Lens' BatchReadSuccessfulResponse (Maybe BatchListIncomingTypedLinksResponse)+brsListIncomingTypedLinks = lens _brsListIncomingTypedLinks (\ s a -> s{_brsListIncomingTypedLinks = a})++-- | Retrieves attributes within a facet that are associated with an object.+brsGetObjectAttributes :: Lens' BatchReadSuccessfulResponse (Maybe BatchGetObjectAttributesResponse)+brsGetObjectAttributes = lens _brsGetObjectAttributes (\ s a -> s{_brsGetObjectAttributes = a})++-- | Returns a paginated list of child objects that are associated with a given object.+brsListObjectChildren :: Lens' BatchReadSuccessfulResponse (Maybe BatchListObjectChildrenResponse)+brsListObjectChildren = lens _brsListObjectChildren (\ s a -> s{_brsListObjectChildren = a})++-- | Returns all of the @ObjectIdentifiers@ to which a given policy is attached.+brsListPolicyAttachments :: Lens' BatchReadSuccessfulResponse (Maybe BatchListPolicyAttachmentsResponse)+brsListPolicyAttachments = lens _brsListPolicyAttachments (\ s a -> s{_brsListPolicyAttachments = a})++-- | 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 <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+brsListOutgoingTypedLinks :: Lens' BatchReadSuccessfulResponse (Maybe BatchListOutgoingTypedLinksResponse)+brsListOutgoingTypedLinks = lens _brsListOutgoingTypedLinks (\ s a -> s{_brsListOutgoingTypedLinks = a})++-- | Returns policies attached to an object in pagination fashion.+brsListObjectPolicies :: Lens' BatchReadSuccessfulResponse (Maybe BatchListObjectPoliciesResponse)+brsListObjectPolicies = lens _brsListObjectPolicies (\ s a -> s{_brsListObjectPolicies = a})++instance FromJSON BatchReadSuccessfulResponse where+        parseJSON+          = withObject "BatchReadSuccessfulResponse"+              (\ x ->+                 BatchReadSuccessfulResponse' <$>+                   (x .:? "ListIndex") <*>+                     (x .:? "GetObjectInformation")+                     <*> (x .:? "ListAttachedIndices")+                     <*> (x .:? "LookupPolicy")+                     <*> (x .:? "ListObjectParentPaths")+                     <*> (x .:? "ListObjectAttributes")+                     <*> (x .:? "ListIncomingTypedLinks")+                     <*> (x .:? "GetObjectAttributes")+                     <*> (x .:? "ListObjectChildren")+                     <*> (x .:? "ListPolicyAttachments")+                     <*> (x .:? "ListOutgoingTypedLinks")+                     <*> (x .:? "ListObjectPolicies"))++instance Hashable BatchReadSuccessfulResponse where++instance NFData BatchReadSuccessfulResponse where++-- | A batch operation to remove a facet from an object.+--+--+--+-- /See:/ 'batchRemoveFacetFromObject' smart constructor.+data BatchRemoveFacetFromObject = BatchRemoveFacetFromObject'+  { _brffoSchemaFacet     :: !SchemaFacet+  , _brffoObjectReference :: !ObjectReference+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchRemoveFacetFromObject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'brffoSchemaFacet' - The facet to remove from the object.+--+-- * 'brffoObjectReference' - A reference to the object whose facet will be removed.+batchRemoveFacetFromObject+    :: SchemaFacet -- ^ 'brffoSchemaFacet'+    -> ObjectReference -- ^ 'brffoObjectReference'+    -> BatchRemoveFacetFromObject+batchRemoveFacetFromObject pSchemaFacet_ pObjectReference_ =+  BatchRemoveFacetFromObject'+    { _brffoSchemaFacet = pSchemaFacet_+    , _brffoObjectReference = pObjectReference_+    }+++-- | The facet to remove from the object.+brffoSchemaFacet :: Lens' BatchRemoveFacetFromObject SchemaFacet+brffoSchemaFacet = lens _brffoSchemaFacet (\ s a -> s{_brffoSchemaFacet = a})++-- | A reference to the object whose facet will be removed.+brffoObjectReference :: Lens' BatchRemoveFacetFromObject ObjectReference+brffoObjectReference = lens _brffoObjectReference (\ s a -> s{_brffoObjectReference = a})++instance Hashable BatchRemoveFacetFromObject where++instance NFData BatchRemoveFacetFromObject where++instance ToJSON BatchRemoveFacetFromObject where+        toJSON BatchRemoveFacetFromObject'{..}+          = object+              (catMaybes+                 [Just ("SchemaFacet" .= _brffoSchemaFacet),+                  Just ("ObjectReference" .= _brffoObjectReference)])++-- | An empty result that represents success.+--+--+--+-- /See:/ 'batchRemoveFacetFromObjectResponse' smart constructor.+data BatchRemoveFacetFromObjectResponse =+  BatchRemoveFacetFromObjectResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchRemoveFacetFromObjectResponse' with the minimum fields required to make a request.+--+batchRemoveFacetFromObjectResponse+    :: BatchRemoveFacetFromObjectResponse+batchRemoveFacetFromObjectResponse = BatchRemoveFacetFromObjectResponse'+++instance FromJSON BatchRemoveFacetFromObjectResponse+         where+        parseJSON+          = withObject "BatchRemoveFacetFromObjectResponse"+              (\ x -> pure BatchRemoveFacetFromObjectResponse')++instance Hashable BatchRemoveFacetFromObjectResponse+         where++instance NFData BatchRemoveFacetFromObjectResponse+         where++-- | Represents the output of a @BatchUpdate@ operation.+--+--+--+-- /See:/ 'batchUpdateObjectAttributes' smart constructor.+data BatchUpdateObjectAttributes = BatchUpdateObjectAttributes'+  { _buoaObjectReference  :: !ObjectReference+  , _buoaAttributeUpdates :: ![ObjectAttributeUpdate]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchUpdateObjectAttributes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'buoaObjectReference' - Reference that identifies the object.+--+-- * 'buoaAttributeUpdates' - Attributes update structure.+batchUpdateObjectAttributes+    :: ObjectReference -- ^ 'buoaObjectReference'+    -> BatchUpdateObjectAttributes+batchUpdateObjectAttributes pObjectReference_ =+  BatchUpdateObjectAttributes'+    {_buoaObjectReference = pObjectReference_, _buoaAttributeUpdates = mempty}+++-- | Reference that identifies the object.+buoaObjectReference :: Lens' BatchUpdateObjectAttributes ObjectReference+buoaObjectReference = lens _buoaObjectReference (\ s a -> s{_buoaObjectReference = a})++-- | Attributes update structure.+buoaAttributeUpdates :: Lens' BatchUpdateObjectAttributes [ObjectAttributeUpdate]+buoaAttributeUpdates = lens _buoaAttributeUpdates (\ s a -> s{_buoaAttributeUpdates = a}) . _Coerce++instance Hashable BatchUpdateObjectAttributes where++instance NFData BatchUpdateObjectAttributes where++instance ToJSON BatchUpdateObjectAttributes where+        toJSON BatchUpdateObjectAttributes'{..}+          = object+              (catMaybes+                 [Just ("ObjectReference" .= _buoaObjectReference),+                  Just ("AttributeUpdates" .= _buoaAttributeUpdates)])++-- | Represents the output of a @BatchUpdate@ response operation.+--+--+--+-- /See:/ 'batchUpdateObjectAttributesResponse' smart constructor.+newtype BatchUpdateObjectAttributesResponse = BatchUpdateObjectAttributesResponse'+  { _buoaObjectIdentifier :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchUpdateObjectAttributesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'buoaObjectIdentifier' - ID that is associated with the object.+batchUpdateObjectAttributesResponse+    :: BatchUpdateObjectAttributesResponse+batchUpdateObjectAttributesResponse =+  BatchUpdateObjectAttributesResponse' {_buoaObjectIdentifier = Nothing}+++-- | ID that is associated with the object.+buoaObjectIdentifier :: Lens' BatchUpdateObjectAttributesResponse (Maybe Text)+buoaObjectIdentifier = lens _buoaObjectIdentifier (\ s a -> s{_buoaObjectIdentifier = a})++instance FromJSON BatchUpdateObjectAttributesResponse+         where+        parseJSON+          = withObject "BatchUpdateObjectAttributesResponse"+              (\ x ->+                 BatchUpdateObjectAttributesResponse' <$>+                   (x .:? "ObjectIdentifier"))++instance Hashable BatchUpdateObjectAttributesResponse+         where++instance NFData BatchUpdateObjectAttributesResponse+         where++-- | Represents the output of a @BatchWrite@ operation.+--+--+--+-- /See:/ 'batchWriteOperation' smart constructor.+data BatchWriteOperation = BatchWriteOperation'+  { _bDeleteObject           :: !(Maybe BatchDeleteObject)+  , _bDetachFromIndex        :: !(Maybe BatchDetachFromIndex)+  , _bRemoveFacetFromObject  :: !(Maybe BatchRemoveFacetFromObject)+  , _bAttachObject           :: !(Maybe BatchAttachObject)+  , _bCreateObject           :: !(Maybe BatchCreateObject)+  , _bAttachTypedLink        :: !(Maybe BatchAttachTypedLink)+  , _bDetachPolicy           :: !(Maybe BatchDetachPolicy)+  , _bCreateIndex            :: !(Maybe BatchCreateIndex)+  , _bDetachObject           :: !(Maybe BatchDetachObject)+  , _bAddFacetToObject       :: !(Maybe BatchAddFacetToObject)+  , _bDetachTypedLink        :: !(Maybe BatchDetachTypedLink)+  , _bUpdateObjectAttributes :: !(Maybe BatchUpdateObjectAttributes)+  , _bAttachPolicy           :: !(Maybe BatchAttachPolicy)+  , _bAttachToIndex          :: !(Maybe BatchAttachToIndex)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchWriteOperation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bDeleteObject' - Deletes an object in a 'Directory' .+--+-- * 'bDetachFromIndex' - Detaches the specified object from the specified index.+--+-- * 'bRemoveFacetFromObject' - A batch operation that removes a facet from an object.+--+-- * 'bAttachObject' - Attaches an object to a 'Directory' .+--+-- * 'bCreateObject' - Creates an object.+--+-- * 'bAttachTypedLink' - Attaches a typed link to a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+--+-- * 'bDetachPolicy' - Detaches a policy from a 'Directory' .+--+-- * 'bCreateIndex' - Creates an index object. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html Indexing> for more information.+--+-- * 'bDetachObject' - Detaches an object from a 'Directory' .+--+-- * 'bAddFacetToObject' - A batch operation that adds a facet to an object.+--+-- * 'bDetachTypedLink' - Detaches a typed link from a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+--+-- * 'bUpdateObjectAttributes' - Updates a given object's attributes.+--+-- * 'bAttachPolicy' - Attaches a policy object to a regular object. An object can have a limited number of attached policies.+--+-- * 'bAttachToIndex' - Attaches the specified object to the specified index.+batchWriteOperation+    :: BatchWriteOperation+batchWriteOperation =+  BatchWriteOperation'+    { _bDeleteObject = Nothing+    , _bDetachFromIndex = Nothing+    , _bRemoveFacetFromObject = Nothing+    , _bAttachObject = Nothing+    , _bCreateObject = Nothing+    , _bAttachTypedLink = Nothing+    , _bDetachPolicy = Nothing+    , _bCreateIndex = Nothing+    , _bDetachObject = Nothing+    , _bAddFacetToObject = Nothing+    , _bDetachTypedLink = Nothing+    , _bUpdateObjectAttributes = Nothing+    , _bAttachPolicy = Nothing+    , _bAttachToIndex = Nothing+    }+++-- | Deletes an object in a 'Directory' .+bDeleteObject :: Lens' BatchWriteOperation (Maybe BatchDeleteObject)+bDeleteObject = lens _bDeleteObject (\ s a -> s{_bDeleteObject = a})++-- | Detaches the specified object from the specified index.+bDetachFromIndex :: Lens' BatchWriteOperation (Maybe BatchDetachFromIndex)+bDetachFromIndex = lens _bDetachFromIndex (\ s a -> s{_bDetachFromIndex = a})++-- | A batch operation that removes a facet from an object.+bRemoveFacetFromObject :: Lens' BatchWriteOperation (Maybe BatchRemoveFacetFromObject)+bRemoveFacetFromObject = lens _bRemoveFacetFromObject (\ s a -> s{_bRemoveFacetFromObject = a})++-- | Attaches an object to a 'Directory' .+bAttachObject :: Lens' BatchWriteOperation (Maybe BatchAttachObject)+bAttachObject = lens _bAttachObject (\ s a -> s{_bAttachObject = a})++-- | Creates an object.+bCreateObject :: Lens' BatchWriteOperation (Maybe BatchCreateObject)+bCreateObject = lens _bCreateObject (\ s a -> s{_bCreateObject = a})++-- | Attaches a typed link to a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+bAttachTypedLink :: Lens' BatchWriteOperation (Maybe BatchAttachTypedLink)+bAttachTypedLink = lens _bAttachTypedLink (\ s a -> s{_bAttachTypedLink = a})++-- | Detaches a policy from a 'Directory' .+bDetachPolicy :: Lens' BatchWriteOperation (Maybe BatchDetachPolicy)+bDetachPolicy = lens _bDetachPolicy (\ s a -> s{_bDetachPolicy = a})++-- | Creates an index object. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html Indexing> for more information.+bCreateIndex :: Lens' BatchWriteOperation (Maybe BatchCreateIndex)+bCreateIndex = lens _bCreateIndex (\ s a -> s{_bCreateIndex = a})++-- | Detaches an object from a 'Directory' .+bDetachObject :: Lens' BatchWriteOperation (Maybe BatchDetachObject)+bDetachObject = lens _bDetachObject (\ s a -> s{_bDetachObject = a})++-- | A batch operation that adds a facet to an object.+bAddFacetToObject :: Lens' BatchWriteOperation (Maybe BatchAddFacetToObject)+bAddFacetToObject = lens _bAddFacetToObject (\ s a -> s{_bAddFacetToObject = a})++-- | Detaches a typed link from a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+bDetachTypedLink :: Lens' BatchWriteOperation (Maybe BatchDetachTypedLink)+bDetachTypedLink = lens _bDetachTypedLink (\ s a -> s{_bDetachTypedLink = a})++-- | Updates a given object's attributes.+bUpdateObjectAttributes :: Lens' BatchWriteOperation (Maybe BatchUpdateObjectAttributes)+bUpdateObjectAttributes = lens _bUpdateObjectAttributes (\ s a -> s{_bUpdateObjectAttributes = a})++-- | Attaches a policy object to a regular object. An object can have a limited number of attached policies.+bAttachPolicy :: Lens' BatchWriteOperation (Maybe BatchAttachPolicy)+bAttachPolicy = lens _bAttachPolicy (\ s a -> s{_bAttachPolicy = a})++-- | Attaches the specified object to the specified index.+bAttachToIndex :: Lens' BatchWriteOperation (Maybe BatchAttachToIndex)+bAttachToIndex = lens _bAttachToIndex (\ s a -> s{_bAttachToIndex = a})++instance Hashable BatchWriteOperation where++instance NFData BatchWriteOperation where++instance ToJSON BatchWriteOperation where+        toJSON BatchWriteOperation'{..}+          = object+              (catMaybes+                 [("DeleteObject" .=) <$> _bDeleteObject,+                  ("DetachFromIndex" .=) <$> _bDetachFromIndex,+                  ("RemoveFacetFromObject" .=) <$>+                    _bRemoveFacetFromObject,+                  ("AttachObject" .=) <$> _bAttachObject,+                  ("CreateObject" .=) <$> _bCreateObject,+                  ("AttachTypedLink" .=) <$> _bAttachTypedLink,+                  ("DetachPolicy" .=) <$> _bDetachPolicy,+                  ("CreateIndex" .=) <$> _bCreateIndex,+                  ("DetachObject" .=) <$> _bDetachObject,+                  ("AddFacetToObject" .=) <$> _bAddFacetToObject,+                  ("DetachTypedLink" .=) <$> _bDetachTypedLink,+                  ("UpdateObjectAttributes" .=) <$>+                    _bUpdateObjectAttributes,+                  ("AttachPolicy" .=) <$> _bAttachPolicy,+                  ("AttachToIndex" .=) <$> _bAttachToIndex])++-- | Represents the output of a @BatchWrite@ response operation.+--+--+--+-- /See:/ 'batchWriteOperationResponse' smart constructor.+data BatchWriteOperationResponse = BatchWriteOperationResponse'+  { _bwoDeleteObject           :: !(Maybe BatchDeleteObjectResponse)+  , _bwoDetachFromIndex        :: !(Maybe BatchDetachFromIndexResponse)+  , _bwoRemoveFacetFromObject  :: !(Maybe BatchRemoveFacetFromObjectResponse)+  , _bwoAttachObject           :: !(Maybe BatchAttachObjectResponse)+  , _bwoCreateObject           :: !(Maybe BatchCreateObjectResponse)+  , _bwoAttachTypedLink        :: !(Maybe BatchAttachTypedLinkResponse)+  , _bwoDetachPolicy           :: !(Maybe BatchDetachPolicyResponse)+  , _bwoCreateIndex            :: !(Maybe BatchCreateIndexResponse)+  , _bwoDetachObject           :: !(Maybe BatchDetachObjectResponse)+  , _bwoAddFacetToObject       :: !(Maybe BatchAddFacetToObjectResponse)+  , _bwoDetachTypedLink        :: !(Maybe BatchDetachTypedLinkResponse)+  , _bwoUpdateObjectAttributes :: !(Maybe BatchUpdateObjectAttributesResponse)+  , _bwoAttachPolicy           :: !(Maybe BatchAttachPolicyResponse)+  , _bwoAttachToIndex          :: !(Maybe BatchAttachToIndexResponse)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchWriteOperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bwoDeleteObject' - Deletes an object in a 'Directory' .+--+-- * 'bwoDetachFromIndex' - Detaches the specified object from the specified index.+--+-- * 'bwoRemoveFacetFromObject' - The result of a batch remove facet from object operation.+--+-- * 'bwoAttachObject' - Attaches an object to a 'Directory' .+--+-- * 'bwoCreateObject' - Creates an object in a 'Directory' .+--+-- * 'bwoAttachTypedLink' - Attaches a typed link to a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+--+-- * 'bwoDetachPolicy' - Detaches a policy from a 'Directory' .+--+-- * 'bwoCreateIndex' - Creates an index object. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html Indexing> for more information.+--+-- * 'bwoDetachObject' - Detaches an object from a 'Directory' .+--+-- * 'bwoAddFacetToObject' - The result of an add facet to object batch operation.+--+-- * 'bwoDetachTypedLink' - Detaches a typed link from a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+--+-- * 'bwoUpdateObjectAttributes' - Updates a given object’s attributes.+--+-- * 'bwoAttachPolicy' - Attaches a policy object to a regular object. An object can have a limited number of attached policies.+--+-- * 'bwoAttachToIndex' - Attaches the specified object to the specified index.+batchWriteOperationResponse+    :: BatchWriteOperationResponse+batchWriteOperationResponse =+  BatchWriteOperationResponse'+    { _bwoDeleteObject = Nothing+    , _bwoDetachFromIndex = Nothing+    , _bwoRemoveFacetFromObject = Nothing+    , _bwoAttachObject = Nothing+    , _bwoCreateObject = Nothing+    , _bwoAttachTypedLink = Nothing+    , _bwoDetachPolicy = Nothing+    , _bwoCreateIndex = Nothing+    , _bwoDetachObject = Nothing+    , _bwoAddFacetToObject = Nothing+    , _bwoDetachTypedLink = Nothing+    , _bwoUpdateObjectAttributes = Nothing+    , _bwoAttachPolicy = Nothing+    , _bwoAttachToIndex = Nothing+    }+++-- | Deletes an object in a 'Directory' .+bwoDeleteObject :: Lens' BatchWriteOperationResponse (Maybe BatchDeleteObjectResponse)+bwoDeleteObject = lens _bwoDeleteObject (\ s a -> s{_bwoDeleteObject = a})++-- | Detaches the specified object from the specified index.+bwoDetachFromIndex :: Lens' BatchWriteOperationResponse (Maybe BatchDetachFromIndexResponse)+bwoDetachFromIndex = lens _bwoDetachFromIndex (\ s a -> s{_bwoDetachFromIndex = a})++-- | The result of a batch remove facet from object operation.+bwoRemoveFacetFromObject :: Lens' BatchWriteOperationResponse (Maybe BatchRemoveFacetFromObjectResponse)+bwoRemoveFacetFromObject = lens _bwoRemoveFacetFromObject (\ s a -> s{_bwoRemoveFacetFromObject = a})++-- | Attaches an object to a 'Directory' .+bwoAttachObject :: Lens' BatchWriteOperationResponse (Maybe BatchAttachObjectResponse)+bwoAttachObject = lens _bwoAttachObject (\ s a -> s{_bwoAttachObject = a})++-- | Creates an object in a 'Directory' .+bwoCreateObject :: Lens' BatchWriteOperationResponse (Maybe BatchCreateObjectResponse)+bwoCreateObject = lens _bwoCreateObject (\ s a -> s{_bwoCreateObject = a})++-- | Attaches a typed link to a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+bwoAttachTypedLink :: Lens' BatchWriteOperationResponse (Maybe BatchAttachTypedLinkResponse)+bwoAttachTypedLink = lens _bwoAttachTypedLink (\ s a -> s{_bwoAttachTypedLink = a})++-- | Detaches a policy from a 'Directory' .+bwoDetachPolicy :: Lens' BatchWriteOperationResponse (Maybe BatchDetachPolicyResponse)+bwoDetachPolicy = lens _bwoDetachPolicy (\ s a -> s{_bwoDetachPolicy = a})++-- | Creates an index object. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html Indexing> for more information.+bwoCreateIndex :: Lens' BatchWriteOperationResponse (Maybe BatchCreateIndexResponse)+bwoCreateIndex = lens _bwoCreateIndex (\ s a -> s{_bwoCreateIndex = a})++-- | Detaches an object from a 'Directory' .+bwoDetachObject :: Lens' BatchWriteOperationResponse (Maybe BatchDetachObjectResponse)+bwoDetachObject = lens _bwoDetachObject (\ s a -> s{_bwoDetachObject = a})++-- | The result of an add facet to object batch operation.+bwoAddFacetToObject :: Lens' BatchWriteOperationResponse (Maybe BatchAddFacetToObjectResponse)+bwoAddFacetToObject = lens _bwoAddFacetToObject (\ s a -> s{_bwoAddFacetToObject = a})++-- | Detaches a typed link from a specified source and target object. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> .+bwoDetachTypedLink :: Lens' BatchWriteOperationResponse (Maybe BatchDetachTypedLinkResponse)+bwoDetachTypedLink = lens _bwoDetachTypedLink (\ s a -> s{_bwoDetachTypedLink = a})++-- | Updates a given object’s attributes.+bwoUpdateObjectAttributes :: Lens' BatchWriteOperationResponse (Maybe BatchUpdateObjectAttributesResponse)+bwoUpdateObjectAttributes = lens _bwoUpdateObjectAttributes (\ s a -> s{_bwoUpdateObjectAttributes = a})++-- | Attaches a policy object to a regular object. An object can have a limited number of attached policies.+bwoAttachPolicy :: Lens' BatchWriteOperationResponse (Maybe BatchAttachPolicyResponse)+bwoAttachPolicy = lens _bwoAttachPolicy (\ s a -> s{_bwoAttachPolicy = a})++-- | Attaches the specified object to the specified index.+bwoAttachToIndex :: Lens' BatchWriteOperationResponse (Maybe BatchAttachToIndexResponse)+bwoAttachToIndex = lens _bwoAttachToIndex (\ s a -> s{_bwoAttachToIndex = a})++instance FromJSON BatchWriteOperationResponse where+        parseJSON+          = withObject "BatchWriteOperationResponse"+              (\ x ->+                 BatchWriteOperationResponse' <$>+                   (x .:? "DeleteObject") <*> (x .:? "DetachFromIndex")+                     <*> (x .:? "RemoveFacetFromObject")+                     <*> (x .:? "AttachObject")+                     <*> (x .:? "CreateObject")+                     <*> (x .:? "AttachTypedLink")+                     <*> (x .:? "DetachPolicy")+                     <*> (x .:? "CreateIndex")+                     <*> (x .:? "DetachObject")+                     <*> (x .:? "AddFacetToObject")+                     <*> (x .:? "DetachTypedLink")+                     <*> (x .:? "UpdateObjectAttributes")+                     <*> (x .:? "AttachPolicy")+                     <*> (x .:? "AttachToIndex"))++instance Hashable BatchWriteOperationResponse where++instance NFData BatchWriteOperationResponse where++-- | Directory structure that includes the directory name and directory ARN.+--+--+--+-- /See:/ 'directory' smart constructor.+data Directory = Directory'+  { _dDirectoryARN     :: !(Maybe Text)+  , _dState            :: !(Maybe DirectoryState)+  , _dName             :: !(Maybe Text)+  , _dCreationDateTime :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Directory' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dDirectoryARN' - The Amazon Resource Name (ARN) that is associated with the directory. For more information, see 'arns' .+--+-- * 'dState' - The state of the directory. Can be either @Enabled@ , @Disabled@ , or @Deleted@ .+--+-- * 'dName' - The name of the directory.+--+-- * 'dCreationDateTime' - The date and time when the directory was created.+directory+    :: Directory+directory =+  Directory'+    { _dDirectoryARN = Nothing+    , _dState = Nothing+    , _dName = Nothing+    , _dCreationDateTime = Nothing+    }+++-- | The Amazon Resource Name (ARN) that is associated with the directory. For more information, see 'arns' .+dDirectoryARN :: Lens' Directory (Maybe Text)+dDirectoryARN = lens _dDirectoryARN (\ s a -> s{_dDirectoryARN = a})++-- | The state of the directory. Can be either @Enabled@ , @Disabled@ , or @Deleted@ .+dState :: Lens' Directory (Maybe DirectoryState)+dState = lens _dState (\ s a -> s{_dState = a})++-- | The name of the directory.+dName :: Lens' Directory (Maybe Text)+dName = lens _dName (\ s a -> s{_dName = a})++-- | The date and time when the directory was created.+dCreationDateTime :: Lens' Directory (Maybe UTCTime)+dCreationDateTime = lens _dCreationDateTime (\ s a -> s{_dCreationDateTime = a}) . mapping _Time++instance FromJSON Directory where+        parseJSON+          = withObject "Directory"+              (\ x ->+                 Directory' <$>+                   (x .:? "DirectoryArn") <*> (x .:? "State") <*>+                     (x .:? "Name")+                     <*> (x .:? "CreationDateTime"))++instance Hashable Directory where++instance NFData Directory where++-- | A structure that contains @Name@ , @ARN@ , @Attributes@ , @'Rule' s@ , and @ObjectTypes@ . See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/whatarefacets.html Facets> for more information.+--+--+--+-- /See:/ 'facet' smart constructor.+data Facet = Facet'+  { _fObjectType :: !(Maybe ObjectType)+  , _fName       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Facet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fObjectType' - The object type that is associated with the facet. See 'CreateFacetRequest$ObjectType' for more details.+--+-- * 'fName' - The name of the 'Facet' .+facet+    :: Facet+facet = Facet' {_fObjectType = Nothing, _fName = Nothing}+++-- | The object type that is associated with the facet. See 'CreateFacetRequest$ObjectType' for more details.+fObjectType :: Lens' Facet (Maybe ObjectType)+fObjectType = lens _fObjectType (\ s a -> s{_fObjectType = a})++-- | The name of the 'Facet' .+fName :: Lens' Facet (Maybe Text)+fName = lens _fName (\ s a -> s{_fName = a})++instance FromJSON Facet where+        parseJSON+          = withObject "Facet"+              (\ x ->+                 Facet' <$> (x .:? "ObjectType") <*> (x .:? "Name"))++instance Hashable Facet where++instance NFData Facet where++-- | An attribute that is associated with the 'Facet' .+--+--+--+-- /See:/ 'facetAttribute' smart constructor.+data FacetAttribute = FacetAttribute'+  { _faAttributeReference  :: !(Maybe FacetAttributeReference)+  , _faAttributeDefinition :: !(Maybe FacetAttributeDefinition)+  , _faRequiredBehavior    :: !(Maybe RequiredAttributeBehavior)+  , _faName                :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FacetAttribute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'faAttributeReference' - An attribute reference that is associated with the attribute. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.+--+-- * 'faAttributeDefinition' - A facet attribute consists of either a definition or a reference. This structure contains the attribute definition. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.+--+-- * 'faRequiredBehavior' - The required behavior of the @FacetAttribute@ .+--+-- * 'faName' - The name of the facet attribute.+facetAttribute+    :: Text -- ^ 'faName'+    -> FacetAttribute+facetAttribute pName_ =+  FacetAttribute'+    { _faAttributeReference = Nothing+    , _faAttributeDefinition = Nothing+    , _faRequiredBehavior = Nothing+    , _faName = pName_+    }+++-- | An attribute reference that is associated with the attribute. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.+faAttributeReference :: Lens' FacetAttribute (Maybe FacetAttributeReference)+faAttributeReference = lens _faAttributeReference (\ s a -> s{_faAttributeReference = a})++-- | A facet attribute consists of either a definition or a reference. This structure contains the attribute definition. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.+faAttributeDefinition :: Lens' FacetAttribute (Maybe FacetAttributeDefinition)+faAttributeDefinition = lens _faAttributeDefinition (\ s a -> s{_faAttributeDefinition = a})++-- | The required behavior of the @FacetAttribute@ .+faRequiredBehavior :: Lens' FacetAttribute (Maybe RequiredAttributeBehavior)+faRequiredBehavior = lens _faRequiredBehavior (\ s a -> s{_faRequiredBehavior = a})++-- | The name of the facet attribute.+faName :: Lens' FacetAttribute Text+faName = lens _faName (\ s a -> s{_faName = a})++instance FromJSON FacetAttribute where+        parseJSON+          = withObject "FacetAttribute"+              (\ x ->+                 FacetAttribute' <$>+                   (x .:? "AttributeReference") <*>+                     (x .:? "AttributeDefinition")+                     <*> (x .:? "RequiredBehavior")+                     <*> (x .: "Name"))++instance Hashable FacetAttribute where++instance NFData FacetAttribute where++instance ToJSON FacetAttribute where+        toJSON FacetAttribute'{..}+          = object+              (catMaybes+                 [("AttributeReference" .=) <$> _faAttributeReference,+                  ("AttributeDefinition" .=) <$>+                    _faAttributeDefinition,+                  ("RequiredBehavior" .=) <$> _faRequiredBehavior,+                  Just ("Name" .= _faName)])++-- | A facet attribute definition. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.+--+--+--+-- /See:/ 'facetAttributeDefinition' smart constructor.+data FacetAttributeDefinition = FacetAttributeDefinition'+  { _fadRules        :: !(Maybe (Map Text Rule))+  , _fadDefaultValue :: !(Maybe TypedAttributeValue)+  , _fadIsImmutable  :: !(Maybe Bool)+  , _fadType         :: !FacetAttributeType+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FacetAttributeDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fadRules' - Validation rules attached to the attribute definition.+--+-- * 'fadDefaultValue' - The default value of the attribute (if configured).+--+-- * 'fadIsImmutable' - Whether the attribute is mutable or not.+--+-- * 'fadType' - The type of the attribute.+facetAttributeDefinition+    :: FacetAttributeType -- ^ 'fadType'+    -> FacetAttributeDefinition+facetAttributeDefinition pType_ =+  FacetAttributeDefinition'+    { _fadRules = Nothing+    , _fadDefaultValue = Nothing+    , _fadIsImmutable = Nothing+    , _fadType = pType_+    }+++-- | Validation rules attached to the attribute definition.+fadRules :: Lens' FacetAttributeDefinition (HashMap Text Rule)+fadRules = lens _fadRules (\ s a -> s{_fadRules = a}) . _Default . _Map++-- | The default value of the attribute (if configured).+fadDefaultValue :: Lens' FacetAttributeDefinition (Maybe TypedAttributeValue)+fadDefaultValue = lens _fadDefaultValue (\ s a -> s{_fadDefaultValue = a})++-- | Whether the attribute is mutable or not.+fadIsImmutable :: Lens' FacetAttributeDefinition (Maybe Bool)+fadIsImmutable = lens _fadIsImmutable (\ s a -> s{_fadIsImmutable = a})++-- | The type of the attribute.+fadType :: Lens' FacetAttributeDefinition FacetAttributeType+fadType = lens _fadType (\ s a -> s{_fadType = a})++instance FromJSON FacetAttributeDefinition where+        parseJSON+          = withObject "FacetAttributeDefinition"+              (\ x ->+                 FacetAttributeDefinition' <$>+                   (x .:? "Rules" .!= mempty) <*> (x .:? "DefaultValue")+                     <*> (x .:? "IsImmutable")+                     <*> (x .: "Type"))++instance Hashable FacetAttributeDefinition where++instance NFData FacetAttributeDefinition where++instance ToJSON FacetAttributeDefinition where+        toJSON FacetAttributeDefinition'{..}+          = object+              (catMaybes+                 [("Rules" .=) <$> _fadRules,+                  ("DefaultValue" .=) <$> _fadDefaultValue,+                  ("IsImmutable" .=) <$> _fadIsImmutable,+                  Just ("Type" .= _fadType)])++-- | The facet attribute reference that specifies the attribute definition that contains the attribute facet name and attribute name.+--+--+--+-- /See:/ 'facetAttributeReference' smart constructor.+data FacetAttributeReference = FacetAttributeReference'+  { _farTargetFacetName     :: !Text+  , _farTargetAttributeName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FacetAttributeReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'farTargetFacetName' - The target facet name that is associated with the facet reference. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.+--+-- * 'farTargetAttributeName' - The target attribute name that is associated with the facet reference. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.+facetAttributeReference+    :: Text -- ^ 'farTargetFacetName'+    -> Text -- ^ 'farTargetAttributeName'+    -> FacetAttributeReference+facetAttributeReference pTargetFacetName_ pTargetAttributeName_ =+  FacetAttributeReference'+    { _farTargetFacetName = pTargetFacetName_+    , _farTargetAttributeName = pTargetAttributeName_+    }+++-- | The target facet name that is associated with the facet reference. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.+farTargetFacetName :: Lens' FacetAttributeReference Text+farTargetFacetName = lens _farTargetFacetName (\ s a -> s{_farTargetFacetName = a})++-- | The target attribute name that is associated with the facet reference. See <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#attributereferences Attribute References> for more information.+farTargetAttributeName :: Lens' FacetAttributeReference Text+farTargetAttributeName = lens _farTargetAttributeName (\ s a -> s{_farTargetAttributeName = a})++instance FromJSON FacetAttributeReference where+        parseJSON+          = withObject "FacetAttributeReference"+              (\ x ->+                 FacetAttributeReference' <$>+                   (x .: "TargetFacetName") <*>+                     (x .: "TargetAttributeName"))++instance Hashable FacetAttributeReference where++instance NFData FacetAttributeReference where++instance ToJSON FacetAttributeReference where+        toJSON FacetAttributeReference'{..}+          = object+              (catMaybes+                 [Just ("TargetFacetName" .= _farTargetFacetName),+                  Just+                    ("TargetAttributeName" .= _farTargetAttributeName)])++-- | A structure that contains information used to update an attribute.+--+--+--+-- /See:/ 'facetAttributeUpdate' smart constructor.+data FacetAttributeUpdate = FacetAttributeUpdate'+  { _fauAttribute :: !(Maybe FacetAttribute)+  , _fauAction    :: !(Maybe UpdateActionType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FacetAttributeUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fauAttribute' - The attribute to update.+--+-- * 'fauAction' - The action to perform when updating the attribute.+facetAttributeUpdate+    :: FacetAttributeUpdate+facetAttributeUpdate =+  FacetAttributeUpdate' {_fauAttribute = Nothing, _fauAction = Nothing}+++-- | The attribute to update.+fauAttribute :: Lens' FacetAttributeUpdate (Maybe FacetAttribute)+fauAttribute = lens _fauAttribute (\ s a -> s{_fauAttribute = a})++-- | The action to perform when updating the attribute.+fauAction :: Lens' FacetAttributeUpdate (Maybe UpdateActionType)+fauAction = lens _fauAction (\ s a -> s{_fauAction = a})++instance Hashable FacetAttributeUpdate where++instance NFData FacetAttributeUpdate where++instance ToJSON FacetAttributeUpdate where+        toJSON FacetAttributeUpdate'{..}+          = object+              (catMaybes+                 [("Attribute" .=) <$> _fauAttribute,+                  ("Action" .=) <$> _fauAction])++-- | Represents an index and an attached object.+--+--+--+-- /See:/ 'indexAttachment' smart constructor.+data IndexAttachment = IndexAttachment'+  { _iaIndexedAttributes :: !(Maybe [AttributeKeyAndValue])+  , _iaObjectIdentifier  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'IndexAttachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iaIndexedAttributes' - The indexed attribute values.+--+-- * 'iaObjectIdentifier' - In response to 'ListIndex' , the @ObjectIdentifier@ of the object attached to the index. In response to 'ListAttachedIndices' , the @ObjectIdentifier@ of the index attached to the object. This field will always contain the @ObjectIdentifier@ of the object on the opposite side of the attachment specified in the query.+indexAttachment+    :: IndexAttachment+indexAttachment =+  IndexAttachment'+    {_iaIndexedAttributes = Nothing, _iaObjectIdentifier = Nothing}+++-- | The indexed attribute values.+iaIndexedAttributes :: Lens' IndexAttachment [AttributeKeyAndValue]+iaIndexedAttributes = lens _iaIndexedAttributes (\ s a -> s{_iaIndexedAttributes = a}) . _Default . _Coerce++-- | In response to 'ListIndex' , the @ObjectIdentifier@ of the object attached to the index. In response to 'ListAttachedIndices' , the @ObjectIdentifier@ of the index attached to the object. This field will always contain the @ObjectIdentifier@ of the object on the opposite side of the attachment specified in the query.+iaObjectIdentifier :: Lens' IndexAttachment (Maybe Text)+iaObjectIdentifier = lens _iaObjectIdentifier (\ s a -> s{_iaObjectIdentifier = a})++instance FromJSON IndexAttachment where+        parseJSON+          = withObject "IndexAttachment"+              (\ x ->+                 IndexAttachment' <$>+                   (x .:? "IndexedAttributes" .!= mempty) <*>+                     (x .:? "ObjectIdentifier"))++instance Hashable IndexAttachment where++instance NFData IndexAttachment where++-- | The action to take on the object attribute.+--+--+--+-- /See:/ 'objectAttributeAction' smart constructor.+data ObjectAttributeAction = ObjectAttributeAction'+  { _oaaObjectAttributeActionType  :: !(Maybe UpdateActionType)+  , _oaaObjectAttributeUpdateValue :: !(Maybe TypedAttributeValue)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ObjectAttributeAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oaaObjectAttributeActionType' - A type that can be either @Update@ or @Delete@ .+--+-- * 'oaaObjectAttributeUpdateValue' - The value that you want to update to.+objectAttributeAction+    :: ObjectAttributeAction+objectAttributeAction =+  ObjectAttributeAction'+    { _oaaObjectAttributeActionType = Nothing+    , _oaaObjectAttributeUpdateValue = Nothing+    }+++-- | A type that can be either @Update@ or @Delete@ .+oaaObjectAttributeActionType :: Lens' ObjectAttributeAction (Maybe UpdateActionType)+oaaObjectAttributeActionType = lens _oaaObjectAttributeActionType (\ s a -> s{_oaaObjectAttributeActionType = a})++-- | The value that you want to update to.+oaaObjectAttributeUpdateValue :: Lens' ObjectAttributeAction (Maybe TypedAttributeValue)+oaaObjectAttributeUpdateValue = lens _oaaObjectAttributeUpdateValue (\ s a -> s{_oaaObjectAttributeUpdateValue = a})++instance Hashable ObjectAttributeAction where++instance NFData ObjectAttributeAction where++instance ToJSON ObjectAttributeAction where+        toJSON ObjectAttributeAction'{..}+          = object+              (catMaybes+                 [("ObjectAttributeActionType" .=) <$>+                    _oaaObjectAttributeActionType,+                  ("ObjectAttributeUpdateValue" .=) <$>+                    _oaaObjectAttributeUpdateValue])++-- | A range of attributes.+--+--+--+-- /See:/ 'objectAttributeRange' smart constructor.+data ObjectAttributeRange = ObjectAttributeRange'+  { _oarRange        :: !(Maybe TypedAttributeValueRange)+  , _oarAttributeKey :: !(Maybe AttributeKey)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ObjectAttributeRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oarRange' - The range of attribute values being selected.+--+-- * 'oarAttributeKey' - The key of the attribute that the attribute range covers.+objectAttributeRange+    :: ObjectAttributeRange+objectAttributeRange =+  ObjectAttributeRange' {_oarRange = Nothing, _oarAttributeKey = Nothing}+++-- | The range of attribute values being selected.+oarRange :: Lens' ObjectAttributeRange (Maybe TypedAttributeValueRange)+oarRange = lens _oarRange (\ s a -> s{_oarRange = a})++-- | The key of the attribute that the attribute range covers.+oarAttributeKey :: Lens' ObjectAttributeRange (Maybe AttributeKey)+oarAttributeKey = lens _oarAttributeKey (\ s a -> s{_oarAttributeKey = a})++instance Hashable ObjectAttributeRange where++instance NFData ObjectAttributeRange where++instance ToJSON ObjectAttributeRange where+        toJSON ObjectAttributeRange'{..}+          = object+              (catMaybes+                 [("Range" .=) <$> _oarRange,+                  ("AttributeKey" .=) <$> _oarAttributeKey])++-- | Structure that contains attribute update information.+--+--+--+-- /See:/ 'objectAttributeUpdate' smart constructor.+data ObjectAttributeUpdate = ObjectAttributeUpdate'+  { _oauObjectAttributeAction :: !(Maybe ObjectAttributeAction)+  , _oauObjectAttributeKey    :: !(Maybe AttributeKey)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ObjectAttributeUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oauObjectAttributeAction' - The action to perform as part of the attribute update.+--+-- * 'oauObjectAttributeKey' - The key of the attribute being updated.+objectAttributeUpdate+    :: ObjectAttributeUpdate+objectAttributeUpdate =+  ObjectAttributeUpdate'+    {_oauObjectAttributeAction = Nothing, _oauObjectAttributeKey = Nothing}+++-- | The action to perform as part of the attribute update.+oauObjectAttributeAction :: Lens' ObjectAttributeUpdate (Maybe ObjectAttributeAction)+oauObjectAttributeAction = lens _oauObjectAttributeAction (\ s a -> s{_oauObjectAttributeAction = a})++-- | The key of the attribute being updated.+oauObjectAttributeKey :: Lens' ObjectAttributeUpdate (Maybe AttributeKey)+oauObjectAttributeKey = lens _oauObjectAttributeKey (\ s a -> s{_oauObjectAttributeKey = a})++instance Hashable ObjectAttributeUpdate where++instance NFData ObjectAttributeUpdate where++instance ToJSON ObjectAttributeUpdate where+        toJSON ObjectAttributeUpdate'{..}+          = object+              (catMaybes+                 [("ObjectAttributeAction" .=) <$>+                    _oauObjectAttributeAction,+                  ("ObjectAttributeKey" .=) <$>+                    _oauObjectAttributeKey])++-- | The reference that identifies an object.+--+--+--+-- /See:/ 'objectReference' smart constructor.+newtype ObjectReference = ObjectReference'+  { _orSelector :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ObjectReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'orSelector' - A path selector supports easy selection of an object by the parent/child links leading to it from the directory root. Use the link names from each parent/child link to construct the path. Path selectors start with a slash (/) and link names are separated by slashes. For more information about paths, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#accessingobjects Accessing Objects> . You can identify an object in one of the following ways:     * /> ObjectIdentifier/ - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier     * /\/some\/path/ - Identifies the object based on path     * /#SomeBatchReference/ - Identifies the object in a batch call+objectReference+    :: ObjectReference+objectReference = ObjectReference' {_orSelector = Nothing}+++-- | A path selector supports easy selection of an object by the parent/child links leading to it from the directory root. Use the link names from each parent/child link to construct the path. Path selectors start with a slash (/) and link names are separated by slashes. For more information about paths, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#accessingobjects Accessing Objects> . You can identify an object in one of the following ways:     * /> ObjectIdentifier/ - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier     * /\/some\/path/ - Identifies the object based on path     * /#SomeBatchReference/ - Identifies the object in a batch call+orSelector :: Lens' ObjectReference (Maybe Text)+orSelector = lens _orSelector (\ s a -> s{_orSelector = a})++instance FromJSON ObjectReference where+        parseJSON+          = withObject "ObjectReference"+              (\ x -> ObjectReference' <$> (x .:? "Selector"))++instance Hashable ObjectReference where++instance NFData ObjectReference where++instance ToJSON ObjectReference where+        toJSON ObjectReference'{..}+          = object+              (catMaybes [("Selector" .=) <$> _orSelector])++-- | Returns the path to the @ObjectIdentifiers@ that is associated with the directory.+--+--+--+-- /See:/ 'pathToObjectIdentifiers' smart constructor.+data PathToObjectIdentifiers = PathToObjectIdentifiers'+  { _ptoiObjectIdentifiers :: !(Maybe [Text])+  , _ptoiPath              :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PathToObjectIdentifiers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptoiObjectIdentifiers' - Lists @ObjectIdentifiers@ starting from directory root to the object in the request.+--+-- * 'ptoiPath' - The path that is used to identify the object starting from directory root.+pathToObjectIdentifiers+    :: PathToObjectIdentifiers+pathToObjectIdentifiers =+  PathToObjectIdentifiers'+    {_ptoiObjectIdentifiers = Nothing, _ptoiPath = Nothing}+++-- | Lists @ObjectIdentifiers@ starting from directory root to the object in the request.+ptoiObjectIdentifiers :: Lens' PathToObjectIdentifiers [Text]+ptoiObjectIdentifiers = lens _ptoiObjectIdentifiers (\ s a -> s{_ptoiObjectIdentifiers = a}) . _Default . _Coerce++-- | The path that is used to identify the object starting from directory root.+ptoiPath :: Lens' PathToObjectIdentifiers (Maybe Text)+ptoiPath = lens _ptoiPath (\ s a -> s{_ptoiPath = a})++instance FromJSON PathToObjectIdentifiers where+        parseJSON+          = withObject "PathToObjectIdentifiers"+              (\ x ->+                 PathToObjectIdentifiers' <$>+                   (x .:? "ObjectIdentifiers" .!= mempty) <*>+                     (x .:? "Path"))++instance Hashable PathToObjectIdentifiers where++instance NFData PathToObjectIdentifiers where++-- | Contains the @PolicyType@ , @PolicyId@ , and the @ObjectIdentifier@ to which it is attached. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies Policies> .+--+--+--+-- /See:/ 'policyAttachment' smart constructor.+data PolicyAttachment = PolicyAttachment'+  { _paPolicyId         :: !(Maybe Text)+  , _paPolicyType       :: !(Maybe Text)+  , _paObjectIdentifier :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PolicyAttachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'paPolicyId' - The ID of @PolicyAttachment@ .+--+-- * 'paPolicyType' - The type of policy that can be associated with @PolicyAttachment@ .+--+-- * 'paObjectIdentifier' - The @ObjectIdentifier@ that is associated with @PolicyAttachment@ .+policyAttachment+    :: PolicyAttachment+policyAttachment =+  PolicyAttachment'+    { _paPolicyId = Nothing+    , _paPolicyType = Nothing+    , _paObjectIdentifier = Nothing+    }+++-- | The ID of @PolicyAttachment@ .+paPolicyId :: Lens' PolicyAttachment (Maybe Text)+paPolicyId = lens _paPolicyId (\ s a -> s{_paPolicyId = a})++-- | The type of policy that can be associated with @PolicyAttachment@ .+paPolicyType :: Lens' PolicyAttachment (Maybe Text)+paPolicyType = lens _paPolicyType (\ s a -> s{_paPolicyType = a})++-- | The @ObjectIdentifier@ that is associated with @PolicyAttachment@ .+paObjectIdentifier :: Lens' PolicyAttachment (Maybe Text)+paObjectIdentifier = lens _paObjectIdentifier (\ s a -> s{_paObjectIdentifier = a})++instance FromJSON PolicyAttachment where+        parseJSON+          = withObject "PolicyAttachment"+              (\ x ->+                 PolicyAttachment' <$>+                   (x .:? "PolicyId") <*> (x .:? "PolicyType") <*>+                     (x .:? "ObjectIdentifier"))++instance Hashable PolicyAttachment where++instance NFData PolicyAttachment where++-- | Used when a regular object exists in a 'Directory' and you want to find all of the policies that are associated with that object and the parent to that object.+--+--+--+-- /See:/ 'policyToPath' smart constructor.+data PolicyToPath = PolicyToPath'+  { _ptpPath     :: !(Maybe Text)+  , _ptpPolicies :: !(Maybe [PolicyAttachment])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PolicyToPath' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptpPath' - The path that is referenced from the root.+--+-- * 'ptpPolicies' - List of policy objects.+policyToPath+    :: PolicyToPath+policyToPath = PolicyToPath' {_ptpPath = Nothing, _ptpPolicies = Nothing}+++-- | The path that is referenced from the root.+ptpPath :: Lens' PolicyToPath (Maybe Text)+ptpPath = lens _ptpPath (\ s a -> s{_ptpPath = a})++-- | List of policy objects.+ptpPolicies :: Lens' PolicyToPath [PolicyAttachment]+ptpPolicies = lens _ptpPolicies (\ s a -> s{_ptpPolicies = a}) . _Default . _Coerce++instance FromJSON PolicyToPath where+        parseJSON+          = withObject "PolicyToPath"+              (\ x ->+                 PolicyToPath' <$>+                   (x .:? "Path") <*> (x .:? "Policies" .!= mempty))++instance Hashable PolicyToPath where++instance NFData PolicyToPath where++-- | Contains an Amazon Resource Name (ARN) and parameters that are associated with the rule.+--+--+--+-- /See:/ 'rule' smart constructor.+data Rule = Rule'+  { _rParameters :: !(Maybe (Map Text Text))+  , _rType       :: !(Maybe RuleType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Rule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rParameters' - The minimum and maximum parameters that are associated with the rule.+--+-- * 'rType' - The type of attribute validation rule.+rule+    :: Rule+rule = Rule' {_rParameters = Nothing, _rType = Nothing}+++-- | The minimum and maximum parameters that are associated with the rule.+rParameters :: Lens' Rule (HashMap Text Text)+rParameters = lens _rParameters (\ s a -> s{_rParameters = a}) . _Default . _Map++-- | The type of attribute validation rule.+rType :: Lens' Rule (Maybe RuleType)+rType = lens _rType (\ s a -> s{_rType = a})++instance FromJSON Rule where+        parseJSON+          = withObject "Rule"+              (\ x ->+                 Rule' <$>+                   (x .:? "Parameters" .!= mempty) <*> (x .:? "Type"))++instance Hashable Rule where++instance NFData Rule where++instance ToJSON Rule where+        toJSON Rule'{..}+          = object+              (catMaybes+                 [("Parameters" .=) <$> _rParameters,+                  ("Type" .=) <$> _rType])++-- | A facet.+--+--+--+-- /See:/ 'schemaFacet' smart constructor.+data SchemaFacet = SchemaFacet'+  { _sfFacetName :: !(Maybe Text)+  , _sfSchemaARN :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SchemaFacet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfFacetName' - The name of the facet.+--+-- * 'sfSchemaARN' - The ARN of the schema that contains the facet with no minor component. See 'arns' and <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/inplaceschemaupgrade.html In-Place Schema Upgrade> for a description of when to provide minor versions.+schemaFacet+    :: SchemaFacet+schemaFacet = SchemaFacet' {_sfFacetName = Nothing, _sfSchemaARN = Nothing}+++-- | The name of the facet.+sfFacetName :: Lens' SchemaFacet (Maybe Text)+sfFacetName = lens _sfFacetName (\ s a -> s{_sfFacetName = a})++-- | The ARN of the schema that contains the facet with no minor component. See 'arns' and <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/inplaceschemaupgrade.html In-Place Schema Upgrade> for a description of when to provide minor versions.+sfSchemaARN :: Lens' SchemaFacet (Maybe Text)+sfSchemaARN = lens _sfSchemaARN (\ s a -> s{_sfSchemaARN = a})++instance FromJSON SchemaFacet where+        parseJSON+          = withObject "SchemaFacet"+              (\ x ->+                 SchemaFacet' <$>+                   (x .:? "FacetName") <*> (x .:? "SchemaArn"))++instance Hashable SchemaFacet where++instance NFData SchemaFacet where++instance ToJSON SchemaFacet where+        toJSON SchemaFacet'{..}+          = object+              (catMaybes+                 [("FacetName" .=) <$> _sfFacetName,+                  ("SchemaArn" .=) <$> _sfSchemaARN])++-- | The tag structure that contains a tag key and value.+--+--+--+-- /See:/ 'tag' smart constructor.+data Tag = Tag'+  { _tagValue :: !(Maybe Text)+  , _tagKey   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Tag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tagValue' - The value that is associated with the tag.+--+-- * 'tagKey' - The key that is associated with the tag.+tag+    :: Tag+tag = Tag' {_tagValue = Nothing, _tagKey = Nothing}+++-- | The value that is associated with the tag.+tagValue :: Lens' Tag (Maybe Text)+tagValue = lens _tagValue (\ s a -> s{_tagValue = a})++-- | The key that is associated with the tag.+tagKey :: Lens' Tag (Maybe Text)+tagKey = lens _tagKey (\ s a -> s{_tagKey = a})++instance FromJSON Tag where+        parseJSON+          = withObject "Tag"+              (\ x -> Tag' <$> (x .:? "Value") <*> (x .:? "Key"))++instance Hashable Tag where++instance NFData Tag where++instance ToJSON Tag where+        toJSON Tag'{..}+          = object+              (catMaybes+                 [("Value" .=) <$> _tagValue, ("Key" .=) <$> _tagKey])++-- | Represents the data for a typed attribute. You can set one, and only one, of the elements. Each attribute in an item is a name-value pair. Attributes have a single value.+--+--+--+-- /See:/ 'typedAttributeValue' smart constructor.+data TypedAttributeValue = TypedAttributeValue'+  { _tavBinaryValue   :: !(Maybe Base64)+  , _tavDatetimeValue :: !(Maybe POSIX)+  , _tavNumberValue   :: !(Maybe Text)+  , _tavStringValue   :: !(Maybe Text)+  , _tavBooleanValue  :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TypedAttributeValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tavBinaryValue' - A binary data value.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.+--+-- * 'tavDatetimeValue' - A date and time value.+--+-- * 'tavNumberValue' - A number data value.+--+-- * 'tavStringValue' - A string data value.+--+-- * 'tavBooleanValue' - A Boolean data value.+typedAttributeValue+    :: TypedAttributeValue+typedAttributeValue =+  TypedAttributeValue'+    { _tavBinaryValue = Nothing+    , _tavDatetimeValue = Nothing+    , _tavNumberValue = Nothing+    , _tavStringValue = Nothing+    , _tavBooleanValue = Nothing+    }+++-- | A binary data value.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.+tavBinaryValue :: Lens' TypedAttributeValue (Maybe ByteString)+tavBinaryValue = lens _tavBinaryValue (\ s a -> s{_tavBinaryValue = a}) . mapping _Base64++-- | A date and time value.+tavDatetimeValue :: Lens' TypedAttributeValue (Maybe UTCTime)+tavDatetimeValue = lens _tavDatetimeValue (\ s a -> s{_tavDatetimeValue = a}) . mapping _Time++-- | A number data value.+tavNumberValue :: Lens' TypedAttributeValue (Maybe Text)+tavNumberValue = lens _tavNumberValue (\ s a -> s{_tavNumberValue = a})++-- | A string data value.+tavStringValue :: Lens' TypedAttributeValue (Maybe Text)+tavStringValue = lens _tavStringValue (\ s a -> s{_tavStringValue = a})++-- | A Boolean data value.+tavBooleanValue :: Lens' TypedAttributeValue (Maybe Bool)+tavBooleanValue = lens _tavBooleanValue (\ s a -> s{_tavBooleanValue = a})++instance FromJSON TypedAttributeValue where+        parseJSON+          = withObject "TypedAttributeValue"+              (\ x ->+                 TypedAttributeValue' <$>+                   (x .:? "BinaryValue") <*> (x .:? "DatetimeValue") <*>+                     (x .:? "NumberValue")+                     <*> (x .:? "StringValue")+                     <*> (x .:? "BooleanValue"))++instance Hashable TypedAttributeValue where++instance NFData TypedAttributeValue where++instance ToJSON TypedAttributeValue where+        toJSON TypedAttributeValue'{..}+          = object+              (catMaybes+                 [("BinaryValue" .=) <$> _tavBinaryValue,+                  ("DatetimeValue" .=) <$> _tavDatetimeValue,+                  ("NumberValue" .=) <$> _tavNumberValue,+                  ("StringValue" .=) <$> _tavStringValue,+                  ("BooleanValue" .=) <$> _tavBooleanValue])++-- | A range of attribute values. For more information, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#rangefilters Range Filters> .+--+--+--+-- /See:/ 'typedAttributeValueRange' smart constructor.+data TypedAttributeValueRange = TypedAttributeValueRange'+  { _tavrEndValue   :: !(Maybe TypedAttributeValue)+  , _tavrStartValue :: !(Maybe TypedAttributeValue)+  , _tavrStartMode  :: !RangeMode+  , _tavrEndMode    :: !RangeMode+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TypedAttributeValueRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tavrEndValue' - The attribute value to terminate the range at.+--+-- * 'tavrStartValue' - The value to start the range at.+--+-- * 'tavrStartMode' - The inclusive or exclusive range start.+--+-- * 'tavrEndMode' - The inclusive or exclusive range end.+typedAttributeValueRange+    :: RangeMode -- ^ 'tavrStartMode'+    -> RangeMode -- ^ 'tavrEndMode'+    -> TypedAttributeValueRange+typedAttributeValueRange pStartMode_ pEndMode_ =+  TypedAttributeValueRange'+    { _tavrEndValue = Nothing+    , _tavrStartValue = Nothing+    , _tavrStartMode = pStartMode_+    , _tavrEndMode = pEndMode_+    }+++-- | The attribute value to terminate the range at.+tavrEndValue :: Lens' TypedAttributeValueRange (Maybe TypedAttributeValue)+tavrEndValue = lens _tavrEndValue (\ s a -> s{_tavrEndValue = a})++-- | The value to start the range at.+tavrStartValue :: Lens' TypedAttributeValueRange (Maybe TypedAttributeValue)+tavrStartValue = lens _tavrStartValue (\ s a -> s{_tavrStartValue = a})++-- | The inclusive or exclusive range start.+tavrStartMode :: Lens' TypedAttributeValueRange RangeMode+tavrStartMode = lens _tavrStartMode (\ s a -> s{_tavrStartMode = a})++-- | The inclusive or exclusive range end.+tavrEndMode :: Lens' TypedAttributeValueRange RangeMode+tavrEndMode = lens _tavrEndMode (\ s a -> s{_tavrEndMode = a})++instance Hashable TypedAttributeValueRange where++instance NFData TypedAttributeValueRange where++instance ToJSON TypedAttributeValueRange where+        toJSON TypedAttributeValueRange'{..}+          = object+              (catMaybes+                 [("EndValue" .=) <$> _tavrEndValue,+                  ("StartValue" .=) <$> _tavrStartValue,+                  Just ("StartMode" .= _tavrStartMode),+                  Just ("EndMode" .= _tavrEndMode)])++-- | A typed link attribute definition.+--+--+--+-- /See:/ 'typedLinkAttributeDefinition' smart constructor.+data TypedLinkAttributeDefinition = TypedLinkAttributeDefinition'+  { _tladRules            :: !(Maybe (Map Text Rule))+  , _tladDefaultValue     :: !(Maybe TypedAttributeValue)+  , _tladIsImmutable      :: !(Maybe Bool)+  , _tladName             :: !Text+  , _tladType             :: !FacetAttributeType+  , _tladRequiredBehavior :: !RequiredAttributeBehavior+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TypedLinkAttributeDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tladRules' - Validation rules that are attached to the attribute definition.+--+-- * 'tladDefaultValue' - The default value of the attribute (if configured).+--+-- * 'tladIsImmutable' - Whether the attribute is mutable or not.+--+-- * 'tladName' - The unique name of the typed link attribute.+--+-- * 'tladType' - The type of the attribute.+--+-- * 'tladRequiredBehavior' - The required behavior of the @TypedLinkAttributeDefinition@ .+typedLinkAttributeDefinition+    :: Text -- ^ 'tladName'+    -> FacetAttributeType -- ^ 'tladType'+    -> RequiredAttributeBehavior -- ^ 'tladRequiredBehavior'+    -> TypedLinkAttributeDefinition+typedLinkAttributeDefinition pName_ pType_ pRequiredBehavior_ =+  TypedLinkAttributeDefinition'+    { _tladRules = Nothing+    , _tladDefaultValue = Nothing+    , _tladIsImmutable = Nothing+    , _tladName = pName_+    , _tladType = pType_+    , _tladRequiredBehavior = pRequiredBehavior_+    }+++-- | Validation rules that are attached to the attribute definition.+tladRules :: Lens' TypedLinkAttributeDefinition (HashMap Text Rule)+tladRules = lens _tladRules (\ s a -> s{_tladRules = a}) . _Default . _Map++-- | The default value of the attribute (if configured).+tladDefaultValue :: Lens' TypedLinkAttributeDefinition (Maybe TypedAttributeValue)+tladDefaultValue = lens _tladDefaultValue (\ s a -> s{_tladDefaultValue = a})++-- | Whether the attribute is mutable or not.+tladIsImmutable :: Lens' TypedLinkAttributeDefinition (Maybe Bool)+tladIsImmutable = lens _tladIsImmutable (\ s a -> s{_tladIsImmutable = a})++-- | The unique name of the typed link attribute.+tladName :: Lens' TypedLinkAttributeDefinition Text+tladName = lens _tladName (\ s a -> s{_tladName = a})++-- | The type of the attribute.+tladType :: Lens' TypedLinkAttributeDefinition FacetAttributeType+tladType = lens _tladType (\ s a -> s{_tladType = a})++-- | The required behavior of the @TypedLinkAttributeDefinition@ .+tladRequiredBehavior :: Lens' TypedLinkAttributeDefinition RequiredAttributeBehavior+tladRequiredBehavior = lens _tladRequiredBehavior (\ s a -> s{_tladRequiredBehavior = a})++instance FromJSON TypedLinkAttributeDefinition where+        parseJSON+          = withObject "TypedLinkAttributeDefinition"+              (\ x ->+                 TypedLinkAttributeDefinition' <$>+                   (x .:? "Rules" .!= mempty) <*> (x .:? "DefaultValue")+                     <*> (x .:? "IsImmutable")+                     <*> (x .: "Name")+                     <*> (x .: "Type")+                     <*> (x .: "RequiredBehavior"))++instance Hashable TypedLinkAttributeDefinition where++instance NFData TypedLinkAttributeDefinition where++instance ToJSON TypedLinkAttributeDefinition where+        toJSON TypedLinkAttributeDefinition'{..}+          = object+              (catMaybes+                 [("Rules" .=) <$> _tladRules,+                  ("DefaultValue" .=) <$> _tladDefaultValue,+                  ("IsImmutable" .=) <$> _tladIsImmutable,+                  Just ("Name" .= _tladName),+                  Just ("Type" .= _tladType),+                  Just ("RequiredBehavior" .= _tladRequiredBehavior)])++-- | Identifies the range of attributes that are used by a specified filter.+--+--+--+-- /See:/ 'typedLinkAttributeRange' smart constructor.+data TypedLinkAttributeRange = TypedLinkAttributeRange'+  { _tlarAttributeName :: !(Maybe Text)+  , _tlarRange         :: !TypedAttributeValueRange+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TypedLinkAttributeRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tlarAttributeName' - The unique name of the typed link attribute.+--+-- * 'tlarRange' - The range of attribute values that are being selected.+typedLinkAttributeRange+    :: TypedAttributeValueRange -- ^ 'tlarRange'+    -> TypedLinkAttributeRange+typedLinkAttributeRange pRange_ =+  TypedLinkAttributeRange' {_tlarAttributeName = Nothing, _tlarRange = pRange_}+++-- | The unique name of the typed link attribute.+tlarAttributeName :: Lens' TypedLinkAttributeRange (Maybe Text)+tlarAttributeName = lens _tlarAttributeName (\ s a -> s{_tlarAttributeName = a})++-- | The range of attribute values that are being selected.+tlarRange :: Lens' TypedLinkAttributeRange TypedAttributeValueRange+tlarRange = lens _tlarRange (\ s a -> s{_tlarRange = a})++instance Hashable TypedLinkAttributeRange where++instance NFData TypedLinkAttributeRange where++instance ToJSON TypedLinkAttributeRange where+        toJSON TypedLinkAttributeRange'{..}+          = object+              (catMaybes+                 [("AttributeName" .=) <$> _tlarAttributeName,+                  Just ("Range" .= _tlarRange)])++-- | Defines the typed links structure and its attributes. To create a typed link facet, use the 'CreateTypedLinkFacet' API.+--+--+--+-- /See:/ 'typedLinkFacet' smart constructor.+data TypedLinkFacet = TypedLinkFacet'+  { _tlfName                   :: !Text+  , _tlfAttributes             :: ![TypedLinkAttributeDefinition]+  , _tlfIdentityAttributeOrder :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TypedLinkFacet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tlfName' - The unique name of the typed link facet.+--+-- * 'tlfAttributes' - A set of key-value pairs associated with the typed link. Typed link attributes are used when you have data values that are related to the link itself, and not to one of the two objects being linked. Identity attributes also serve to distinguish the link from others of the same type between the same objects.+--+-- * 'tlfIdentityAttributeOrder' - The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See 'ListOutgoingTypedLinks' and 'ListIncomingTypedLinks' for details.+typedLinkFacet+    :: Text -- ^ 'tlfName'+    -> TypedLinkFacet+typedLinkFacet pName_ =+  TypedLinkFacet'+    { _tlfName = pName_+    , _tlfAttributes = mempty+    , _tlfIdentityAttributeOrder = mempty+    }+++-- | The unique name of the typed link facet.+tlfName :: Lens' TypedLinkFacet Text+tlfName = lens _tlfName (\ s a -> s{_tlfName = a})++-- | A set of key-value pairs associated with the typed link. Typed link attributes are used when you have data values that are related to the link itself, and not to one of the two objects being linked. Identity attributes also serve to distinguish the link from others of the same type between the same objects.+tlfAttributes :: Lens' TypedLinkFacet [TypedLinkAttributeDefinition]+tlfAttributes = lens _tlfAttributes (\ s a -> s{_tlfAttributes = a}) . _Coerce++-- | The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See 'ListOutgoingTypedLinks' and 'ListIncomingTypedLinks' for details.+tlfIdentityAttributeOrder :: Lens' TypedLinkFacet [Text]+tlfIdentityAttributeOrder = lens _tlfIdentityAttributeOrder (\ s a -> s{_tlfIdentityAttributeOrder = a}) . _Coerce++instance Hashable TypedLinkFacet where++instance NFData TypedLinkFacet where++instance ToJSON TypedLinkFacet where+        toJSON TypedLinkFacet'{..}+          = object+              (catMaybes+                 [Just ("Name" .= _tlfName),+                  Just ("Attributes" .= _tlfAttributes),+                  Just+                    ("IdentityAttributeOrder" .=+                       _tlfIdentityAttributeOrder)])++-- | A typed link facet attribute update.+--+--+--+-- /See:/ 'typedLinkFacetAttributeUpdate' smart constructor.+data TypedLinkFacetAttributeUpdate = TypedLinkFacetAttributeUpdate'+  { _tlfauAttribute :: !TypedLinkAttributeDefinition+  , _tlfauAction    :: !UpdateActionType+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TypedLinkFacetAttributeUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tlfauAttribute' - The attribute to update.+--+-- * 'tlfauAction' - The action to perform when updating the attribute.+typedLinkFacetAttributeUpdate+    :: TypedLinkAttributeDefinition -- ^ 'tlfauAttribute'+    -> UpdateActionType -- ^ 'tlfauAction'+    -> TypedLinkFacetAttributeUpdate+typedLinkFacetAttributeUpdate pAttribute_ pAction_ =+  TypedLinkFacetAttributeUpdate'+    {_tlfauAttribute = pAttribute_, _tlfauAction = pAction_}+++-- | The attribute to update.+tlfauAttribute :: Lens' TypedLinkFacetAttributeUpdate TypedLinkAttributeDefinition+tlfauAttribute = lens _tlfauAttribute (\ s a -> s{_tlfauAttribute = a})++-- | The action to perform when updating the attribute.+tlfauAction :: Lens' TypedLinkFacetAttributeUpdate UpdateActionType+tlfauAction = lens _tlfauAction (\ s a -> s{_tlfauAction = a})++instance Hashable TypedLinkFacetAttributeUpdate where++instance NFData TypedLinkFacetAttributeUpdate where++instance ToJSON TypedLinkFacetAttributeUpdate where+        toJSON TypedLinkFacetAttributeUpdate'{..}+          = object+              (catMaybes+                 [Just ("Attribute" .= _tlfauAttribute),+                  Just ("Action" .= _tlfauAction)])++-- | Identifies the schema Amazon Resource Name (ARN) and facet name for the typed link.+--+--+--+-- /See:/ 'typedLinkSchemaAndFacetName' smart constructor.+data TypedLinkSchemaAndFacetName = TypedLinkSchemaAndFacetName'+  { _tlsafnSchemaARN     :: !Text+  , _tlsafnTypedLinkName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TypedLinkSchemaAndFacetName' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tlsafnSchemaARN' - The Amazon Resource Name (ARN) that is associated with the schema. For more information, see 'arns' .+--+-- * 'tlsafnTypedLinkName' - The unique name of the typed link facet.+typedLinkSchemaAndFacetName+    :: Text -- ^ 'tlsafnSchemaARN'+    -> Text -- ^ 'tlsafnTypedLinkName'+    -> TypedLinkSchemaAndFacetName+typedLinkSchemaAndFacetName pSchemaARN_ pTypedLinkName_ =+  TypedLinkSchemaAndFacetName'+    {_tlsafnSchemaARN = pSchemaARN_, _tlsafnTypedLinkName = pTypedLinkName_}+++-- | The Amazon Resource Name (ARN) that is associated with the schema. For more information, see 'arns' .+tlsafnSchemaARN :: Lens' TypedLinkSchemaAndFacetName Text+tlsafnSchemaARN = lens _tlsafnSchemaARN (\ s a -> s{_tlsafnSchemaARN = a})++-- | The unique name of the typed link facet.+tlsafnTypedLinkName :: Lens' TypedLinkSchemaAndFacetName Text+tlsafnTypedLinkName = lens _tlsafnTypedLinkName (\ s a -> s{_tlsafnTypedLinkName = a})++instance FromJSON TypedLinkSchemaAndFacetName where+        parseJSON+          = withObject "TypedLinkSchemaAndFacetName"+              (\ x ->+                 TypedLinkSchemaAndFacetName' <$>+                   (x .: "SchemaArn") <*> (x .: "TypedLinkName"))++instance Hashable TypedLinkSchemaAndFacetName where++instance NFData TypedLinkSchemaAndFacetName where++instance ToJSON TypedLinkSchemaAndFacetName where+        toJSON TypedLinkSchemaAndFacetName'{..}+          = object+              (catMaybes+                 [Just ("SchemaArn" .= _tlsafnSchemaARN),+                  Just ("TypedLinkName" .= _tlsafnTypedLinkName)])++-- | Contains all the information that is used to uniquely identify a typed link. The parameters discussed in this topic are used to uniquely specify the typed link being operated on. The 'AttachTypedLink' API returns a typed link specifier while the 'DetachTypedLink' API accepts one as input. Similarly, the 'ListIncomingTypedLinks' and 'ListOutgoingTypedLinks' API operations provide typed link specifiers as output. You can also construct a typed link specifier from scratch.+--+--+--+-- /See:/ 'typedLinkSpecifier' smart constructor.+data TypedLinkSpecifier = TypedLinkSpecifier'+  { _tlsTypedLinkFacet          :: !TypedLinkSchemaAndFacetName+  , _tlsSourceObjectReference   :: !ObjectReference+  , _tlsTargetObjectReference   :: !ObjectReference+  , _tlsIdentityAttributeValues :: ![AttributeNameAndValue]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TypedLinkSpecifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tlsTypedLinkFacet' - Identifies the typed link facet that is associated with the typed link.+--+-- * 'tlsSourceObjectReference' - Identifies the source object that the typed link will attach to.+--+-- * 'tlsTargetObjectReference' - Identifies the target object that the typed link will attach to.+--+-- * 'tlsIdentityAttributeValues' - Identifies the attribute value to update.+typedLinkSpecifier+    :: TypedLinkSchemaAndFacetName -- ^ 'tlsTypedLinkFacet'+    -> ObjectReference -- ^ 'tlsSourceObjectReference'+    -> ObjectReference -- ^ 'tlsTargetObjectReference'+    -> TypedLinkSpecifier+typedLinkSpecifier pTypedLinkFacet_ pSourceObjectReference_ pTargetObjectReference_ =+  TypedLinkSpecifier'+    { _tlsTypedLinkFacet = pTypedLinkFacet_+    , _tlsSourceObjectReference = pSourceObjectReference_+    , _tlsTargetObjectReference = pTargetObjectReference_+    , _tlsIdentityAttributeValues = mempty+    }+++-- | Identifies the typed link facet that is associated with the typed link.+tlsTypedLinkFacet :: Lens' TypedLinkSpecifier TypedLinkSchemaAndFacetName+tlsTypedLinkFacet = lens _tlsTypedLinkFacet (\ s a -> s{_tlsTypedLinkFacet = a})++-- | Identifies the source object that the typed link will attach to.+tlsSourceObjectReference :: Lens' TypedLinkSpecifier ObjectReference+tlsSourceObjectReference = lens _tlsSourceObjectReference (\ s a -> s{_tlsSourceObjectReference = a})++-- | Identifies the target object that the typed link will attach to.+tlsTargetObjectReference :: Lens' TypedLinkSpecifier ObjectReference+tlsTargetObjectReference = lens _tlsTargetObjectReference (\ s a -> s{_tlsTargetObjectReference = a})++-- | Identifies the attribute value to update.+tlsIdentityAttributeValues :: Lens' TypedLinkSpecifier [AttributeNameAndValue]+tlsIdentityAttributeValues = lens _tlsIdentityAttributeValues (\ s a -> s{_tlsIdentityAttributeValues = a}) . _Coerce  instance FromJSON TypedLinkSpecifier where         parseJSON
gen/Network/AWS/CloudDirectory/Types/Sum.hs view
@@ -9,7 +9,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.Types.Sum--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
gen/Network/AWS/CloudDirectory/UntagResource.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.UntagResource--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,11 +67,11 @@  -- | The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories. urResourceARN :: Lens' UntagResource Text-urResourceARN = lens _urResourceARN (\ s a -> s{_urResourceARN = a});+urResourceARN = lens _urResourceARN (\ s a -> s{_urResourceARN = a})  -- | Keys of the tag that need to be removed from the resource. urTagKeys :: Lens' UntagResource [Text]-urTagKeys = lens _urTagKeys (\ s a -> s{_urTagKeys = a}) . _Coerce;+urTagKeys = lens _urTagKeys (\ s a -> s{_urTagKeys = a}) . _Coerce  instance AWSRequest UntagResource where         type Rs UntagResource = UntagResourceResponse@@ -123,6 +123,6 @@  -- | -- | The response status code. urrsResponseStatus :: Lens' UntagResourceResponse Int-urrsResponseStatus = lens _urrsResponseStatus (\ s a -> s{_urrsResponseStatus = a});+urrsResponseStatus = lens _urrsResponseStatus (\ s a -> s{_urrsResponseStatus = a})  instance NFData UntagResourceResponse where
gen/Network/AWS/CloudDirectory/UpdateFacet.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.UpdateFacet--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -80,28 +80,28 @@     -> UpdateFacet updateFacet pSchemaARN_ pName_ =   UpdateFacet'-  { _ufObjectType = Nothing-  , _ufAttributeUpdates = Nothing-  , _ufSchemaARN = pSchemaARN_-  , _ufName = pName_-  }+    { _ufObjectType = Nothing+    , _ufAttributeUpdates = Nothing+    , _ufSchemaARN = pSchemaARN_+    , _ufName = pName_+    }   -- | The object type that is associated with the facet. See 'CreateFacetRequest$ObjectType' for more details. ufObjectType :: Lens' UpdateFacet (Maybe ObjectType)-ufObjectType = lens _ufObjectType (\ s a -> s{_ufObjectType = a});+ufObjectType = lens _ufObjectType (\ s a -> s{_ufObjectType = a})  -- | List of attributes that need to be updated in a given schema 'Facet' . Each attribute is followed by @AttributeAction@ , which specifies the type of update operation to perform. ufAttributeUpdates :: Lens' UpdateFacet [FacetAttributeUpdate]-ufAttributeUpdates = lens _ufAttributeUpdates (\ s a -> s{_ufAttributeUpdates = a}) . _Default . _Coerce;+ufAttributeUpdates = lens _ufAttributeUpdates (\ s a -> s{_ufAttributeUpdates = a}) . _Default . _Coerce  -- | The Amazon Resource Name (ARN) that is associated with the 'Facet' . For more information, see 'arns' . ufSchemaARN :: Lens' UpdateFacet Text-ufSchemaARN = lens _ufSchemaARN (\ s a -> s{_ufSchemaARN = a});+ufSchemaARN = lens _ufSchemaARN (\ s a -> s{_ufSchemaARN = a})  -- | The name of the facet. ufName :: Lens' UpdateFacet Text-ufName = lens _ufName (\ s a -> s{_ufName = a});+ufName = lens _ufName (\ s a -> s{_ufName = a})  instance AWSRequest UpdateFacet where         type Rs UpdateFacet = UpdateFacetResponse@@ -154,6 +154,6 @@  -- | -- | The response status code. ufrsResponseStatus :: Lens' UpdateFacetResponse Int-ufrsResponseStatus = lens _ufrsResponseStatus (\ s a -> s{_ufrsResponseStatus = a});+ufrsResponseStatus = lens _ufrsResponseStatus (\ s a -> s{_ufrsResponseStatus = a})  instance NFData UpdateFacetResponse where
gen/Network/AWS/CloudDirectory/UpdateObjectAttributes.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.UpdateObjectAttributes--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,23 +69,23 @@     -> UpdateObjectAttributes updateObjectAttributes pDirectoryARN_ pObjectReference_ =   UpdateObjectAttributes'-  { _uoaDirectoryARN = pDirectoryARN_-  , _uoaObjectReference = pObjectReference_-  , _uoaAttributeUpdates = mempty-  }+    { _uoaDirectoryARN = pDirectoryARN_+    , _uoaObjectReference = pObjectReference_+    , _uoaAttributeUpdates = mempty+    }   -- | The Amazon Resource Name (ARN) that is associated with the 'Directory' where the object resides. For more information, see 'arns' . uoaDirectoryARN :: Lens' UpdateObjectAttributes Text-uoaDirectoryARN = lens _uoaDirectoryARN (\ s a -> s{_uoaDirectoryARN = a});+uoaDirectoryARN = lens _uoaDirectoryARN (\ s a -> s{_uoaDirectoryARN = a})  -- | The reference that identifies the object. uoaObjectReference :: Lens' UpdateObjectAttributes ObjectReference-uoaObjectReference = lens _uoaObjectReference (\ s a -> s{_uoaObjectReference = a});+uoaObjectReference = lens _uoaObjectReference (\ s a -> s{_uoaObjectReference = a})  -- | The attributes update structure. uoaAttributeUpdates :: Lens' UpdateObjectAttributes [ObjectAttributeUpdate]-uoaAttributeUpdates = lens _uoaAttributeUpdates (\ s a -> s{_uoaAttributeUpdates = a}) . _Coerce;+uoaAttributeUpdates = lens _uoaAttributeUpdates (\ s a -> s{_uoaAttributeUpdates = a}) . _Coerce  instance AWSRequest UpdateObjectAttributes where         type Rs UpdateObjectAttributes =@@ -140,15 +140,15 @@     -> UpdateObjectAttributesResponse updateObjectAttributesResponse pResponseStatus_ =   UpdateObjectAttributesResponse'-  {_uoarsObjectIdentifier = Nothing, _uoarsResponseStatus = pResponseStatus_}+    {_uoarsObjectIdentifier = Nothing, _uoarsResponseStatus = pResponseStatus_}   -- | The @ObjectIdentifier@ of the updated object. uoarsObjectIdentifier :: Lens' UpdateObjectAttributesResponse (Maybe Text)-uoarsObjectIdentifier = lens _uoarsObjectIdentifier (\ s a -> s{_uoarsObjectIdentifier = a});+uoarsObjectIdentifier = lens _uoarsObjectIdentifier (\ s a -> s{_uoarsObjectIdentifier = a})  -- | -- | The response status code. uoarsResponseStatus :: Lens' UpdateObjectAttributesResponse Int-uoarsResponseStatus = lens _uoarsResponseStatus (\ s a -> s{_uoarsResponseStatus = a});+uoarsResponseStatus = lens _uoarsResponseStatus (\ s a -> s{_uoarsResponseStatus = a})  instance NFData UpdateObjectAttributesResponse where
gen/Network/AWS/CloudDirectory/UpdateSchema.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.UpdateSchema--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,11 +69,11 @@  -- | The Amazon Resource Name (ARN) of the development schema. For more information, see 'arns' . usSchemaARN :: Lens' UpdateSchema Text-usSchemaARN = lens _usSchemaARN (\ s a -> s{_usSchemaARN = a});+usSchemaARN = lens _usSchemaARN (\ s a -> s{_usSchemaARN = a})  -- | The name of the schema. usName :: Lens' UpdateSchema Text-usName = lens _usName (\ s a -> s{_usName = a});+usName = lens _usName (\ s a -> s{_usName = a})  instance AWSRequest UpdateSchema where         type Rs UpdateSchema = UpdateSchemaResponse@@ -123,15 +123,15 @@     -> UpdateSchemaResponse updateSchemaResponse pResponseStatus_ =   UpdateSchemaResponse'-  {_usrsSchemaARN = Nothing, _usrsResponseStatus = pResponseStatus_}+    {_usrsSchemaARN = Nothing, _usrsResponseStatus = pResponseStatus_}   -- | The ARN that is associated with the updated schema. For more information, see 'arns' . usrsSchemaARN :: Lens' UpdateSchemaResponse (Maybe Text)-usrsSchemaARN = lens _usrsSchemaARN (\ s a -> s{_usrsSchemaARN = a});+usrsSchemaARN = lens _usrsSchemaARN (\ s a -> s{_usrsSchemaARN = a})  -- | -- | The response status code. usrsResponseStatus :: Lens' UpdateSchemaResponse Int-usrsResponseStatus = lens _usrsResponseStatus (\ s a -> s{_usrsResponseStatus = a});+usrsResponseStatus = lens _usrsResponseStatus (\ s a -> s{_usrsResponseStatus = a})  instance NFData UpdateSchemaResponse where
gen/Network/AWS/CloudDirectory/UpdateTypedLinkFacet.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.UpdateTypedLinkFacet--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -72,28 +72,28 @@     -> UpdateTypedLinkFacet updateTypedLinkFacet pSchemaARN_ pName_ =   UpdateTypedLinkFacet'-  { _utlfSchemaARN = pSchemaARN_-  , _utlfName = pName_-  , _utlfAttributeUpdates = mempty-  , _utlfIdentityAttributeOrder = mempty-  }+    { _utlfSchemaARN = pSchemaARN_+    , _utlfName = pName_+    , _utlfAttributeUpdates = mempty+    , _utlfIdentityAttributeOrder = mempty+    }   -- | The Amazon Resource Name (ARN) that is associated with the schema. For more information, see 'arns' . utlfSchemaARN :: Lens' UpdateTypedLinkFacet Text-utlfSchemaARN = lens _utlfSchemaARN (\ s a -> s{_utlfSchemaARN = a});+utlfSchemaARN = lens _utlfSchemaARN (\ s a -> s{_utlfSchemaARN = a})  -- | The unique name of the typed link facet. utlfName :: Lens' UpdateTypedLinkFacet Text-utlfName = lens _utlfName (\ s a -> s{_utlfName = a});+utlfName = lens _utlfName (\ s a -> s{_utlfName = a})  -- | Attributes update structure. utlfAttributeUpdates :: Lens' UpdateTypedLinkFacet [TypedLinkFacetAttributeUpdate]-utlfAttributeUpdates = lens _utlfAttributeUpdates (\ s a -> s{_utlfAttributeUpdates = a}) . _Coerce;+utlfAttributeUpdates = lens _utlfAttributeUpdates (\ s a -> s{_utlfAttributeUpdates = a}) . _Coerce  -- | The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to a typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink Typed link> . utlfIdentityAttributeOrder :: Lens' UpdateTypedLinkFacet [Text]-utlfIdentityAttributeOrder = lens _utlfIdentityAttributeOrder (\ s a -> s{_utlfIdentityAttributeOrder = a}) . _Coerce;+utlfIdentityAttributeOrder = lens _utlfIdentityAttributeOrder (\ s a -> s{_utlfIdentityAttributeOrder = a}) . _Coerce  instance AWSRequest UpdateTypedLinkFacet where         type Rs UpdateTypedLinkFacet =@@ -151,6 +151,6 @@  -- | -- | The response status code. utlfrsResponseStatus :: Lens' UpdateTypedLinkFacetResponse Int-utlfrsResponseStatus = lens _utlfrsResponseStatus (\ s a -> s{_utlfrsResponseStatus = a});+utlfrsResponseStatus = lens _utlfrsResponseStatus (\ s a -> s{_utlfrsResponseStatus = a})  instance NFData UpdateTypedLinkFacetResponse where
+ gen/Network/AWS/CloudDirectory/UpgradeAppliedSchema.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudDirectory.UpgradeAppliedSchema+-- Copyright   : (c) 2013-2018 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)+--+-- Upgrades a single directory in-place using the @PublishedSchemaArn@ with schema updates found in @MinorVersion@ . Backwards-compatible minor version upgrades are instantaneously available for readers on all objects in the directory. Note: This is a synchronous API call and upgrades only one schema on a given directory per call. To upgrade multiple directories from one schema, you would need to call this API on each directory.+--+--+module Network.AWS.CloudDirectory.UpgradeAppliedSchema+    (+    -- * Creating a Request+      upgradeAppliedSchema+    , UpgradeAppliedSchema+    -- * Request Lenses+    , uasDryRun+    , uasPublishedSchemaARN+    , uasDirectoryARN++    -- * Destructuring the Response+    , upgradeAppliedSchemaResponse+    , UpgradeAppliedSchemaResponse+    -- * Response Lenses+    , uasrsDirectoryARN+    , uasrsUpgradedSchemaARN+    , uasrsResponseStatus+    ) where++import Network.AWS.CloudDirectory.Types+import Network.AWS.CloudDirectory.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'upgradeAppliedSchema' smart constructor.+data UpgradeAppliedSchema = UpgradeAppliedSchema'+  { _uasDryRun             :: !(Maybe Bool)+  , _uasPublishedSchemaARN :: !Text+  , _uasDirectoryARN       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpgradeAppliedSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uasDryRun' - Used for testing whether the major version schemas are backward compatible or not. If schema compatibility fails, an exception would be thrown else the call would succeed but no changes will be saved. This parameter is optional.+--+-- * 'uasPublishedSchemaARN' - The revision of the published schema to upgrade the directory to.+--+-- * 'uasDirectoryARN' - The ARN for the directory to which the upgraded schema will be applied.+upgradeAppliedSchema+    :: Text -- ^ 'uasPublishedSchemaARN'+    -> Text -- ^ 'uasDirectoryARN'+    -> UpgradeAppliedSchema+upgradeAppliedSchema pPublishedSchemaARN_ pDirectoryARN_ =+  UpgradeAppliedSchema'+    { _uasDryRun = Nothing+    , _uasPublishedSchemaARN = pPublishedSchemaARN_+    , _uasDirectoryARN = pDirectoryARN_+    }+++-- | Used for testing whether the major version schemas are backward compatible or not. If schema compatibility fails, an exception would be thrown else the call would succeed but no changes will be saved. This parameter is optional.+uasDryRun :: Lens' UpgradeAppliedSchema (Maybe Bool)+uasDryRun = lens _uasDryRun (\ s a -> s{_uasDryRun = a})++-- | The revision of the published schema to upgrade the directory to.+uasPublishedSchemaARN :: Lens' UpgradeAppliedSchema Text+uasPublishedSchemaARN = lens _uasPublishedSchemaARN (\ s a -> s{_uasPublishedSchemaARN = a})++-- | The ARN for the directory to which the upgraded schema will be applied.+uasDirectoryARN :: Lens' UpgradeAppliedSchema Text+uasDirectoryARN = lens _uasDirectoryARN (\ s a -> s{_uasDirectoryARN = a})++instance AWSRequest UpgradeAppliedSchema where+        type Rs UpgradeAppliedSchema =+             UpgradeAppliedSchemaResponse+        request = putJSON cloudDirectory+        response+          = receiveJSON+              (\ s h x ->+                 UpgradeAppliedSchemaResponse' <$>+                   (x .?> "DirectoryArn") <*>+                     (x .?> "UpgradedSchemaArn")+                     <*> (pure (fromEnum s)))++instance Hashable UpgradeAppliedSchema where++instance NFData UpgradeAppliedSchema where++instance ToHeaders UpgradeAppliedSchema where+        toHeaders = const mempty++instance ToJSON UpgradeAppliedSchema where+        toJSON UpgradeAppliedSchema'{..}+          = object+              (catMaybes+                 [("DryRun" .=) <$> _uasDryRun,+                  Just+                    ("PublishedSchemaArn" .= _uasPublishedSchemaARN),+                  Just ("DirectoryArn" .= _uasDirectoryARN)])++instance ToPath UpgradeAppliedSchema where+        toPath+          = const+              "/amazonclouddirectory/2017-01-11/schema/upgradeapplied"++instance ToQuery UpgradeAppliedSchema where+        toQuery = const mempty++-- | /See:/ 'upgradeAppliedSchemaResponse' smart constructor.+data UpgradeAppliedSchemaResponse = UpgradeAppliedSchemaResponse'+  { _uasrsDirectoryARN      :: !(Maybe Text)+  , _uasrsUpgradedSchemaARN :: !(Maybe Text)+  , _uasrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpgradeAppliedSchemaResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uasrsDirectoryARN' - The ARN of the directory that is returned as part of the response.+--+-- * 'uasrsUpgradedSchemaARN' - The ARN of the upgraded schema that is returned as part of the response.+--+-- * 'uasrsResponseStatus' - -- | The response status code.+upgradeAppliedSchemaResponse+    :: Int -- ^ 'uasrsResponseStatus'+    -> UpgradeAppliedSchemaResponse+upgradeAppliedSchemaResponse pResponseStatus_ =+  UpgradeAppliedSchemaResponse'+    { _uasrsDirectoryARN = Nothing+    , _uasrsUpgradedSchemaARN = Nothing+    , _uasrsResponseStatus = pResponseStatus_+    }+++-- | The ARN of the directory that is returned as part of the response.+uasrsDirectoryARN :: Lens' UpgradeAppliedSchemaResponse (Maybe Text)+uasrsDirectoryARN = lens _uasrsDirectoryARN (\ s a -> s{_uasrsDirectoryARN = a})++-- | The ARN of the upgraded schema that is returned as part of the response.+uasrsUpgradedSchemaARN :: Lens' UpgradeAppliedSchemaResponse (Maybe Text)+uasrsUpgradedSchemaARN = lens _uasrsUpgradedSchemaARN (\ s a -> s{_uasrsUpgradedSchemaARN = a})++-- | -- | The response status code.+uasrsResponseStatus :: Lens' UpgradeAppliedSchemaResponse Int+uasrsResponseStatus = lens _uasrsResponseStatus (\ s a -> s{_uasrsResponseStatus = a})++instance NFData UpgradeAppliedSchemaResponse where
+ gen/Network/AWS/CloudDirectory/UpgradePublishedSchema.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudDirectory.UpgradePublishedSchema+-- Copyright   : (c) 2013-2018 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)+--+-- Upgrades a published schema under a new minor version revision using the current contents of @DevelopmentSchemaArn@ .+--+--+module Network.AWS.CloudDirectory.UpgradePublishedSchema+    (+    -- * Creating a Request+      upgradePublishedSchema+    , UpgradePublishedSchema+    -- * Request Lenses+    , upsDryRun+    , upsDevelopmentSchemaARN+    , upsPublishedSchemaARN+    , upsMinorVersion++    -- * Destructuring the Response+    , upgradePublishedSchemaResponse+    , UpgradePublishedSchemaResponse+    -- * Response Lenses+    , upsrsUpgradedSchemaARN+    , upsrsResponseStatus+    ) where++import Network.AWS.CloudDirectory.Types+import Network.AWS.CloudDirectory.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'upgradePublishedSchema' smart constructor.+data UpgradePublishedSchema = UpgradePublishedSchema'+  { _upsDryRun               :: !(Maybe Bool)+  , _upsDevelopmentSchemaARN :: !Text+  , _upsPublishedSchemaARN   :: !Text+  , _upsMinorVersion         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpgradePublishedSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upsDryRun' - Used for testing whether the Development schema provided is backwards compatible, or not, with the publish schema provided by the user to be upgraded. If schema compatibility fails, an exception would be thrown else the call would succeed. This parameter is optional and defaults to false.+--+-- * 'upsDevelopmentSchemaARN' - The ARN of the development schema with the changes used for the upgrade.+--+-- * 'upsPublishedSchemaARN' - The ARN of the published schema to be upgraded.+--+-- * 'upsMinorVersion' - Identifies the minor version of the published schema that will be created. This parameter is NOT optional.+upgradePublishedSchema+    :: Text -- ^ 'upsDevelopmentSchemaARN'+    -> Text -- ^ 'upsPublishedSchemaARN'+    -> Text -- ^ 'upsMinorVersion'+    -> UpgradePublishedSchema+upgradePublishedSchema pDevelopmentSchemaARN_ pPublishedSchemaARN_ pMinorVersion_ =+  UpgradePublishedSchema'+    { _upsDryRun = Nothing+    , _upsDevelopmentSchemaARN = pDevelopmentSchemaARN_+    , _upsPublishedSchemaARN = pPublishedSchemaARN_+    , _upsMinorVersion = pMinorVersion_+    }+++-- | Used for testing whether the Development schema provided is backwards compatible, or not, with the publish schema provided by the user to be upgraded. If schema compatibility fails, an exception would be thrown else the call would succeed. This parameter is optional and defaults to false.+upsDryRun :: Lens' UpgradePublishedSchema (Maybe Bool)+upsDryRun = lens _upsDryRun (\ s a -> s{_upsDryRun = a})++-- | The ARN of the development schema with the changes used for the upgrade.+upsDevelopmentSchemaARN :: Lens' UpgradePublishedSchema Text+upsDevelopmentSchemaARN = lens _upsDevelopmentSchemaARN (\ s a -> s{_upsDevelopmentSchemaARN = a})++-- | The ARN of the published schema to be upgraded.+upsPublishedSchemaARN :: Lens' UpgradePublishedSchema Text+upsPublishedSchemaARN = lens _upsPublishedSchemaARN (\ s a -> s{_upsPublishedSchemaARN = a})++-- | Identifies the minor version of the published schema that will be created. This parameter is NOT optional.+upsMinorVersion :: Lens' UpgradePublishedSchema Text+upsMinorVersion = lens _upsMinorVersion (\ s a -> s{_upsMinorVersion = a})++instance AWSRequest UpgradePublishedSchema where+        type Rs UpgradePublishedSchema =+             UpgradePublishedSchemaResponse+        request = putJSON cloudDirectory+        response+          = receiveJSON+              (\ s h x ->+                 UpgradePublishedSchemaResponse' <$>+                   (x .?> "UpgradedSchemaArn") <*> (pure (fromEnum s)))++instance Hashable UpgradePublishedSchema where++instance NFData UpgradePublishedSchema where++instance ToHeaders UpgradePublishedSchema where+        toHeaders = const mempty++instance ToJSON UpgradePublishedSchema where+        toJSON UpgradePublishedSchema'{..}+          = object+              (catMaybes+                 [("DryRun" .=) <$> _upsDryRun,+                  Just+                    ("DevelopmentSchemaArn" .= _upsDevelopmentSchemaARN),+                  Just+                    ("PublishedSchemaArn" .= _upsPublishedSchemaARN),+                  Just ("MinorVersion" .= _upsMinorVersion)])++instance ToPath UpgradePublishedSchema where+        toPath+          = const+              "/amazonclouddirectory/2017-01-11/schema/upgradepublished"++instance ToQuery UpgradePublishedSchema where+        toQuery = const mempty++-- | /See:/ 'upgradePublishedSchemaResponse' smart constructor.+data UpgradePublishedSchemaResponse = UpgradePublishedSchemaResponse'+  { _upsrsUpgradedSchemaARN :: !(Maybe Text)+  , _upsrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpgradePublishedSchemaResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upsrsUpgradedSchemaARN' - The ARN of the upgraded schema that is returned as part of the response.+--+-- * 'upsrsResponseStatus' - -- | The response status code.+upgradePublishedSchemaResponse+    :: Int -- ^ 'upsrsResponseStatus'+    -> UpgradePublishedSchemaResponse+upgradePublishedSchemaResponse pResponseStatus_ =+  UpgradePublishedSchemaResponse'+    {_upsrsUpgradedSchemaARN = Nothing, _upsrsResponseStatus = pResponseStatus_}+++-- | The ARN of the upgraded schema that is returned as part of the response.+upsrsUpgradedSchemaARN :: Lens' UpgradePublishedSchemaResponse (Maybe Text)+upsrsUpgradedSchemaARN = lens _upsrsUpgradedSchemaARN (\ s a -> s{_upsrsUpgradedSchemaARN = a})++-- | -- | The response status code.+upsrsResponseStatus :: Lens' UpgradePublishedSchemaResponse Int+upsrsResponseStatus = lens _upsrsResponseStatus (\ s a -> s{_upsrsResponseStatus = a})++instance NFData UpgradePublishedSchemaResponse where
gen/Network/AWS/CloudDirectory/Waiters.hs view
@@ -7,7 +7,7 @@  -- | -- Module      : Network.AWS.CloudDirectory.Waiters--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
test/Main.hs view
@@ -2,7 +2,7 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
test/Test/AWS/CloudDirectory.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.AWS.CloudDirectory--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated
test/Test/AWS/CloudDirectory/Internal.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.AWS.CloudDirectory.Internal--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated
test/Test/AWS/Gen/CloudDirectory.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Test.AWS.Gen.CloudDirectory--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -37,6 +37,9 @@ --         , requestListIndex $ --             listIndex --+--         , requestUpgradeAppliedSchema $+--             upgradeAppliedSchema+-- --         , requestGetDirectory $ --             getDirectory --@@ -82,6 +85,9 @@ --         , requestDeleteTypedLinkFacet $ --             deleteTypedLinkFacet --+--         , requestGetAppliedSchemaVersion $+--             getAppliedSchemaVersion+-- --         , requestRemoveFacetFromObject $ --             removeFacetFromObject --@@ -115,9 +121,15 @@ --         , requestCreateObject $ --             createObject --+--         , requestUpgradePublishedSchema $+--             upgradePublishedSchema+-- --         , requestCreateFacet $ --             createFacet --+--         , requestGetObjectAttributes $+--             getObjectAttributes+-- --         , requestDeleteFacet $ --             deleteFacet --@@ -217,6 +229,9 @@ --         , responseListIndex $ --             listIndexResponse --+--         , responseUpgradeAppliedSchema $+--             upgradeAppliedSchemaResponse+-- --         , responseGetDirectory $ --             getDirectoryResponse --@@ -262,6 +277,9 @@ --         , responseDeleteTypedLinkFacet $ --             deleteTypedLinkFacetResponse --+--         , responseGetAppliedSchemaVersion $+--             getAppliedSchemaVersionResponse+-- --         , responseRemoveFacetFromObject $ --             removeFacetFromObjectResponse --@@ -295,9 +313,15 @@ --         , responseCreateObject $ --             createObjectResponse --+--         , responseUpgradePublishedSchema $+--             upgradePublishedSchemaResponse+-- --         , responseCreateFacet $ --             createFacetResponse --+--         , responseGetObjectAttributes $+--             getObjectAttributesResponse+-- --         , responseDeleteFacet $ --             deleteFacetResponse --@@ -405,6 +429,11 @@     "ListIndex"     "fixture/ListIndex.yaml" +requestUpgradeAppliedSchema :: UpgradeAppliedSchema -> TestTree+requestUpgradeAppliedSchema = req+    "UpgradeAppliedSchema"+    "fixture/UpgradeAppliedSchema.yaml"+ requestGetDirectory :: GetDirectory -> TestTree requestGetDirectory = req     "GetDirectory"@@ -480,6 +509,11 @@     "DeleteTypedLinkFacet"     "fixture/DeleteTypedLinkFacet.yaml" +requestGetAppliedSchemaVersion :: GetAppliedSchemaVersion -> TestTree+requestGetAppliedSchemaVersion = req+    "GetAppliedSchemaVersion"+    "fixture/GetAppliedSchemaVersion.yaml"+ requestRemoveFacetFromObject :: RemoveFacetFromObject -> TestTree requestRemoveFacetFromObject = req     "RemoveFacetFromObject"@@ -535,11 +569,21 @@     "CreateObject"     "fixture/CreateObject.yaml" +requestUpgradePublishedSchema :: UpgradePublishedSchema -> TestTree+requestUpgradePublishedSchema = req+    "UpgradePublishedSchema"+    "fixture/UpgradePublishedSchema.yaml"+ requestCreateFacet :: CreateFacet -> TestTree requestCreateFacet = req     "CreateFacet"     "fixture/CreateFacet.yaml" +requestGetObjectAttributes :: GetObjectAttributes -> TestTree+requestGetObjectAttributes = req+    "GetObjectAttributes"+    "fixture/GetObjectAttributes.yaml"+ requestDeleteFacet :: DeleteFacet -> TestTree requestDeleteFacet = req     "DeleteFacet"@@ -708,6 +752,13 @@     cloudDirectory     (Proxy :: Proxy ListIndex) +responseUpgradeAppliedSchema :: UpgradeAppliedSchemaResponse -> TestTree+responseUpgradeAppliedSchema = res+    "UpgradeAppliedSchemaResponse"+    "fixture/UpgradeAppliedSchemaResponse.proto"+    cloudDirectory+    (Proxy :: Proxy UpgradeAppliedSchema)+ responseGetDirectory :: GetDirectoryResponse -> TestTree responseGetDirectory = res     "GetDirectoryResponse"@@ -813,6 +864,13 @@     cloudDirectory     (Proxy :: Proxy DeleteTypedLinkFacet) +responseGetAppliedSchemaVersion :: GetAppliedSchemaVersionResponse -> TestTree+responseGetAppliedSchemaVersion = res+    "GetAppliedSchemaVersionResponse"+    "fixture/GetAppliedSchemaVersionResponse.proto"+    cloudDirectory+    (Proxy :: Proxy GetAppliedSchemaVersion)+ responseRemoveFacetFromObject :: RemoveFacetFromObjectResponse -> TestTree responseRemoveFacetFromObject = res     "RemoveFacetFromObjectResponse"@@ -890,12 +948,26 @@     cloudDirectory     (Proxy :: Proxy CreateObject) +responseUpgradePublishedSchema :: UpgradePublishedSchemaResponse -> TestTree+responseUpgradePublishedSchema = res+    "UpgradePublishedSchemaResponse"+    "fixture/UpgradePublishedSchemaResponse.proto"+    cloudDirectory+    (Proxy :: Proxy UpgradePublishedSchema)+ responseCreateFacet :: CreateFacetResponse -> TestTree responseCreateFacet = res     "CreateFacetResponse"     "fixture/CreateFacetResponse.proto"     cloudDirectory     (Proxy :: Proxy CreateFacet)++responseGetObjectAttributes :: GetObjectAttributesResponse -> TestTree+responseGetObjectAttributes = res+    "GetObjectAttributesResponse"+    "fixture/GetObjectAttributesResponse.proto"+    cloudDirectory+    (Proxy :: Proxy GetObjectAttributes)  responseDeleteFacet :: DeleteFacetResponse -> TestTree responseDeleteFacet = res