{-# LANGUAGE DataKinds #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-duplicate-exports #-} {-# OPTIONS_GHC -fno-warn-name-shadowing #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- | -- Module : Gogol.ProximityBeacon.Beacons.Update -- Copyright : (c) 2015-2025 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Toni Cebrián -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Updates the information about the specified beacon. __Any field that you do not populate in the submitted beacon will be permanently erased__, so you should follow the \"read, modify, write\" pattern to avoid inadvertently destroying data. -- -- Changes to the beacon status via this method will be silently ignored. To update beacon status, use the separate methods on this API for activation, deactivation, and decommissioning. Authenticate using an from a signed-in user with __Is owner__ or __Can edit__ permissions in the Google Developers Console project. -- -- /See:/ for @proximitybeacon.beacons.update@. module Gogol.ProximityBeacon.Beacons.Update ( -- * Resource ProximityBeaconBeaconsUpdateResource, -- ** Constructing a Request ProximityBeaconBeaconsUpdate (..), newProximityBeaconBeaconsUpdate, ) where import Gogol.Prelude qualified as Core import Gogol.ProximityBeacon.Types -- | A resource alias for @proximitybeacon.beacons.update@ method which the -- 'ProximityBeaconBeaconsUpdate' request conforms to. type ProximityBeaconBeaconsUpdateResource = "v1beta1" Core.:> Core.Capture "beaconName" Core.Text Core.:> Core.QueryParam "$.xgafv" Xgafv Core.:> Core.QueryParam "access_token" Core.Text Core.:> Core.QueryParam "callback" Core.Text Core.:> Core.QueryParam "projectId" Core.Text Core.:> Core.QueryParam "uploadType" Core.Text Core.:> Core.QueryParam "upload_protocol" Core.Text Core.:> Core.QueryParam "alt" Core.AltJSON Core.:> Core.ReqBody '[Core.JSON] Beacon Core.:> Core.Put '[Core.JSON] Beacon -- | Updates the information about the specified beacon. __Any field that you do not populate in the submitted beacon will be permanently erased__, so you should follow the \"read, modify, write\" pattern to avoid inadvertently destroying data. -- -- Changes to the beacon status via this method will be silently ignored. To update beacon status, use the separate methods on this API for activation, deactivation, and decommissioning. Authenticate using an from a signed-in user with __Is owner__ or __Can edit__ permissions in the Google Developers Console project. -- -- /See:/ 'newProximityBeaconBeaconsUpdate' smart constructor. data ProximityBeaconBeaconsUpdate = ProximityBeaconBeaconsUpdate { -- | V1 error format. xgafv :: (Core.Maybe Xgafv), -- | OAuth access token. accessToken :: (Core.Maybe Core.Text), -- | Resource name of this beacon. 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, @1@ for iBeacon, or @5@ for AltBeacon. -- -- This field must be left empty when registering. After reading a beacon, clients can use the name for future operations. beaconName :: Core.Text, -- | JSONP callback :: (Core.Maybe Core.Text), -- | Multipart request metadata. payload :: Beacon, -- | The project id of the beacon to update. 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. projectId :: (Core.Maybe Core.Text), -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\"). uploadType :: (Core.Maybe Core.Text), -- | Upload protocol for media (e.g. \"raw\", \"multipart\"). uploadProtocol :: (Core.Maybe Core.Text) } deriving (Core.Eq, Core.Show, Core.Generic) -- | Creates a value of 'ProximityBeaconBeaconsUpdate' with the minimum fields required to make a request. newProximityBeaconBeaconsUpdate :: -- | Resource name of this beacon. 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, @1@ for iBeacon, or @5@ for AltBeacon. -- -- This field must be left empty when registering. After reading a beacon, clients can use the name for future operations. See 'beaconName'. Core.Text -> -- | Multipart request metadata. See 'payload'. Beacon -> ProximityBeaconBeaconsUpdate newProximityBeaconBeaconsUpdate beaconName payload = ProximityBeaconBeaconsUpdate { xgafv = Core.Nothing, accessToken = Core.Nothing, beaconName = beaconName, callback = Core.Nothing, payload = payload, projectId = Core.Nothing, uploadType = Core.Nothing, uploadProtocol = Core.Nothing } instance Core.GoogleRequest ProximityBeaconBeaconsUpdate where type Rs ProximityBeaconBeaconsUpdate = Beacon type Scopes ProximityBeaconBeaconsUpdate = '[Userlocation'Beacon'Registry] requestClient ProximityBeaconBeaconsUpdate {..} = go beaconName xgafv accessToken callback projectId uploadType uploadProtocol (Core.Just Core.AltJSON) payload proximityBeaconService where go = Core.buildClient (Core.Proxy :: Core.Proxy ProximityBeaconBeaconsUpdateResource) Core.mempty