{-# 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.CertificateManager.AddTagsToCertificate -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Adds one or more tags to an ACM Certificate. Tags are labels that you -- can use to identify and organize your AWS resources. Each tag consists -- of a 'key' and an optional 'value'. You specify the certificate on input -- by its Amazon Resource Name (ARN). You specify the tag by using a -- key-value pair. -- -- You can apply a tag to just one certificate if you want to identify a -- specific characteristic of that certificate, or you can apply the same -- tag to multiple certificates if you want to filter for a common -- relationship among those certificates. Similarly, you can apply the same -- tag to multiple resources if you want to specify a relationship among -- those resources. For example, you can add the same tag to an ACM -- Certificate and an Elastic Load Balancing load balancer to indicate that -- they are both used by the same website. For more information, see -- . -- -- To remove one or more tags, use the < RemoveTagsFromCertificate> action. -- To view all of the tags that have been applied to the certificate, use -- the < ListTagsForCertificate> action. module Network.AWS.CertificateManager.AddTagsToCertificate ( -- * Creating a Request addTagsToCertificate , AddTagsToCertificate -- * Request Lenses , attcCertificateARN , attcTags -- * Destructuring the Response , addTagsToCertificateResponse , AddTagsToCertificateResponse ) where import Network.AWS.CertificateManager.Types import Network.AWS.CertificateManager.Types.Product import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | -- -- /See:/ 'addTagsToCertificate' smart constructor. data AddTagsToCertificate = AddTagsToCertificate' { _attcCertificateARN :: !Text , _attcTags :: !(List1 Tag) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'AddTagsToCertificate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'attcCertificateARN' -- -- * 'attcTags' addTagsToCertificate :: Text -- ^ 'attcCertificateARN' -> NonEmpty Tag -- ^ 'attcTags' -> AddTagsToCertificate addTagsToCertificate pCertificateARN_ pTags_ = AddTagsToCertificate' { _attcCertificateARN = pCertificateARN_ , _attcTags = _List1 # pTags_ } -- | String that contains the ARN of the ACM Certificate to which the tag is -- to be applied. This must be of the form: -- -- 'arn:aws:acm:region:123456789012:certificate\/12345678-1234-1234-1234-123456789012' -- -- For more information about ARNs, see -- . attcCertificateARN :: Lens' AddTagsToCertificate Text attcCertificateARN = lens _attcCertificateARN (\ s a -> s{_attcCertificateARN = a}); -- | The key-value pair that defines the tag. The tag value is optional. attcTags :: Lens' AddTagsToCertificate (NonEmpty Tag) attcTags = lens _attcTags (\ s a -> s{_attcTags = a}) . _List1; instance AWSRequest AddTagsToCertificate where type Rs AddTagsToCertificate = AddTagsToCertificateResponse request = postJSON certificateManager response = receiveNull AddTagsToCertificateResponse' instance Hashable AddTagsToCertificate instance NFData AddTagsToCertificate instance ToHeaders AddTagsToCertificate where toHeaders = const (mconcat ["X-Amz-Target" =# ("CertificateManager.AddTagsToCertificate" :: ByteString), "Content-Type" =# ("application/x-amz-json-1.1" :: ByteString)]) instance ToJSON AddTagsToCertificate where toJSON AddTagsToCertificate'{..} = object (catMaybes [Just ("CertificateArn" .= _attcCertificateARN), Just ("Tags" .= _attcTags)]) instance ToPath AddTagsToCertificate where toPath = const "/" instance ToQuery AddTagsToCertificate where toQuery = const mempty -- | /See:/ 'addTagsToCertificateResponse' smart constructor. data AddTagsToCertificateResponse = AddTagsToCertificateResponse' deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'AddTagsToCertificateResponse' with the minimum fields required to make a request. -- addTagsToCertificateResponse :: AddTagsToCertificateResponse addTagsToCertificateResponse = AddTagsToCertificateResponse' instance NFData AddTagsToCertificateResponse