{-# 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 #-}
module Network.AWS.CloudDirectory.CreateTypedLinkFacet
(
createTypedLinkFacet
, CreateTypedLinkFacet
, ctlfSchemaARN
, ctlfFacet
, createTypedLinkFacetResponse
, CreateTypedLinkFacetResponse
, ctlfrsResponseStatus
) 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
data CreateTypedLinkFacet = CreateTypedLinkFacet'
{ _ctlfSchemaARN :: !Text
, _ctlfFacet :: !TypedLinkFacet
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createTypedLinkFacet
:: Text
-> TypedLinkFacet
-> CreateTypedLinkFacet
createTypedLinkFacet pSchemaARN_ pFacet_ =
CreateTypedLinkFacet' {_ctlfSchemaARN = pSchemaARN_, _ctlfFacet = pFacet_}
ctlfSchemaARN :: Lens' CreateTypedLinkFacet Text
ctlfSchemaARN = lens _ctlfSchemaARN (\ s a -> s{_ctlfSchemaARN = a})
ctlfFacet :: Lens' CreateTypedLinkFacet TypedLinkFacet
ctlfFacet = lens _ctlfFacet (\ s a -> s{_ctlfFacet = a})
instance AWSRequest CreateTypedLinkFacet where
type Rs CreateTypedLinkFacet =
CreateTypedLinkFacetResponse
request = putJSON cloudDirectory
response
= receiveEmpty
(\ s h x ->
CreateTypedLinkFacetResponse' <$>
(pure (fromEnum s)))
instance Hashable CreateTypedLinkFacet where
instance NFData CreateTypedLinkFacet where
instance ToHeaders CreateTypedLinkFacet where
toHeaders CreateTypedLinkFacet'{..}
= mconcat ["x-amz-data-partition" =# _ctlfSchemaARN]
instance ToJSON CreateTypedLinkFacet where
toJSON CreateTypedLinkFacet'{..}
= object (catMaybes [Just ("Facet" .= _ctlfFacet)])
instance ToPath CreateTypedLinkFacet where
toPath
= const
"/amazonclouddirectory/2017-01-11/typedlink/facet/create"
instance ToQuery CreateTypedLinkFacet where
toQuery = const mempty
newtype CreateTypedLinkFacetResponse = CreateTypedLinkFacetResponse'
{ _ctlfrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createTypedLinkFacetResponse
:: Int
-> CreateTypedLinkFacetResponse
createTypedLinkFacetResponse pResponseStatus_ =
CreateTypedLinkFacetResponse' {_ctlfrsResponseStatus = pResponseStatus_}
ctlfrsResponseStatus :: Lens' CreateTypedLinkFacetResponse Int
ctlfrsResponseStatus = lens _ctlfrsResponseStatus (\ s a -> s{_ctlfrsResponseStatus = a})
instance NFData CreateTypedLinkFacetResponse where