amazonka-iot-1.4.3: gen/Network/AWS/IoT/SetDefaultPolicyVersion.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.IoT.SetDefaultPolicyVersion
-- Copyright : (c) 2013-2016 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Sets the specified version of the specified policy as the policy\'s default (operative) version. This action affects all certificates to which the policy is attached. To list the principals the policy is attached to, use the ListPrincipalPolicy API.
module Network.AWS.IoT.SetDefaultPolicyVersion
(
-- * Creating a Request
setDefaultPolicyVersion
, SetDefaultPolicyVersion
-- * Request Lenses
, sdpvPolicyName
, sdpvPolicyVersionId
-- * Destructuring the Response
, setDefaultPolicyVersionResponse
, SetDefaultPolicyVersionResponse
) where
import Network.AWS.IoT.Types
import Network.AWS.IoT.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
-- | The input for the SetDefaultPolicyVersion operation.
--
-- /See:/ 'setDefaultPolicyVersion' smart constructor.
data SetDefaultPolicyVersion = SetDefaultPolicyVersion'
{ _sdpvPolicyName :: !Text
, _sdpvPolicyVersionId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'SetDefaultPolicyVersion' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'sdpvPolicyName'
--
-- * 'sdpvPolicyVersionId'
setDefaultPolicyVersion
:: Text -- ^ 'sdpvPolicyName'
-> Text -- ^ 'sdpvPolicyVersionId'
-> SetDefaultPolicyVersion
setDefaultPolicyVersion pPolicyName_ pPolicyVersionId_ =
SetDefaultPolicyVersion'
{ _sdpvPolicyName = pPolicyName_
, _sdpvPolicyVersionId = pPolicyVersionId_
}
-- | The policy name.
sdpvPolicyName :: Lens' SetDefaultPolicyVersion Text
sdpvPolicyName = lens _sdpvPolicyName (\ s a -> s{_sdpvPolicyName = a});
-- | The policy version ID.
sdpvPolicyVersionId :: Lens' SetDefaultPolicyVersion Text
sdpvPolicyVersionId = lens _sdpvPolicyVersionId (\ s a -> s{_sdpvPolicyVersionId = a});
instance AWSRequest SetDefaultPolicyVersion where
type Rs SetDefaultPolicyVersion =
SetDefaultPolicyVersionResponse
request = patchJSON ioT
response
= receiveNull SetDefaultPolicyVersionResponse'
instance Hashable SetDefaultPolicyVersion
instance NFData SetDefaultPolicyVersion
instance ToHeaders SetDefaultPolicyVersion where
toHeaders = const mempty
instance ToJSON SetDefaultPolicyVersion where
toJSON = const (Object mempty)
instance ToPath SetDefaultPolicyVersion where
toPath SetDefaultPolicyVersion'{..}
= mconcat
["/policies/", toBS _sdpvPolicyName, "/version/",
toBS _sdpvPolicyVersionId]
instance ToQuery SetDefaultPolicyVersion where
toQuery = const mempty
-- | /See:/ 'setDefaultPolicyVersionResponse' smart constructor.
data SetDefaultPolicyVersionResponse =
SetDefaultPolicyVersionResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'SetDefaultPolicyVersionResponse' with the minimum fields required to make a request.
--
setDefaultPolicyVersionResponse
:: SetDefaultPolicyVersionResponse
setDefaultPolicyVersionResponse = SetDefaultPolicyVersionResponse'
instance NFData SetDefaultPolicyVersionResponse