amazonka-codepipeline-1.6.0: gen/Network/AWS/CodePipeline/ListWebhooks.hs
{-# 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.CodePipeline.ListWebhooks
-- 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)
--
-- Gets a listing of all the webhooks in this region for this account. The output lists all webhooks and includes the webhook URL and ARN, as well the configuration for each webhook.
--
--
module Network.AWS.CodePipeline.ListWebhooks
(
-- * Creating a Request
listWebhooks
, ListWebhooks
-- * Request Lenses
, lwNextToken
, lwMaxResults
-- * Destructuring the Response
, listWebhooksResponse
, ListWebhooksResponse
-- * Response Lenses
, lwrsNextToken
, lwrsWebhooks
, lwrsResponseStatus
) where
import Network.AWS.CodePipeline.Types
import Network.AWS.CodePipeline.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
-- | /See:/ 'listWebhooks' smart constructor.
data ListWebhooks = ListWebhooks'
{ _lwNextToken :: !(Maybe Text)
, _lwMaxResults :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
-- | Creates a value of 'ListWebhooks' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'lwNextToken' - The token that was returned from the previous ListWebhooks call, which can be used to return the next set of webhooks in the list.
--
-- * 'lwMaxResults' - The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value.
listWebhooks
:: ListWebhooks
listWebhooks = ListWebhooks' {_lwNextToken = Nothing, _lwMaxResults = Nothing}
-- | The token that was returned from the previous ListWebhooks call, which can be used to return the next set of webhooks in the list.
lwNextToken :: Lens' ListWebhooks (Maybe Text)
lwNextToken = lens _lwNextToken (\ s a -> s{_lwNextToken = a})
-- | The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value.
lwMaxResults :: Lens' ListWebhooks (Maybe Natural)
lwMaxResults = lens _lwMaxResults (\ s a -> s{_lwMaxResults = a}) . mapping _Nat
instance AWSRequest ListWebhooks where
type Rs ListWebhooks = ListWebhooksResponse
request = postJSON codePipeline
response
= receiveJSON
(\ s h x ->
ListWebhooksResponse' <$>
(x .?> "NextToken") <*> (x .?> "webhooks" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListWebhooks where
instance NFData ListWebhooks where
instance ToHeaders ListWebhooks where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodePipeline_20150709.ListWebhooks" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListWebhooks where
toJSON ListWebhooks'{..}
= object
(catMaybes
[("NextToken" .=) <$> _lwNextToken,
("MaxResults" .=) <$> _lwMaxResults])
instance ToPath ListWebhooks where
toPath = const "/"
instance ToQuery ListWebhooks where
toQuery = const mempty
-- | /See:/ 'listWebhooksResponse' smart constructor.
data ListWebhooksResponse = ListWebhooksResponse'
{ _lwrsNextToken :: !(Maybe Text)
, _lwrsWebhooks :: !(Maybe [ListWebhookItem])
, _lwrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
-- | Creates a value of 'ListWebhooksResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'lwrsNextToken' - If the amount of returned information is significantly large, an identifier is also returned and can be used in a subsequent ListWebhooks call to return the next set of webhooks in the list.
--
-- * 'lwrsWebhooks' - The JSON detail returned for each webhook in the list output for the ListWebhooks call.
--
-- * 'lwrsResponseStatus' - -- | The response status code.
listWebhooksResponse
:: Int -- ^ 'lwrsResponseStatus'
-> ListWebhooksResponse
listWebhooksResponse pResponseStatus_ =
ListWebhooksResponse'
{ _lwrsNextToken = Nothing
, _lwrsWebhooks = Nothing
, _lwrsResponseStatus = pResponseStatus_
}
-- | If the amount of returned information is significantly large, an identifier is also returned and can be used in a subsequent ListWebhooks call to return the next set of webhooks in the list.
lwrsNextToken :: Lens' ListWebhooksResponse (Maybe Text)
lwrsNextToken = lens _lwrsNextToken (\ s a -> s{_lwrsNextToken = a})
-- | The JSON detail returned for each webhook in the list output for the ListWebhooks call.
lwrsWebhooks :: Lens' ListWebhooksResponse [ListWebhookItem]
lwrsWebhooks = lens _lwrsWebhooks (\ s a -> s{_lwrsWebhooks = a}) . _Default . _Coerce
-- | -- | The response status code.
lwrsResponseStatus :: Lens' ListWebhooksResponse Int
lwrsResponseStatus = lens _lwrsResponseStatus (\ s a -> s{_lwrsResponseStatus = a})
instance NFData ListWebhooksResponse where