packages feed

gogol-appengine-1.0.0: gen/Gogol/AppEngine/Apps/Services/Versions/Instances/Debug.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.AppEngine.Apps.Services.Versions.Instances.Debug
-- 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)
--
-- Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.
--
-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.instances.debug@.
module Gogol.AppEngine.Apps.Services.Versions.Instances.Debug
  ( -- * Resource
    AppEngineAppsServicesVersionsInstancesDebugResource,

    -- ** Constructing a Request
    AppEngineAppsServicesVersionsInstancesDebug (..),
    newAppEngineAppsServicesVersionsInstancesDebug,
  )
where

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

-- | A resource alias for @appengine.apps.services.versions.instances.debug@ method which the
-- 'AppEngineAppsServicesVersionsInstancesDebug' request conforms to.
type AppEngineAppsServicesVersionsInstancesDebugResource =
  "v1"
    Core.:> "apps"
    Core.:> Core.Capture "appsId" Core.Text
    Core.:> "services"
    Core.:> Core.Capture "servicesId" Core.Text
    Core.:> "versions"
    Core.:> Core.Capture "versionsId" Core.Text
    Core.:> "instances"
    Core.:> Core.CaptureMode "instancesId" "debug" 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] DebugInstanceRequest
    Core.:> Core.Post '[Core.JSON] Operation

-- | Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.
--
-- /See:/ 'newAppEngineAppsServicesVersionsInstancesDebug' smart constructor.
data AppEngineAppsServicesVersionsInstancesDebug = AppEngineAppsServicesVersionsInstancesDebug
  { -- | V1 error format.
    xgafv :: (Core.Maybe Xgafv),
    -- | OAuth access token.
    accessToken :: (Core.Maybe Core.Text),
    -- | Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1.
    appsId :: Core.Text,
    -- | JSONP
    callback :: (Core.Maybe Core.Text),
    -- | Part of @name@. See documentation of @appsId@.
    instancesId :: Core.Text,
    -- | Multipart request metadata.
    payload :: DebugInstanceRequest,
    -- | Part of @name@. See documentation of @appsId@.
    servicesId :: 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),
    -- | Part of @name@. See documentation of @appsId@.
    versionsId :: Core.Text
  }
  deriving (Core.Eq, Core.Show, Core.Generic)

-- | Creates a value of 'AppEngineAppsServicesVersionsInstancesDebug' with the minimum fields required to make a request.
newAppEngineAppsServicesVersionsInstancesDebug ::
  -- |  Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1. See 'appsId'.
  Core.Text ->
  -- |  Part of @name@. See documentation of @appsId@. See 'instancesId'.
  Core.Text ->
  -- |  Multipart request metadata. See 'payload'.
  DebugInstanceRequest ->
  -- |  Part of @name@. See documentation of @appsId@. See 'servicesId'.
  Core.Text ->
  -- |  Part of @name@. See documentation of @appsId@. See 'versionsId'.
  Core.Text ->
  AppEngineAppsServicesVersionsInstancesDebug
newAppEngineAppsServicesVersionsInstancesDebug
  appsId
  instancesId
  payload
  servicesId
  versionsId =
    AppEngineAppsServicesVersionsInstancesDebug
      { xgafv = Core.Nothing,
        accessToken = Core.Nothing,
        appsId = appsId,
        callback = Core.Nothing,
        instancesId = instancesId,
        payload = payload,
        servicesId = servicesId,
        uploadType = Core.Nothing,
        uploadProtocol = Core.Nothing,
        versionsId = versionsId
      }

instance
  Core.GoogleRequest
    AppEngineAppsServicesVersionsInstancesDebug
  where
  type Rs AppEngineAppsServicesVersionsInstancesDebug = Operation
  type
    Scopes AppEngineAppsServicesVersionsInstancesDebug =
      '[CloudPlatform'FullControl]
  requestClient AppEngineAppsServicesVersionsInstancesDebug {..} =
    go
      appsId
      servicesId
      versionsId
      instancesId
      xgafv
      accessToken
      callback
      uploadType
      uploadProtocol
      (Core.Just Core.AltJSON)
      payload
      appEngineService
    where
      go =
        Core.buildClient
          ( Core.Proxy ::
              Core.Proxy AppEngineAppsServicesVersionsInstancesDebugResource
          )
          Core.mempty