{-# 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.CloudWatchEvents.DescribeEventBus -- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Displays the external AWS accounts that are permitted to write events to your account using your account's event bus, and the associated policy. To enable your account to receive events from other accounts, use 'PutPermission' . -- -- module Network.AWS.CloudWatchEvents.DescribeEventBus ( -- * Creating a Request describeEventBus , DescribeEventBus -- * Destructuring the Response , describeEventBusResponse , DescribeEventBusResponse -- * Response Lenses , debrsARN , debrsName , debrsPolicy , debrsResponseStatus ) where import Network.AWS.CloudWatchEvents.Types import Network.AWS.CloudWatchEvents.Types.Product import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | /See:/ 'describeEventBus' smart constructor. data DescribeEventBus = DescribeEventBus' deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'DescribeEventBus' with the minimum fields required to make a request. -- describeEventBus :: DescribeEventBus describeEventBus = DescribeEventBus' instance AWSRequest DescribeEventBus where type Rs DescribeEventBus = DescribeEventBusResponse request = postJSON cloudWatchEvents response = receiveJSON (\ s h x -> DescribeEventBusResponse' <$> (x .?> "Arn") <*> (x .?> "Name") <*> (x .?> "Policy") <*> (pure (fromEnum s))) instance Hashable DescribeEventBus where instance NFData DescribeEventBus where instance ToHeaders DescribeEventBus where toHeaders = const (mconcat ["X-Amz-Target" =# ("AWSEvents.DescribeEventBus" :: ByteString), "Content-Type" =# ("application/x-amz-json-1.1" :: ByteString)]) instance ToJSON DescribeEventBus where toJSON = const (Object mempty) instance ToPath DescribeEventBus where toPath = const "/" instance ToQuery DescribeEventBus where toQuery = const mempty -- | /See:/ 'describeEventBusResponse' smart constructor. data DescribeEventBusResponse = DescribeEventBusResponse' { _debrsARN :: !(Maybe Text) , _debrsName :: !(Maybe Text) , _debrsPolicy :: !(Maybe Text) , _debrsResponseStatus :: !Int } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'DescribeEventBusResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'debrsARN' - The Amazon Resource Name (ARN) of the account permitted to write events to the current account. -- -- * 'debrsName' - The name of the event bus. Currently, this is always @default@ . -- -- * 'debrsPolicy' - The policy that enables the external account to send events to your account. -- -- * 'debrsResponseStatus' - -- | The response status code. describeEventBusResponse :: Int -- ^ 'debrsResponseStatus' -> DescribeEventBusResponse describeEventBusResponse pResponseStatus_ = DescribeEventBusResponse' { _debrsARN = Nothing , _debrsName = Nothing , _debrsPolicy = Nothing , _debrsResponseStatus = pResponseStatus_ } -- | The Amazon Resource Name (ARN) of the account permitted to write events to the current account. debrsARN :: Lens' DescribeEventBusResponse (Maybe Text) debrsARN = lens _debrsARN (\ s a -> s{_debrsARN = a}) -- | The name of the event bus. Currently, this is always @default@ . debrsName :: Lens' DescribeEventBusResponse (Maybe Text) debrsName = lens _debrsName (\ s a -> s{_debrsName = a}) -- | The policy that enables the external account to send events to your account. debrsPolicy :: Lens' DescribeEventBusResponse (Maybe Text) debrsPolicy = lens _debrsPolicy (\ s a -> s{_debrsPolicy = a}) -- | -- | The response status code. debrsResponseStatus :: Lens' DescribeEventBusResponse Int debrsResponseStatus = lens _debrsResponseStatus (\ s a -> s{_debrsResponseStatus = a}) instance NFData DescribeEventBusResponse where