{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.Resource.ProximityBeacon.Beacons.Decommission
(
BeaconsDecommissionResource
, beaconsDecommission
, BeaconsDecommission
, beaXgafv
, beaUploadProtocol
, beaPp
, beaAccessToken
, beaBeaconName
, beaUploadType
, beaBearerToken
, beaProjectId
, beaCallback
) where
import Network.Google.Prelude
import Network.Google.ProximityBeacon.Types
type BeaconsDecommissionResource =
"v1beta1" :>
CaptureMode "beaconName" "decommission" Text :>
QueryParam "$.xgafv" Text :>
QueryParam "upload_protocol" Text :>
QueryParam "pp" Bool :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "bearer_token" Text :>
QueryParam "projectId" Text :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :> Post '[JSON] Empty
-- | Decommissions the specified beacon in the service. This beacon will no
-- longer be returned from \`beaconinfo.getforobserved\`. This operation is
-- permanent -- you will not be able to re-register a beacon with this ID
-- again. Authenticate using an [OAuth access
-- token](https:\/\/developers.google.com\/identity\/protocols\/OAuth2)
-- from a signed-in user with **Is owner** or **Can edit** permissions in
-- the Google Developers Console project.
--
-- /See:/ 'beaconsDecommission' smart constructor.
data BeaconsDecommission = BeaconsDecommission'
{ _beaXgafv :: !(Maybe Text)
, _beaUploadProtocol :: !(Maybe Text)
, _beaPp :: !Bool
, _beaAccessToken :: !(Maybe Text)
, _beaBeaconName :: !Text
, _beaUploadType :: !(Maybe Text)
, _beaBearerToken :: !(Maybe Text)
, _beaProjectId :: !(Maybe Text)
, _beaCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
-- | Creates a value of 'BeaconsDecommission' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'beaXgafv'
--
-- * 'beaUploadProtocol'
--
-- * 'beaPp'
--
-- * 'beaAccessToken'
--
-- * 'beaBeaconName'
--
-- * 'beaUploadType'
--
-- * 'beaBearerToken'
--
-- * 'beaProjectId'
--
-- * 'beaCallback'
beaconsDecommission
:: Text -- ^ 'beaBeaconName'
-> BeaconsDecommission
beaconsDecommission pBeaBeaconName_ =
BeaconsDecommission'
{ _beaXgafv = Nothing
, _beaUploadProtocol = Nothing
, _beaPp = True
, _beaAccessToken = Nothing
, _beaBeaconName = pBeaBeaconName_
, _beaUploadType = Nothing
, _beaBearerToken = Nothing
, _beaProjectId = Nothing
, _beaCallback = Nothing
}
-- | V1 error format.
beaXgafv :: Lens' BeaconsDecommission (Maybe Text)
beaXgafv = lens _beaXgafv (\ s a -> s{_beaXgafv = a})
-- | Upload protocol for media (e.g. \"raw\", \"multipart\").
beaUploadProtocol :: Lens' BeaconsDecommission (Maybe Text)
beaUploadProtocol
= lens _beaUploadProtocol
(\ s a -> s{_beaUploadProtocol = a})
-- | Pretty-print response.
beaPp :: Lens' BeaconsDecommission Bool
beaPp = lens _beaPp (\ s a -> s{_beaPp = a})
-- | OAuth access token.
beaAccessToken :: Lens' BeaconsDecommission (Maybe Text)
beaAccessToken
= lens _beaAccessToken
(\ s a -> s{_beaAccessToken = a})
-- | Beacon that should be decommissioned. A beacon name has the format
-- \"beacons\/N!beaconId\" where the beaconId is the base16 ID broadcast by
-- the beacon and N is a code for the beacon\'s type. Possible values are
-- \`3\` for Eddystone-UID, \`4\` for Eddystone-EID, \`1\` for iBeacon, or
-- \`5\` for AltBeacon. For Eddystone-EID beacons, you may use either the
-- current EID of the beacon\'s \"stable\" UID. Required.
beaBeaconName :: Lens' BeaconsDecommission Text
beaBeaconName
= lens _beaBeaconName
(\ s a -> s{_beaBeaconName = a})
-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
beaUploadType :: Lens' BeaconsDecommission (Maybe Text)
beaUploadType
= lens _beaUploadType
(\ s a -> s{_beaUploadType = a})
-- | OAuth bearer token.
beaBearerToken :: Lens' BeaconsDecommission (Maybe Text)
beaBearerToken
= lens _beaBearerToken
(\ s a -> s{_beaBearerToken = a})
-- | The project id of the beacon to decommission. If the project id is not
-- specified then the project making the request is used. The project id
-- must match the project that owns the beacon. Optional.
beaProjectId :: Lens' BeaconsDecommission (Maybe Text)
beaProjectId
= lens _beaProjectId (\ s a -> s{_beaProjectId = a})
-- | JSONP
beaCallback :: Lens' BeaconsDecommission (Maybe Text)
beaCallback
= lens _beaCallback (\ s a -> s{_beaCallback = a})
instance GoogleRequest BeaconsDecommission where
type Rs BeaconsDecommission = Empty
type Scopes BeaconsDecommission =
'["https://www.googleapis.com/auth/userlocation.beacon.registry"]
requestClient BeaconsDecommission'{..}
= go _beaBeaconName _beaXgafv _beaUploadProtocol
(Just _beaPp)
_beaAccessToken
_beaUploadType
_beaBearerToken
_beaProjectId
_beaCallback
(Just AltJSON)
proximityBeaconService
where go
= buildClient
(Proxy :: Proxy BeaconsDecommissionResource)
mempty