packages feed

gogol-debugger-1.0.0: gen/Gogol/Debugger/Clouddebugger/Controller/Debuggees/Breakpoints/Update.hs

{-# 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.Debugger.Clouddebugger.Controller.Debuggees.Breakpoints.Update
-- Copyright   : (c) 2015-2025 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
--               Toni Cebrián <toni@tonicebrian.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates the breakpoint state or mutable fields. The entire Breakpoint message must be sent back to the controller service. Updates to active breakpoint fields are only allowed if the new value does not change the breakpoint specification. Updates to the @location@, @condition@ and @expressions@ fields should not alter the breakpoint semantics. These may only make changes such as canonicalizing a value or snapping the location to the correct line of code.
--
-- /See:/ <https://cloud.google.com/debugger Cloud Debugger API (Deprecated) Reference> for @clouddebugger.controller.debuggees.breakpoints.update@.
module Gogol.Debugger.Clouddebugger.Controller.Debuggees.Breakpoints.Update
  ( -- * Resource
    ClouddebuggerControllerDebuggeesBreakpointsUpdateResource,

    -- ** Constructing a Request
    ClouddebuggerControllerDebuggeesBreakpointsUpdate (..),
    newClouddebuggerControllerDebuggeesBreakpointsUpdate,
  )
where

import Gogol.Debugger.Types
import Gogol.Prelude qualified as Core

-- | A resource alias for @clouddebugger.controller.debuggees.breakpoints.update@ method which the
-- 'ClouddebuggerControllerDebuggeesBreakpointsUpdate' request conforms to.
type ClouddebuggerControllerDebuggeesBreakpointsUpdateResource =
  "v2"
    Core.:> "controller"
    Core.:> "debuggees"
    Core.:> Core.Capture "debuggeeId" Core.Text
    Core.:> "breakpoints"
    Core.:> Core.Capture "id" Core.Text
    Core.:> Core.QueryParam "$.xgafv" Xgafv
    Core.:> Core.QueryParam "access_token" Core.Text
    Core.:> Core.QueryParam "callback" 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] UpdateActiveBreakpointRequest
    Core.:> Core.Put '[Core.JSON] UpdateActiveBreakpointResponse

-- | Updates the breakpoint state or mutable fields. The entire Breakpoint message must be sent back to the controller service. Updates to active breakpoint fields are only allowed if the new value does not change the breakpoint specification. Updates to the @location@, @condition@ and @expressions@ fields should not alter the breakpoint semantics. These may only make changes such as canonicalizing a value or snapping the location to the correct line of code.
--
-- /See:/ 'newClouddebuggerControllerDebuggeesBreakpointsUpdate' smart constructor.
data ClouddebuggerControllerDebuggeesBreakpointsUpdate = ClouddebuggerControllerDebuggeesBreakpointsUpdate
  { -- | V1 error format.
    xgafv :: (Core.Maybe Xgafv),
    -- | OAuth access token.
    accessToken :: (Core.Maybe Core.Text),
    -- | JSONP
    callback :: (Core.Maybe Core.Text),
    -- | Required. Identifies the debuggee being debugged.
    debuggeeId :: Core.Text,
    -- | Breakpoint identifier, unique in the scope of the debuggee.
    id :: Core.Text,
    -- | Multipart request metadata.
    payload :: UpdateActiveBreakpointRequest,
    -- | 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 'ClouddebuggerControllerDebuggeesBreakpointsUpdate' with the minimum fields required to make a request.
newClouddebuggerControllerDebuggeesBreakpointsUpdate ::
  -- |  Required. Identifies the debuggee being debugged. See 'debuggeeId'.
  Core.Text ->
  -- |  Breakpoint identifier, unique in the scope of the debuggee. See 'id'.
  Core.Text ->
  -- |  Multipart request metadata. See 'payload'.
  UpdateActiveBreakpointRequest ->
  ClouddebuggerControllerDebuggeesBreakpointsUpdate
newClouddebuggerControllerDebuggeesBreakpointsUpdate
  debuggeeId
  id
  payload =
    ClouddebuggerControllerDebuggeesBreakpointsUpdate
      { xgafv =
          Core.Nothing,
        accessToken = Core.Nothing,
        callback = Core.Nothing,
        debuggeeId = debuggeeId,
        id = id,
        payload = payload,
        uploadType = Core.Nothing,
        uploadProtocol = Core.Nothing
      }

instance
  Core.GoogleRequest
    ClouddebuggerControllerDebuggeesBreakpointsUpdate
  where
  type
    Rs ClouddebuggerControllerDebuggeesBreakpointsUpdate =
      UpdateActiveBreakpointResponse
  type
    Scopes ClouddebuggerControllerDebuggeesBreakpointsUpdate =
      '[CloudPlatform'FullControl, CloudDebugger'FullControl]
  requestClient ClouddebuggerControllerDebuggeesBreakpointsUpdate {..} =
    go
      debuggeeId
      id
      xgafv
      accessToken
      callback
      uploadType
      uploadProtocol
      (Core.Just Core.AltJSON)
      payload
      debuggerService
    where
      go =
        Core.buildClient
          ( Core.Proxy ::
              Core.Proxy
                ClouddebuggerControllerDebuggeesBreakpointsUpdateResource
          )
          Core.mempty