-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google Stackdriver Debugger SDK.
--   
--   Examines the call stack and variables of a running application without
--   stopping or slowing it down.
--   
--   <i>Warning:</i> This is an experimental prototype/preview release
--   which is still under exploratory development and not intended for
--   public use, caveat emptor!
--   
--   This library is compatible with version <tt>v2</tt> of the API.
@package gogol-debugger
@version 0.3.0


module Network.Google.Debugger.Types

-- | Default request referring to version <tt>v2</tt> of the Stackdriver
--   Debugger API. This contains the host and root path used as a starting
--   point for constructing service requests.
debuggerService :: ServiceConfig

-- | Manage cloud debugger
cloudDebuggerScope :: Proxy '["https://www.googleapis.com/auth/cloud_debugger"]

-- | View and manage your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]

-- | Response for registering a debuggee.
--   
--   <i>See:</i> <a>registerDebuggeeResponse</a> smart constructor.
data RegisterDebuggeeResponse

-- | Creates a value of <a>RegisterDebuggeeResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdrDebuggee</a></li>
--   </ul>
registerDebuggeeResponse :: RegisterDebuggeeResponse

-- | Debuggee resource. The field `id` is guranteed to be set (in addition
--   to the echoed fields).
rdrDebuggee :: Lens' RegisterDebuggeeResponse (Maybe Debuggee)

-- | A SourceContext is a reference to a tree of files. A SourceContext
--   together with a path point to a unique revision of a single file or
--   directory.
--   
--   <i>See:</i> <a>sourceContext</a> smart constructor.
data SourceContext

-- | Creates a value of <a>SourceContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scCloudWorkspace</a></li>
--   <li><a>scCloudRepo</a></li>
--   <li><a>scGerrit</a></li>
--   <li><a>scGit</a></li>
--   </ul>
sourceContext :: SourceContext

-- | A SourceContext referring to a snapshot in a cloud workspace.
scCloudWorkspace :: Lens' SourceContext (Maybe CloudWorkspaceSourceContext)

-- | A SourceContext referring to a revision in a cloud repo.
scCloudRepo :: Lens' SourceContext (Maybe CloudRepoSourceContext)

-- | A SourceContext referring to a Gerrit project.
scGerrit :: Lens' SourceContext (Maybe GerritSourceContext)

-- | A SourceContext referring to any third party Git repo (e.g. GitHub).
scGit :: Lens' SourceContext (Maybe GitSourceContext)

-- | Response for setting a breakpoint.
--   
--   <i>See:</i> <a>setBreakpointResponse</a> smart constructor.
data SetBreakpointResponse

-- | Creates a value of <a>SetBreakpointResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sbrBreakpoint</a></li>
--   </ul>
setBreakpointResponse :: SetBreakpointResponse

-- | Breakpoint resource. The field `id` is guaranteed to be set (in
--   addition to the echoed fileds).
sbrBreakpoint :: Lens' SetBreakpointResponse (Maybe Breakpoint)

-- | A generic empty message that you can re-use to avoid defining
--   duplicated empty messages in your APIs. A typical example is to use it
--   as the request or the response type of an API method. For instance:
--   service Foo { rpc Bar(google.protobuf.Empty) returns
--   (google.protobuf.Empty); } The JSON representation for `Empty` is
--   empty JSON object `{}`.
--   
--   <i>See:</i> <a>empty</a> smart constructor.
data Empty

-- | Creates a value of <a>Empty</a> with the minimum fields required to
--   make a request.
empty :: Empty

-- | Response for updating an active breakpoint. The message is defined to
--   allow future extensions.
--   
--   <i>See:</i> <a>updateActiveBreakpointResponse</a> smart constructor.
data UpdateActiveBreakpointResponse

-- | Creates a value of <a>UpdateActiveBreakpointResponse</a> with the
--   minimum fields required to make a request.
updateActiveBreakpointResponse :: UpdateActiveBreakpointResponse

-- | A SourceContext referring to a Gerrit project.
--   
--   <i>See:</i> <a>gerritSourceContext</a> smart constructor.
data GerritSourceContext

-- | Creates a value of <a>GerritSourceContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gscGerritProject</a></li>
--   <li><a>gscAliasName</a></li>
--   <li><a>gscRevisionId</a></li>
--   <li><a>gscHostURI</a></li>
--   <li><a>gscAliasContext</a></li>
--   </ul>
gerritSourceContext :: GerritSourceContext

-- | The full project name within the host. Projects may be nested, so
--   "project/subproject" is a valid project name. The "repo name" is
--   hostURI/project.
gscGerritProject :: Lens' GerritSourceContext (Maybe Text)

-- | The name of an alias (branch, tag, etc.).
gscAliasName :: Lens' GerritSourceContext (Maybe Text)

-- | A revision (commit) ID.
gscRevisionId :: Lens' GerritSourceContext (Maybe Text)

-- | The URI of a running Gerrit instance.
gscHostURI :: Lens' GerritSourceContext (Maybe Text)

-- | An alias, which may be a branch or tag.
gscAliasContext :: Lens' GerritSourceContext (Maybe AliasContext)

-- | A unique identifier for a cloud repo.
--   
--   <i>See:</i> <a>repoId</a> smart constructor.
data RepoId

-- | Creates a value of <a>RepoId</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riUid</a></li>
--   <li><a>riProjectRepoId</a></li>
--   </ul>
repoId :: RepoId

-- | A server-assigned, globally unique identifier.
riUid :: Lens' RepoId (Maybe Text)

-- | A combination of a project ID and a repo name.
riProjectRepoId :: Lens' RepoId (Maybe ProjectRepoId)

-- | Labels with user defined metadata.
--   
--   <i>See:</i> <a>extendedSourceContextLabels</a> smart constructor.
data ExtendedSourceContextLabels

-- | Creates a value of <a>ExtendedSourceContextLabels</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>esclAddtional</a></li>
--   </ul>
extendedSourceContextLabels :: HashMap Text Text -> ExtendedSourceContextLabels
esclAddtional :: Lens' ExtendedSourceContextLabels (HashMap Text Text)

-- | Selects a repo using a Google Cloud Platform project ID (e.g.
--   winged-cargo-31) and a repo name within that project.
--   
--   <i>See:</i> <a>projectRepoId</a> smart constructor.
data ProjectRepoId

-- | Creates a value of <a>ProjectRepoId</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>priRepoName</a></li>
--   <li><a>priProjectId</a></li>
--   </ul>
projectRepoId :: ProjectRepoId

-- | The name of the repo. Leave empty for the default repo.
priRepoName :: Lens' ProjectRepoId (Maybe Text)

-- | The ID of the project.
priProjectId :: Lens' ProjectRepoId (Maybe Text)

-- | Represents a message with parameters.
--   
--   <i>See:</i> <a>formatMessage</a> smart constructor.
data FormatMessage

-- | Creates a value of <a>FormatMessage</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fmFormat</a></li>
--   <li><a>fmParameters</a></li>
--   </ul>
formatMessage :: FormatMessage
fmFormat :: Lens' FormatMessage (Maybe Text)

-- | Optional parameters to be embedded into the message.
fmParameters :: Lens' FormatMessage [Text]

-- | Represents the breakpoint specification, status and results.
--   
--   <i>See:</i> <a>breakpoint</a> smart constructor.
data Breakpoint

-- | Creates a value of <a>Breakpoint</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bStatus</a></li>
--   <li><a>bLogLevel</a></li>
--   <li><a>bLocation</a></li>
--   <li><a>bAction</a></li>
--   <li><a>bFinalTime</a></li>
--   <li><a>bExpressions</a></li>
--   <li><a>bLogMessageFormat</a></li>
--   <li><a>bId</a></li>
--   <li><a>bLabels</a></li>
--   <li><a>bUserEmail</a></li>
--   <li><a>bVariableTable</a></li>
--   <li><a>bStackFrames</a></li>
--   <li><a>bCondition</a></li>
--   <li><a>bEvaluatedExpressions</a></li>
--   <li><a>bCreateTime</a></li>
--   <li><a>bIsFinalState</a></li>
--   </ul>
breakpoint :: Breakpoint

-- | Breakpoint status. The status includes an error flag and a human
--   readable message. This field is usually unset. The message can be
--   either informational or an error message. Regardless, clients should
--   always display the text message back to the user. Error status
--   indicates complete failure of the breakpoint. Example (non-final
--   state): `Still loading symbols...` Examples (final state): * `Invalid
--   line number` referring to location * `Field f not found in class C`
--   referring to condition
bStatus :: Lens' Breakpoint (Maybe StatusMessage)

-- | Indicates the severity of the log. Only relevant when action is `LOG`.
bLogLevel :: Lens' Breakpoint (Maybe BreakpointLogLevel)

-- | Breakpoint source location.
bLocation :: Lens' Breakpoint (Maybe SourceLocation)

-- | Action that the agent should perform when the code at the breakpoint
--   location is hit.
bAction :: Lens' Breakpoint (Maybe BreakpointAction)

-- | Time this breakpoint was finalized as seen by the server in seconds
--   resolution.
bFinalTime :: Lens' Breakpoint (Maybe UTCTime)

-- | List of read-only expressions to evaluate at the breakpoint location.
--   The expressions are composed using expressions in the programming
--   language at the source location. If the breakpoint action is `LOG`,
--   the evaluated expressions are included in log statements.
bExpressions :: Lens' Breakpoint [Text]
bLogMessageFormat :: Lens' Breakpoint (Maybe Text)

-- | Breakpoint identifier, unique in the scope of the debuggee.
bId :: Lens' Breakpoint (Maybe Text)

-- | A set of custom breakpoint properties, populated by the agent, to be
--   displayed to the user.
bLabels :: Lens' Breakpoint (Maybe BreakpointLabels)

-- | E-mail address of the user that created this breakpoint
bUserEmail :: Lens' Breakpoint (Maybe Text)

-- | The `variable_table` exists to aid with computation, memory and
--   network traffic optimization. It enables storing a variable once and
--   reference it from multiple variables, including variables stored in
--   the `variable_table` itself. For example, the same `this` object,
--   which may appear at many levels of the stack, can have all of its data
--   stored once in this table. The stack frame variables then would hold
--   only a reference to it. The variable `var_table_index` field is an
--   index into this repeated field. The stored objects are nameless and
--   get their name from the referencing variable. The effective variable
--   is a merge of the referencing variable and the referenced variable.
bVariableTable :: Lens' Breakpoint [Variable]

-- | The stack at breakpoint time.
bStackFrames :: Lens' Breakpoint [StackFrame]

-- | Condition that triggers the breakpoint. The condition is a compound
--   boolean expression composed using expressions in a programming
--   language at the source location.
bCondition :: Lens' Breakpoint (Maybe Text)

-- | Values of evaluated expressions at breakpoint time. The evaluated
--   expressions appear in exactly the same order they are listed in the
--   `expressions` field. The `name` field holds the original expression
--   text, the `value` or `members` field holds the result of the evaluated
--   expression. If the expression cannot be evaluated, the `status` inside
--   the `Variable` will indicate an error and contain the error text.
bEvaluatedExpressions :: Lens' Breakpoint [Variable]

-- | Time this breakpoint was created by the server in seconds resolution.
bCreateTime :: Lens' Breakpoint (Maybe UTCTime)

-- | When true, indicates that this is a final result and the breakpoint
--   state will not change from here on.
bIsFinalState :: Lens' Breakpoint (Maybe Bool)

-- | A set of custom breakpoint properties, populated by the agent, to be
--   displayed to the user.
--   
--   <i>See:</i> <a>breakpointLabels</a> smart constructor.
data BreakpointLabels

-- | Creates a value of <a>BreakpointLabels</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>blAddtional</a></li>
--   </ul>
breakpointLabels :: HashMap Text Text -> BreakpointLabels
blAddtional :: Lens' BreakpointLabels (HashMap Text Text)

-- | Response for getting breakpoint information.
--   
--   <i>See:</i> <a>getBreakpointResponse</a> smart constructor.
data GetBreakpointResponse

-- | Creates a value of <a>GetBreakpointResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gbrBreakpoint</a></li>
--   </ul>
getBreakpointResponse :: GetBreakpointResponse

-- | Complete breakpoint state. The fields `id` and `location` are
--   guaranteed to be set.
gbrBreakpoint :: Lens' GetBreakpointResponse (Maybe Breakpoint)

-- | Represents a variable or an argument possibly of a compound object
--   type. Note how the following variables are represented: 1) A simple
--   variable: int x = 5 { name: "x", value: "5", type: "int" } // Captured
--   variable 2) A compound object: struct T { int m1; int m2; }; T x = {
--   3, 7 }; { // Captured variable name: "x", type: "T", members { name:
--   "m1", value: "3", type: "int" }, members { name: "m2", value: "7",
--   type: "int" } } 3) A pointer where the pointee was captured: T x = {
--   3, 7 }; T* p = &amp;x; { // Captured variable name: "p", type: "T*",
--   value: "0x00500500", members { name: "m1", value: "3", type: "int" },
--   members { name: "m2", value: "7", type: "int" } } 4) A pointer where
--   the pointee was not captured: T* p = new T; { // Captured variable
--   name: "p", type: "T*", value: "0x00400400" status { is_error: true,
--   description { format: "unavailable" } } } The status should describe
--   the reason for the missing value, such as ``, ``, ``. Note that a null
--   pointer should not have members. 5) An unnamed value: int* p = new
--   int(7); { // Captured variable name: "p", value: "0x00500500", type:
--   "int*", members { value: "7", type: "int" } } 6) An unnamed pointer
--   where the pointee was not captured: int* p = new int(7); int** pp =
--   &amp;p; { // Captured variable name: "pp", value: "0x00500500", type:
--   "int**", members { value: "0x00400400", type: "int*" status {
--   is_error: true, description: { format: "unavailable" } } } } } To
--   optimize computation, memory and network traffic, variables that
--   repeat in the output multiple times can be stored once in a shared
--   variable table and be referenced using the `var_table_index` field.
--   The variables stored in the shared table are nameless and are
--   essentially a partition of the complete variable. To reconstruct the
--   complete variable, merge the referencing variable with the referenced
--   variable. When using the shared variable table, the following
--   variables: T x = { 3, 7 }; T* p = &amp;x; T&amp; r = x; { name: "x",
--   var_table_index: 3, type: "T" } // Captured variables { name: "p",
--   value "0x00500500", type="T*", var_table_index: 3 } { name: "r",
--   type="T&amp;", var_table_index: 3 } { // Shared variable table entry
--   #3: members { name: "m1", value: "3", type: "int" }, members { name:
--   "m2", value: "7", type: "int" } } Note that the pointer address is
--   stored with the referencing variable and not with the referenced
--   variable. This allows the referenced variable to be shared between
--   pointers and references. The type field is optional. The debugger
--   agent may or may not support it.
--   
--   <i>See:</i> <a>variable</a> smart constructor.
data Variable

-- | Creates a value of <a>Variable</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vStatus</a></li>
--   <li><a>vVarTableIndex</a></li>
--   <li><a>vMembers</a></li>
--   <li><a>vValue</a></li>
--   <li><a>vName</a></li>
--   <li><a>vType</a></li>
--   </ul>
variable :: Variable

-- | Status associated with the variable. This field will usually stay
--   unset. A status of a single variable only applies to that variable or
--   expression. The rest of breakpoint data still remains valid. Variables
--   might be reported in error state even when breakpoint is not in final
--   state. The message may refer to variable name with `refers_to` set to
--   `VARIABLE_NAME`. Alternatively `refers_to` will be set to
--   `VARIABLE_VALUE`. In either case variable value and members will be
--   unset. Example of error message applied to name: `Invalid expression
--   syntax`. Example of information message applied to value: `Not
--   captured`. Examples of error message applied to value: * `Malformed
--   string`, * `Field f not found in class C` * `Null pointer dereference`
vStatus :: Lens' Variable (Maybe StatusMessage)

-- | Reference to a variable in the shared variable table. More than one
--   variable can reference the same variable in the table. The
--   `var_table_index` field is an index into `variable_table` in
--   Breakpoint.
vVarTableIndex :: Lens' Variable (Maybe Int32)

-- | Members contained or pointed to by the variable.
vMembers :: Lens' Variable [Variable]

-- | Simple value of the variable.
vValue :: Lens' Variable (Maybe Text)

-- | Name of the variable, if any.
vName :: Lens' Variable (Maybe Text)

-- | Variable type (e.g. `MyClass`). If the variable is split with
--   `var_table_index`, `type` goes next to `value`. The interpretation of
--   a type is agent specific. It is recommended to include the dynamic
--   type rather than a static type of an object.
vType :: Lens' Variable (Maybe Text)

-- | Response for listing breakpoints.
--   
--   <i>See:</i> <a>listBreakpointsResponse</a> smart constructor.
data ListBreakpointsResponse

-- | Creates a value of <a>ListBreakpointsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lbrNextWaitToken</a></li>
--   <li><a>lbrBreakpoints</a></li>
--   </ul>
listBreakpointsResponse :: ListBreakpointsResponse

-- | A wait token that can be used in the next call to `list` (REST) or
--   `ListBreakpoints` (RPC) to block until the list of breakpoints has
--   changes.
lbrNextWaitToken :: Lens' ListBreakpointsResponse (Maybe Text)

-- | List of breakpoints matching the request. The fields `id` and
--   `location` are guaranteed to be set on each breakpoint. The fields:
--   `stack_frames`, `evaluated_expressions` and `variable_table` are
--   cleared on each breakpoint regardless of it's status.
lbrBreakpoints :: Lens' ListBreakpointsResponse [Breakpoint]

-- | Reference to which the message applies.
data StatusMessageRefersTo

-- | <tt>UNSPECIFIED</tt> Status doesn't refer to any particular input.
Unspecified :: StatusMessageRefersTo

-- | <tt>BREAKPOINT_SOURCE_LOCATION</tt> Status applies to the breakpoint
--   and is related to its location.
BreakpointSourceLocation :: StatusMessageRefersTo

-- | <tt>BREAKPOINT_CONDITION</tt> Status applies to the breakpoint and is
--   related to its condition.
BreakpointCondition :: StatusMessageRefersTo

-- | <tt>BREAKPOINT_EXPRESSION</tt> Status applies to the breakpoint and is
--   related to its expressions.
BreakpointExpression :: StatusMessageRefersTo

-- | <tt>BREAKPOINT_AGE</tt> Status applies to the breakpoint and is
--   related to its age.
BreakpointAge :: StatusMessageRefersTo

-- | <tt>VARIABLE_NAME</tt> Status applies to the entire variable.
VariableName :: StatusMessageRefersTo

-- | <tt>VARIABLE_VALUE</tt> Status applies to variable value (variable
--   name is valid).
VariableValue :: StatusMessageRefersTo

-- | Indicates the severity of the log. Only relevant when action is `LOG`.
data BreakpointLogLevel

-- | <tt>INFO</tt> Information log message.
Info :: BreakpointLogLevel

-- | <tt>WARNING</tt> Warning log message.
Warning :: BreakpointLogLevel

-- | <tt>ERROR</tt> Error log message.
Error' :: BreakpointLogLevel

-- | Response for listing debuggees.
--   
--   <i>See:</i> <a>listDebuggeesResponse</a> smart constructor.
data ListDebuggeesResponse

-- | Creates a value of <a>ListDebuggeesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldrDebuggees</a></li>
--   </ul>
listDebuggeesResponse :: ListDebuggeesResponse

-- | List of debuggees accessible to the calling user. Note that the
--   `description` field is the only human readable field that should be
--   displayed to the user. The fields `debuggee.id` and `description`
--   fields are guaranteed to be set on each debuggee.
ldrDebuggees :: Lens' ListDebuggeesResponse [Debuggee]

-- | Request to update an active breakpoint.
--   
--   <i>See:</i> <a>updateActiveBreakpointRequest</a> smart constructor.
data UpdateActiveBreakpointRequest

-- | Creates a value of <a>UpdateActiveBreakpointRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uabrBreakpoint</a></li>
--   </ul>
updateActiveBreakpointRequest :: UpdateActiveBreakpointRequest

-- | Updated breakpoint information. The field 'id' must be set.
uabrBreakpoint :: Lens' UpdateActiveBreakpointRequest (Maybe Breakpoint)

-- | Represents a contextual status message. The message can indicate an
--   error or informational status, and refer to specific parts of the
--   containing object. For example, the `Breakpoint.status` field can
--   indicate an error referring to the `BREAKPOINT_SOURCE_LOCATION` with
--   the message `Location not found`.
--   
--   <i>See:</i> <a>statusMessage</a> smart constructor.
data StatusMessage

-- | Creates a value of <a>StatusMessage</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>smRefersTo</a></li>
--   <li><a>smIsError</a></li>
--   <li><a>smDescription</a></li>
--   </ul>
statusMessage :: StatusMessage

-- | Reference to which the message applies.
smRefersTo :: Lens' StatusMessage (Maybe StatusMessageRefersTo)

-- | Distinguishes errors from informational messages.
smIsError :: Lens' StatusMessage (Maybe Bool)

-- | Status message text.
smDescription :: Lens' StatusMessage (Maybe FormatMessage)

-- | V1 error format.
data Xgafv

-- | <tt>1</tt> v1 error format
X1 :: Xgafv

-- | <tt>2</tt> v2 error format
X2 :: Xgafv

-- | Action that the agent should perform when the code at the breakpoint
--   location is hit.
data BreakpointAction

-- | <tt>CAPTURE</tt> Capture stack frame and variables and update the
--   breakpoint. The data is only captured once. After that the breakpoint
--   is set in a final state.
Capture :: BreakpointAction

-- | <tt>LOG</tt> Log each breakpoint hit. The breakpoint remains active
--   until deleted or expired.
Log :: BreakpointAction

-- | Response for listing active breakpoints.
--   
--   <i>See:</i> <a>listActiveBreakpointsResponse</a> smart constructor.
data ListActiveBreakpointsResponse

-- | Creates a value of <a>ListActiveBreakpointsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>labrNextWaitToken</a></li>
--   <li><a>labrBreakpoints</a></li>
--   <li><a>labrWaitExpired</a></li>
--   </ul>
listActiveBreakpointsResponse :: ListActiveBreakpointsResponse

-- | A wait token that can be used in the next method call to block until
--   the list of breakpoints changes.
labrNextWaitToken :: Lens' ListActiveBreakpointsResponse (Maybe Text)

-- | List of all active breakpoints. The fields `id` and `location` are
--   guaranteed to be set on each breakpoint.
labrBreakpoints :: Lens' ListActiveBreakpointsResponse [Breakpoint]

-- | The `wait_expired` field is set to true by the server when the request
--   times out and the field `success_on_timeout` is set to true.
labrWaitExpired :: Lens' ListActiveBreakpointsResponse (Maybe Bool)

-- | An ExtendedSourceContext is a SourceContext combined with additional
--   details describing the context.
--   
--   <i>See:</i> <a>extendedSourceContext</a> smart constructor.
data ExtendedSourceContext

-- | Creates a value of <a>ExtendedSourceContext</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>escContext</a></li>
--   <li><a>escLabels</a></li>
--   </ul>
extendedSourceContext :: ExtendedSourceContext

-- | Any source context.
escContext :: Lens' ExtendedSourceContext (Maybe SourceContext)

-- | Labels with user defined metadata.
escLabels :: Lens' ExtendedSourceContext (Maybe ExtendedSourceContextLabels)

-- | A GitSourceContext denotes a particular revision in a third party Git
--   repository (e.g. GitHub).
--   
--   <i>See:</i> <a>gitSourceContext</a> smart constructor.
data GitSourceContext

-- | Creates a value of <a>GitSourceContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gURL</a></li>
--   <li><a>gRevisionId</a></li>
--   </ul>
gitSourceContext :: GitSourceContext

-- | Git repository URL.
gURL :: Lens' GitSourceContext (Maybe Text)

-- | Git commit hash. required.
gRevisionId :: Lens' GitSourceContext (Maybe Text)

-- | Represents a location in the source code.
--   
--   <i>See:</i> <a>sourceLocation</a> smart constructor.
data SourceLocation

-- | Creates a value of <a>SourceLocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slPath</a></li>
--   <li><a>slLine</a></li>
--   </ul>
sourceLocation :: SourceLocation

-- | Path to the source file within the source context of the target
--   binary.
slPath :: Lens' SourceLocation (Maybe Text)

-- | Line inside the file. The first line in the file has the value `1`.
slLine :: Lens' SourceLocation (Maybe Int32)

-- | Represents a stack frame context.
--   
--   <i>See:</i> <a>stackFrame</a> smart constructor.
data StackFrame

-- | Creates a value of <a>StackFrame</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sfFunction</a></li>
--   <li><a>sfLocation</a></li>
--   <li><a>sfArguments</a></li>
--   <li><a>sfLocals</a></li>
--   </ul>
stackFrame :: StackFrame

-- | Demangled function name at the call site.
sfFunction :: Lens' StackFrame (Maybe Text)

-- | Source location of the call site.
sfLocation :: Lens' StackFrame (Maybe SourceLocation)

-- | Set of arguments passed to this function. Note that this might not be
--   populated for all stack frames.
sfArguments :: Lens' StackFrame [Variable]

-- | Set of local variables at the stack frame location. Note that this
--   might not be populated for all stack frames.
sfLocals :: Lens' StackFrame [Variable]

-- | A CloudRepoSourceContext denotes a particular revision in a cloud repo
--   (a repo hosted by the Google Cloud Platform).
--   
--   <i>See:</i> <a>cloudRepoSourceContext</a> smart constructor.
data CloudRepoSourceContext

-- | Creates a value of <a>CloudRepoSourceContext</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crscRepoId</a></li>
--   <li><a>crscAliasName</a></li>
--   <li><a>crscRevisionId</a></li>
--   <li><a>crscAliasContext</a></li>
--   </ul>
cloudRepoSourceContext :: CloudRepoSourceContext

-- | The ID of the repo.
crscRepoId :: Lens' CloudRepoSourceContext (Maybe RepoId)

-- | The name of an alias (branch, tag, etc.).
crscAliasName :: Lens' CloudRepoSourceContext (Maybe Text)

-- | A revision ID.
crscRevisionId :: Lens' CloudRepoSourceContext (Maybe Text)

-- | An alias, which may be a branch or tag.
crscAliasContext :: Lens' CloudRepoSourceContext (Maybe AliasContext)

-- | A set of custom debuggee properties, populated by the agent, to be
--   displayed to the user.
--   
--   <i>See:</i> <a>debuggeeLabels</a> smart constructor.
data DebuggeeLabels

-- | Creates a value of <a>DebuggeeLabels</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlAddtional</a></li>
--   </ul>
debuggeeLabels :: HashMap Text Text -> DebuggeeLabels
dlAddtional :: Lens' DebuggeeLabels (HashMap Text Text)

-- | Represents the application to debug. The application may include one
--   or more replicated processes executing the same code. Each of these
--   processes is attached with a debugger agent, carrying out the
--   debugging commands. The agents attached to the same debuggee are
--   identified by using exactly the same field values when registering.
--   
--   <i>See:</i> <a>debuggee</a> smart constructor.
data Debuggee

-- | Creates a value of <a>Debuggee</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dStatus</a></li>
--   <li><a>dUniquifier</a></li>
--   <li><a>dProject</a></li>
--   <li><a>dExtSourceContexts</a></li>
--   <li><a>dAgentVersion</a></li>
--   <li><a>dIsDisabled</a></li>
--   <li><a>dId</a></li>
--   <li><a>dLabels</a></li>
--   <li><a>dDescription</a></li>
--   <li><a>dIsInactive</a></li>
--   <li><a>dSourceContexts</a></li>
--   </ul>
debuggee :: Debuggee

-- | Human readable message to be displayed to the user about this
--   debuggee. Absence of this field indicates no status. The message can
--   be either informational or an error status.
dStatus :: Lens' Debuggee (Maybe StatusMessage)

-- | Debuggee uniquifier within the project. Any string that identifies the
--   application within the project can be used. Including environment and
--   version or build IDs is recommended.
dUniquifier :: Lens' Debuggee (Maybe Text)

-- | Project the debuggee is associated with. Use the project number when
--   registering a Google Cloud Platform project.
dProject :: Lens' Debuggee (Maybe Text)

-- | References to the locations and revisions of the source code used in
--   the deployed application. Contexts describing a remote repo related to
--   the source code have a `category` label of `remote_repo`. Source
--   snapshot source contexts have a `category` of `snapshot`.
dExtSourceContexts :: Lens' Debuggee [ExtendedSourceContext]

-- | Version ID of the agent release. The version ID is structured as
--   following: `domain/type/vmajor.minor` (for example
--   `google.com/gcp-java/v1.1`).
dAgentVersion :: Lens' Debuggee (Maybe Text)

-- | If set to `true`, indicates that the agent should disable itself and
--   detach from the debuggee.
dIsDisabled :: Lens' Debuggee (Maybe Bool)

-- | Unique identifier for the debuggee generated by the controller
--   service.
dId :: Lens' Debuggee (Maybe Text)

-- | A set of custom debuggee properties, populated by the agent, to be
--   displayed to the user.
dLabels :: Lens' Debuggee (Maybe DebuggeeLabels)

-- | Human readable description of the debuggee. Including a human-readable
--   project name, environment name and version information is recommended.
dDescription :: Lens' Debuggee (Maybe Text)

-- | If set to `true`, indicates that the debuggee is considered as
--   inactive by the Controller service.
dIsInactive :: Lens' Debuggee (Maybe Bool)

-- | References to the locations and revisions of the source code used in
--   the deployed application. NOTE: This field is deprecated. Consumers
--   should use `ext_source_contexts` if it is not empty. Debug agents
--   should populate both this field and `ext_source_contexts`.
dSourceContexts :: Lens' Debuggee [SourceContext]

-- | A CloudWorkspaceSourceContext denotes a workspace at a particular
--   snapshot.
--   
--   <i>See:</i> <a>cloudWorkspaceSourceContext</a> smart constructor.
data CloudWorkspaceSourceContext

-- | Creates a value of <a>CloudWorkspaceSourceContext</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cwscWorkspaceId</a></li>
--   <li><a>cwscSnapshotId</a></li>
--   </ul>
cloudWorkspaceSourceContext :: CloudWorkspaceSourceContext

-- | The ID of the workspace.
cwscWorkspaceId :: Lens' CloudWorkspaceSourceContext (Maybe CloudWorkspaceId)

-- | The ID of the snapshot. An empty snapshot_id refers to the most recent
--   snapshot.
cwscSnapshotId :: Lens' CloudWorkspaceSourceContext (Maybe Text)

-- | Request to register a debuggee.
--   
--   <i>See:</i> <a>registerDebuggeeRequest</a> smart constructor.
data RegisterDebuggeeRequest

-- | Creates a value of <a>RegisterDebuggeeRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rDebuggee</a></li>
--   </ul>
registerDebuggeeRequest :: RegisterDebuggeeRequest

-- | Debuggee information to register. The fields `project`, `uniquifier`,
--   `description` and `agent_version` of the debuggee must be set.
rDebuggee :: Lens' RegisterDebuggeeRequest (Maybe Debuggee)

-- | An alias to a repo revision.
--   
--   <i>See:</i> <a>aliasContext</a> smart constructor.
data AliasContext

-- | Creates a value of <a>AliasContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acKind</a></li>
--   <li><a>acName</a></li>
--   </ul>
aliasContext :: AliasContext

-- | The alias kind.
acKind :: Lens' AliasContext (Maybe AliasContextKind)

-- | The alias name.
acName :: Lens' AliasContext (Maybe Text)

-- | The alias kind.
data AliasContextKind

-- | <tt>ANY</tt> Do not use.
Any :: AliasContextKind

-- | <tt>FIXED</tt> Git tag
Fixed :: AliasContextKind

-- | <tt>MOVABLE</tt> Git branch
Movable :: AliasContextKind

-- | <tt>OTHER</tt> OTHER is used to specify non-standard aliases, those
--   not of the kinds above. For example, if a Git repo has a ref named
--   "refs/foo/bar", it is considered to be of kind OTHER.
Other :: AliasContextKind

-- | A CloudWorkspaceId is a unique identifier for a cloud workspace. A
--   cloud workspace is a place associated with a repo where modified files
--   can be stored before they are committed.
--   
--   <i>See:</i> <a>cloudWorkspaceId</a> smart constructor.
data CloudWorkspaceId

-- | Creates a value of <a>CloudWorkspaceId</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cwiRepoId</a></li>
--   <li><a>cwiName</a></li>
--   </ul>
cloudWorkspaceId :: CloudWorkspaceId

-- | The ID of the repo containing the workspace.
cwiRepoId :: Lens' CloudWorkspaceId (Maybe RepoId)

-- | The unique name of the workspace within the repo. This is the name
--   chosen by the client in the Source API's CreateWorkspace method.
cwiName :: Lens' CloudWorkspaceId (Maybe Text)


-- | Returns the list of all active breakpoints for the debuggee. The
--   breakpoint specification (location, condition, and expression fields)
--   is semantically immutable, although the field values may change. For
--   example, an agent may update the location line number to reflect the
--   actual line where the breakpoint was set, but this doesn't change the
--   breakpoint semantics. This means that an agent does not need to check
--   if a breakpoint has changed when it encounters the same breakpoint on
--   a successive call. Moreover, an agent should remember the breakpoints
--   that are completed until the controller removes them from the active
--   list to avoid setting those breakpoints again.
--   
--   <i>See:</i> <a>Stackdriver Debugger API Reference</a> for
--   <tt>clouddebugger.controller.debuggees.breakpoints.list</tt>.
module Network.Google.Resource.CloudDebugger.Controller.Debuggees.Breakpoints.List

-- | A resource alias for
--   <tt>clouddebugger.controller.debuggees.breakpoints.list</tt> method
--   which the <a>ControllerDebuggeesBreakpointsList</a> request conforms
--   to.
type ControllerDebuggeesBreakpointsListResource = "v2" :> ("controller" :> ("debuggees" :> (Capture "debuggeeId" Text :> ("breakpoints" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "successOnTimeout" Bool :> (QueryParam "bearer_token" Text :> (QueryParam "waitToken" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListActiveBreakpointsResponse))))))))))))))

-- | Creates a value of <a>ControllerDebuggeesBreakpointsList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdblXgafv</a></li>
--   <li><a>cdblUploadProtocol</a></li>
--   <li><a>cdblPp</a></li>
--   <li><a>cdblAccessToken</a></li>
--   <li><a>cdblUploadType</a></li>
--   <li><a>cdblSuccessOnTimeout</a></li>
--   <li><a>cdblBearerToken</a></li>
--   <li><a>cdblWaitToken</a></li>
--   <li><a>cdblDebuggeeId</a></li>
--   <li><a>cdblCallback</a></li>
--   </ul>
controllerDebuggeesBreakpointsList :: Text -> ControllerDebuggeesBreakpointsList

-- | Returns the list of all active breakpoints for the debuggee. The
--   breakpoint specification (location, condition, and expression fields)
--   is semantically immutable, although the field values may change. For
--   example, an agent may update the location line number to reflect the
--   actual line where the breakpoint was set, but this doesn't change the
--   breakpoint semantics. This means that an agent does not need to check
--   if a breakpoint has changed when it encounters the same breakpoint on
--   a successive call. Moreover, an agent should remember the breakpoints
--   that are completed until the controller removes them from the active
--   list to avoid setting those breakpoints again.
--   
--   <i>See:</i> <a>controllerDebuggeesBreakpointsList</a> smart
--   constructor.
data ControllerDebuggeesBreakpointsList

-- | V1 error format.
cdblXgafv :: Lens' ControllerDebuggeesBreakpointsList (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
cdblUploadProtocol :: Lens' ControllerDebuggeesBreakpointsList (Maybe Text)

-- | Pretty-print response.
cdblPp :: Lens' ControllerDebuggeesBreakpointsList Bool

-- | OAuth access token.
cdblAccessToken :: Lens' ControllerDebuggeesBreakpointsList (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
cdblUploadType :: Lens' ControllerDebuggeesBreakpointsList (Maybe Text)

-- | If set to `true`, returns `google.rpc.Code.OK` status and sets the
--   `wait_expired` response field to `true` when the server-selected
--   timeout has expired (recommended). If set to `false`, returns
--   `google.rpc.Code.ABORTED` status when the server-selected timeout has
--   expired (deprecated).
cdblSuccessOnTimeout :: Lens' ControllerDebuggeesBreakpointsList (Maybe Bool)

-- | OAuth bearer token.
cdblBearerToken :: Lens' ControllerDebuggeesBreakpointsList (Maybe Text)

-- | A wait token that, if specified, blocks the method call until the list
--   of active breakpoints has changed, or a server selected timeout has
--   expired. The value should be set from the last returned response.
cdblWaitToken :: Lens' ControllerDebuggeesBreakpointsList (Maybe Text)

-- | Identifies the debuggee.
cdblDebuggeeId :: Lens' ControllerDebuggeesBreakpointsList Text

-- | JSONP
cdblCallback :: Lens' ControllerDebuggeesBreakpointsList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.CloudDebugger.Controller.Debuggees.Breakpoints.List.ControllerDebuggeesBreakpointsList
instance Data.Data.Data Network.Google.Resource.CloudDebugger.Controller.Debuggees.Breakpoints.List.ControllerDebuggeesBreakpointsList
instance GHC.Show.Show Network.Google.Resource.CloudDebugger.Controller.Debuggees.Breakpoints.List.ControllerDebuggeesBreakpointsList
instance GHC.Classes.Eq Network.Google.Resource.CloudDebugger.Controller.Debuggees.Breakpoints.List.ControllerDebuggeesBreakpointsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudDebugger.Controller.Debuggees.Breakpoints.List.ControllerDebuggeesBreakpointsList


-- | 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 `expression` 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.
--   
--   <i>See:</i> <a>Stackdriver Debugger API Reference</a> for
--   <tt>clouddebugger.controller.debuggees.breakpoints.update</tt>.
module Network.Google.Resource.CloudDebugger.Controller.Debuggees.Breakpoints.Update

-- | A resource alias for
--   <tt>clouddebugger.controller.debuggees.breakpoints.update</tt> method
--   which the <a>ControllerDebuggeesBreakpointsUpdate</a> request conforms
--   to.
type ControllerDebuggeesBreakpointsUpdateResource = "v2" :> ("controller" :> ("debuggees" :> (Capture "debuggeeId" Text :> ("breakpoints" :> (Capture "id" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] UpdateActiveBreakpointRequest :> Put '[JSON] UpdateActiveBreakpointResponse))))))))))))))

-- | Creates a value of <a>ControllerDebuggeesBreakpointsUpdate</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdbuXgafv</a></li>
--   <li><a>cdbuUploadProtocol</a></li>
--   <li><a>cdbuPp</a></li>
--   <li><a>cdbuAccessToken</a></li>
--   <li><a>cdbuUploadType</a></li>
--   <li><a>cdbuPayload</a></li>
--   <li><a>cdbuBearerToken</a></li>
--   <li><a>cdbuId</a></li>
--   <li><a>cdbuDebuggeeId</a></li>
--   <li><a>cdbuCallback</a></li>
--   </ul>
controllerDebuggeesBreakpointsUpdate :: UpdateActiveBreakpointRequest -> Text -> Text -> ControllerDebuggeesBreakpointsUpdate

-- | 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 `expression` 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.
--   
--   <i>See:</i> <a>controllerDebuggeesBreakpointsUpdate</a> smart
--   constructor.
data ControllerDebuggeesBreakpointsUpdate

-- | V1 error format.
cdbuXgafv :: Lens' ControllerDebuggeesBreakpointsUpdate (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
cdbuUploadProtocol :: Lens' ControllerDebuggeesBreakpointsUpdate (Maybe Text)

-- | Pretty-print response.
cdbuPp :: Lens' ControllerDebuggeesBreakpointsUpdate Bool

-- | OAuth access token.
cdbuAccessToken :: Lens' ControllerDebuggeesBreakpointsUpdate (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
cdbuUploadType :: Lens' ControllerDebuggeesBreakpointsUpdate (Maybe Text)

-- | Multipart request metadata.
cdbuPayload :: Lens' ControllerDebuggeesBreakpointsUpdate UpdateActiveBreakpointRequest

-- | OAuth bearer token.
cdbuBearerToken :: Lens' ControllerDebuggeesBreakpointsUpdate (Maybe Text)

-- | Breakpoint identifier, unique in the scope of the debuggee.
cdbuId :: Lens' ControllerDebuggeesBreakpointsUpdate Text

-- | Identifies the debuggee being debugged.
cdbuDebuggeeId :: Lens' ControllerDebuggeesBreakpointsUpdate Text

-- | JSONP
cdbuCallback :: Lens' ControllerDebuggeesBreakpointsUpdate (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.CloudDebugger.Controller.Debuggees.Breakpoints.Update.ControllerDebuggeesBreakpointsUpdate
instance Data.Data.Data Network.Google.Resource.CloudDebugger.Controller.Debuggees.Breakpoints.Update.ControllerDebuggeesBreakpointsUpdate
instance GHC.Show.Show Network.Google.Resource.CloudDebugger.Controller.Debuggees.Breakpoints.Update.ControllerDebuggeesBreakpointsUpdate
instance GHC.Classes.Eq Network.Google.Resource.CloudDebugger.Controller.Debuggees.Breakpoints.Update.ControllerDebuggeesBreakpointsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudDebugger.Controller.Debuggees.Breakpoints.Update.ControllerDebuggeesBreakpointsUpdate


-- | Registers the debuggee with the controller service. All agents
--   attached to the same application should call this method with the same
--   request content to get back the same stable `debuggee_id`. Agents
--   should call this method again whenever `google.rpc.Code.NOT_FOUND` is
--   returned from any controller method. This allows the controller
--   service to disable the agent or recover from any data loss. If the
--   debuggee is disabled by the server, the response will have
--   `is_disabled` set to `true`.
--   
--   <i>See:</i> <a>Stackdriver Debugger API Reference</a> for
--   <tt>clouddebugger.controller.debuggees.register</tt>.
module Network.Google.Resource.CloudDebugger.Controller.Debuggees.Register

-- | A resource alias for
--   <tt>clouddebugger.controller.debuggees.register</tt> method which the
--   <a>ControllerDebuggeesRegister</a> request conforms to.
type ControllerDebuggeesRegisterResource = "v2" :> ("controller" :> ("debuggees" :> ("register" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] RegisterDebuggeeRequest :> Post '[JSON] RegisterDebuggeeResponse))))))))))))

-- | Creates a value of <a>ControllerDebuggeesRegister</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdrXgafv</a></li>
--   <li><a>cdrUploadProtocol</a></li>
--   <li><a>cdrPp</a></li>
--   <li><a>cdrAccessToken</a></li>
--   <li><a>cdrUploadType</a></li>
--   <li><a>cdrPayload</a></li>
--   <li><a>cdrBearerToken</a></li>
--   <li><a>cdrCallback</a></li>
--   </ul>
controllerDebuggeesRegister :: RegisterDebuggeeRequest -> ControllerDebuggeesRegister

-- | Registers the debuggee with the controller service. All agents
--   attached to the same application should call this method with the same
--   request content to get back the same stable `debuggee_id`. Agents
--   should call this method again whenever `google.rpc.Code.NOT_FOUND` is
--   returned from any controller method. This allows the controller
--   service to disable the agent or recover from any data loss. If the
--   debuggee is disabled by the server, the response will have
--   `is_disabled` set to `true`.
--   
--   <i>See:</i> <a>controllerDebuggeesRegister</a> smart constructor.
data ControllerDebuggeesRegister

-- | V1 error format.
cdrXgafv :: Lens' ControllerDebuggeesRegister (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
cdrUploadProtocol :: Lens' ControllerDebuggeesRegister (Maybe Text)

-- | Pretty-print response.
cdrPp :: Lens' ControllerDebuggeesRegister Bool

-- | OAuth access token.
cdrAccessToken :: Lens' ControllerDebuggeesRegister (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
cdrUploadType :: Lens' ControllerDebuggeesRegister (Maybe Text)

-- | Multipart request metadata.
cdrPayload :: Lens' ControllerDebuggeesRegister RegisterDebuggeeRequest

-- | OAuth bearer token.
cdrBearerToken :: Lens' ControllerDebuggeesRegister (Maybe Text)

-- | JSONP
cdrCallback :: Lens' ControllerDebuggeesRegister (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.CloudDebugger.Controller.Debuggees.Register.ControllerDebuggeesRegister
instance Data.Data.Data Network.Google.Resource.CloudDebugger.Controller.Debuggees.Register.ControllerDebuggeesRegister
instance GHC.Show.Show Network.Google.Resource.CloudDebugger.Controller.Debuggees.Register.ControllerDebuggeesRegister
instance GHC.Classes.Eq Network.Google.Resource.CloudDebugger.Controller.Debuggees.Register.ControllerDebuggeesRegister
instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudDebugger.Controller.Debuggees.Register.ControllerDebuggeesRegister


-- | Deletes the breakpoint from the debuggee.
--   
--   <i>See:</i> <a>Stackdriver Debugger API Reference</a> for
--   <tt>clouddebugger.debugger.debuggees.breakpoints.delete</tt>.
module Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Delete

-- | A resource alias for
--   <tt>clouddebugger.debugger.debuggees.breakpoints.delete</tt> method
--   which the <a>DebuggerDebuggeesBreakpointsDelete</a> request conforms
--   to.
type DebuggerDebuggeesBreakpointsDeleteResource = "v2" :> ("debugger" :> ("debuggees" :> (Capture "debuggeeId" Text :> ("breakpoints" :> (Capture "breakpointId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "clientVersion" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Empty))))))))))))))

-- | Creates a value of <a>DebuggerDebuggeesBreakpointsDelete</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbdXgafv</a></li>
--   <li><a>ddbdUploadProtocol</a></li>
--   <li><a>ddbdPp</a></li>
--   <li><a>ddbdAccessToken</a></li>
--   <li><a>ddbdUploadType</a></li>
--   <li><a>ddbdBreakpointId</a></li>
--   <li><a>ddbdBearerToken</a></li>
--   <li><a>ddbdDebuggeeId</a></li>
--   <li><a>ddbdClientVersion</a></li>
--   <li><a>ddbdCallback</a></li>
--   </ul>
debuggerDebuggeesBreakpointsDelete :: Text -> Text -> DebuggerDebuggeesBreakpointsDelete

-- | Deletes the breakpoint from the debuggee.
--   
--   <i>See:</i> <a>debuggerDebuggeesBreakpointsDelete</a> smart
--   constructor.
data DebuggerDebuggeesBreakpointsDelete

-- | V1 error format.
ddbdXgafv :: Lens' DebuggerDebuggeesBreakpointsDelete (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
ddbdUploadProtocol :: Lens' DebuggerDebuggeesBreakpointsDelete (Maybe Text)

-- | Pretty-print response.
ddbdPp :: Lens' DebuggerDebuggeesBreakpointsDelete Bool

-- | OAuth access token.
ddbdAccessToken :: Lens' DebuggerDebuggeesBreakpointsDelete (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
ddbdUploadType :: Lens' DebuggerDebuggeesBreakpointsDelete (Maybe Text)

-- | ID of the breakpoint to delete.
ddbdBreakpointId :: Lens' DebuggerDebuggeesBreakpointsDelete Text

-- | OAuth bearer token.
ddbdBearerToken :: Lens' DebuggerDebuggeesBreakpointsDelete (Maybe Text)

-- | ID of the debuggee whose breakpoint to delete.
ddbdDebuggeeId :: Lens' DebuggerDebuggeesBreakpointsDelete Text

-- | The client version making the call. Following: `domain/type/version`
--   (e.g., `google.com/intellij/v1`).
ddbdClientVersion :: Lens' DebuggerDebuggeesBreakpointsDelete (Maybe Text)

-- | JSONP
ddbdCallback :: Lens' DebuggerDebuggeesBreakpointsDelete (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Delete.DebuggerDebuggeesBreakpointsDelete
instance Data.Data.Data Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Delete.DebuggerDebuggeesBreakpointsDelete
instance GHC.Show.Show Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Delete.DebuggerDebuggeesBreakpointsDelete
instance GHC.Classes.Eq Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Delete.DebuggerDebuggeesBreakpointsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Delete.DebuggerDebuggeesBreakpointsDelete


-- | Gets breakpoint information.
--   
--   <i>See:</i> <a>Stackdriver Debugger API Reference</a> for
--   <tt>clouddebugger.debugger.debuggees.breakpoints.get</tt>.
module Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Get

-- | A resource alias for
--   <tt>clouddebugger.debugger.debuggees.breakpoints.get</tt> method which
--   the <a>DebuggerDebuggeesBreakpointsGet</a> request conforms to.
type DebuggerDebuggeesBreakpointsGetResource = "v2" :> ("debugger" :> ("debuggees" :> (Capture "debuggeeId" Text :> ("breakpoints" :> (Capture "breakpointId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "clientVersion" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] GetBreakpointResponse))))))))))))))

-- | Creates a value of <a>DebuggerDebuggeesBreakpointsGet</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbgXgafv</a></li>
--   <li><a>ddbgUploadProtocol</a></li>
--   <li><a>ddbgPp</a></li>
--   <li><a>ddbgAccessToken</a></li>
--   <li><a>ddbgUploadType</a></li>
--   <li><a>ddbgBreakpointId</a></li>
--   <li><a>ddbgBearerToken</a></li>
--   <li><a>ddbgDebuggeeId</a></li>
--   <li><a>ddbgClientVersion</a></li>
--   <li><a>ddbgCallback</a></li>
--   </ul>
debuggerDebuggeesBreakpointsGet :: Text -> Text -> DebuggerDebuggeesBreakpointsGet

-- | Gets breakpoint information.
--   
--   <i>See:</i> <a>debuggerDebuggeesBreakpointsGet</a> smart constructor.
data DebuggerDebuggeesBreakpointsGet

-- | V1 error format.
ddbgXgafv :: Lens' DebuggerDebuggeesBreakpointsGet (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
ddbgUploadProtocol :: Lens' DebuggerDebuggeesBreakpointsGet (Maybe Text)

-- | Pretty-print response.
ddbgPp :: Lens' DebuggerDebuggeesBreakpointsGet Bool

-- | OAuth access token.
ddbgAccessToken :: Lens' DebuggerDebuggeesBreakpointsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
ddbgUploadType :: Lens' DebuggerDebuggeesBreakpointsGet (Maybe Text)

-- | ID of the breakpoint to get.
ddbgBreakpointId :: Lens' DebuggerDebuggeesBreakpointsGet Text

-- | OAuth bearer token.
ddbgBearerToken :: Lens' DebuggerDebuggeesBreakpointsGet (Maybe Text)

-- | ID of the debuggee whose breakpoint to get.
ddbgDebuggeeId :: Lens' DebuggerDebuggeesBreakpointsGet Text

-- | The client version making the call. Following: `domain/type/version`
--   (e.g., `google.com/intellij/v1`).
ddbgClientVersion :: Lens' DebuggerDebuggeesBreakpointsGet (Maybe Text)

-- | JSONP
ddbgCallback :: Lens' DebuggerDebuggeesBreakpointsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Get.DebuggerDebuggeesBreakpointsGet
instance Data.Data.Data Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Get.DebuggerDebuggeesBreakpointsGet
instance GHC.Show.Show Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Get.DebuggerDebuggeesBreakpointsGet
instance GHC.Classes.Eq Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Get.DebuggerDebuggeesBreakpointsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Get.DebuggerDebuggeesBreakpointsGet


-- | Lists all breakpoints for the debuggee.
--   
--   <i>See:</i> <a>Stackdriver Debugger API Reference</a> for
--   <tt>clouddebugger.debugger.debuggees.breakpoints.list</tt>.
module Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.List

-- | A resource alias for
--   <tt>clouddebugger.debugger.debuggees.breakpoints.list</tt> method
--   which the <a>DebuggerDebuggeesBreakpointsList</a> request conforms to.
type DebuggerDebuggeesBreakpointsListResource = "v2" :> ("debugger" :> ("debuggees" :> (Capture "debuggeeId" Text :> ("breakpoints" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "includeInactive" Bool :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "action.value" Text :> (QueryParam "uploadType" Text :> (QueryParam "stripResults" Bool :> (QueryParam "bearer_token" Text :> (QueryParam "includeAllUsers" Bool :> (QueryParam "waitToken" Text :> (QueryParam "clientVersion" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListBreakpointsResponse))))))))))))))))))

-- | Creates a value of <a>DebuggerDebuggeesBreakpointsList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddblXgafv</a></li>
--   <li><a>ddblIncludeInactive</a></li>
--   <li><a>ddblUploadProtocol</a></li>
--   <li><a>ddblPp</a></li>
--   <li><a>ddblAccessToken</a></li>
--   <li><a>ddblActionValue</a></li>
--   <li><a>ddblUploadType</a></li>
--   <li><a>ddblStripResults</a></li>
--   <li><a>ddblBearerToken</a></li>
--   <li><a>ddblIncludeAllUsers</a></li>
--   <li><a>ddblWaitToken</a></li>
--   <li><a>ddblDebuggeeId</a></li>
--   <li><a>ddblClientVersion</a></li>
--   <li><a>ddblCallback</a></li>
--   </ul>
debuggerDebuggeesBreakpointsList :: Text -> DebuggerDebuggeesBreakpointsList

-- | Lists all breakpoints for the debuggee.
--   
--   <i>See:</i> <a>debuggerDebuggeesBreakpointsList</a> smart constructor.
data DebuggerDebuggeesBreakpointsList

-- | V1 error format.
ddblXgafv :: Lens' DebuggerDebuggeesBreakpointsList (Maybe Xgafv)

-- | When set to `true`, the response includes active and inactive
--   breakpoints. Otherwise, it includes only active breakpoints.
ddblIncludeInactive :: Lens' DebuggerDebuggeesBreakpointsList (Maybe Bool)

-- | Upload protocol for media (e.g. "raw", "multipart").
ddblUploadProtocol :: Lens' DebuggerDebuggeesBreakpointsList (Maybe Text)

-- | Pretty-print response.
ddblPp :: Lens' DebuggerDebuggeesBreakpointsList Bool

-- | OAuth access token.
ddblAccessToken :: Lens' DebuggerDebuggeesBreakpointsList (Maybe Text)

-- | Only breakpoints with the specified action will pass the filter.
ddblActionValue :: Lens' DebuggerDebuggeesBreakpointsList (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
ddblUploadType :: Lens' DebuggerDebuggeesBreakpointsList (Maybe Text)

-- | This field is deprecated. The following fields are always stripped out
--   of the result: `stack_frames`, `evaluated_expressions` and
--   `variable_table`.
ddblStripResults :: Lens' DebuggerDebuggeesBreakpointsList (Maybe Bool)

-- | OAuth bearer token.
ddblBearerToken :: Lens' DebuggerDebuggeesBreakpointsList (Maybe Text)

-- | When set to `true`, the response includes the list of breakpoints set
--   by any user. Otherwise, it includes only breakpoints set by the
--   caller.
ddblIncludeAllUsers :: Lens' DebuggerDebuggeesBreakpointsList (Maybe Bool)

-- | A wait token that, if specified, blocks the call until the breakpoints
--   list has changed, or a server selected timeout has expired. The value
--   should be set from the last response. The error code
--   `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which
--   should be called again with the same `wait_token`.
ddblWaitToken :: Lens' DebuggerDebuggeesBreakpointsList (Maybe Text)

-- | ID of the debuggee whose breakpoints to list.
ddblDebuggeeId :: Lens' DebuggerDebuggeesBreakpointsList Text

-- | The client version making the call. Following: `domain/type/version`
--   (e.g., `google.com/intellij/v1`).
ddblClientVersion :: Lens' DebuggerDebuggeesBreakpointsList (Maybe Text)

-- | JSONP
ddblCallback :: Lens' DebuggerDebuggeesBreakpointsList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.List.DebuggerDebuggeesBreakpointsList
instance Data.Data.Data Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.List.DebuggerDebuggeesBreakpointsList
instance GHC.Show.Show Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.List.DebuggerDebuggeesBreakpointsList
instance GHC.Classes.Eq Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.List.DebuggerDebuggeesBreakpointsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.List.DebuggerDebuggeesBreakpointsList


-- | Sets the breakpoint to the debuggee.
--   
--   <i>See:</i> <a>Stackdriver Debugger API Reference</a> for
--   <tt>clouddebugger.debugger.debuggees.breakpoints.set</tt>.
module Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Set

-- | A resource alias for
--   <tt>clouddebugger.debugger.debuggees.breakpoints.set</tt> method which
--   the <a>DebuggerDebuggeesBreakpointsSet</a> request conforms to.
type DebuggerDebuggeesBreakpointsSetResource = "v2" :> ("debugger" :> ("debuggees" :> (Capture "debuggeeId" Text :> ("breakpoints" :> ("set" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "clientVersion" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Breakpoint :> Post '[JSON] SetBreakpointResponse)))))))))))))))

-- | Creates a value of <a>DebuggerDebuggeesBreakpointsSet</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbsXgafv</a></li>
--   <li><a>ddbsUploadProtocol</a></li>
--   <li><a>ddbsPp</a></li>
--   <li><a>ddbsAccessToken</a></li>
--   <li><a>ddbsUploadType</a></li>
--   <li><a>ddbsPayload</a></li>
--   <li><a>ddbsBearerToken</a></li>
--   <li><a>ddbsDebuggeeId</a></li>
--   <li><a>ddbsClientVersion</a></li>
--   <li><a>ddbsCallback</a></li>
--   </ul>
debuggerDebuggeesBreakpointsSet :: Breakpoint -> Text -> DebuggerDebuggeesBreakpointsSet

-- | Sets the breakpoint to the debuggee.
--   
--   <i>See:</i> <a>debuggerDebuggeesBreakpointsSet</a> smart constructor.
data DebuggerDebuggeesBreakpointsSet

-- | V1 error format.
ddbsXgafv :: Lens' DebuggerDebuggeesBreakpointsSet (Maybe Xgafv)

-- | Upload protocol for media (e.g. "raw", "multipart").
ddbsUploadProtocol :: Lens' DebuggerDebuggeesBreakpointsSet (Maybe Text)

-- | Pretty-print response.
ddbsPp :: Lens' DebuggerDebuggeesBreakpointsSet Bool

-- | OAuth access token.
ddbsAccessToken :: Lens' DebuggerDebuggeesBreakpointsSet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
ddbsUploadType :: Lens' DebuggerDebuggeesBreakpointsSet (Maybe Text)

-- | Multipart request metadata.
ddbsPayload :: Lens' DebuggerDebuggeesBreakpointsSet Breakpoint

-- | OAuth bearer token.
ddbsBearerToken :: Lens' DebuggerDebuggeesBreakpointsSet (Maybe Text)

-- | ID of the debuggee where the breakpoint is to be set.
ddbsDebuggeeId :: Lens' DebuggerDebuggeesBreakpointsSet Text

-- | The client version making the call. Following: `domain/type/version`
--   (e.g., `google.com/intellij/v1`).
ddbsClientVersion :: Lens' DebuggerDebuggeesBreakpointsSet (Maybe Text)

-- | JSONP
ddbsCallback :: Lens' DebuggerDebuggeesBreakpointsSet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Set.DebuggerDebuggeesBreakpointsSet
instance Data.Data.Data Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Set.DebuggerDebuggeesBreakpointsSet
instance GHC.Show.Show Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Set.DebuggerDebuggeesBreakpointsSet
instance GHC.Classes.Eq Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Set.DebuggerDebuggeesBreakpointsSet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudDebugger.Debugger.Debuggees.Breakpoints.Set.DebuggerDebuggeesBreakpointsSet


-- | Lists all the debuggees that the user can set breakpoints to.
--   
--   <i>See:</i> <a>Stackdriver Debugger API Reference</a> for
--   <tt>clouddebugger.debugger.debuggees.list</tt>.
module Network.Google.Resource.CloudDebugger.Debugger.Debuggees.List

-- | A resource alias for <tt>clouddebugger.debugger.debuggees.list</tt>
--   method which the <a>DebuggerDebuggeesList</a> request conforms to.
type DebuggerDebuggeesListResource = "v2" :> ("debugger" :> ("debuggees" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "includeInactive" Bool :> (QueryParam "upload_protocol" Text :> (QueryParam "project" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "clientVersion" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListDebuggeesResponse)))))))))))))

-- | Creates a value of <a>DebuggerDebuggeesList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddlXgafv</a></li>
--   <li><a>ddlIncludeInactive</a></li>
--   <li><a>ddlUploadProtocol</a></li>
--   <li><a>ddlProject</a></li>
--   <li><a>ddlPp</a></li>
--   <li><a>ddlAccessToken</a></li>
--   <li><a>ddlUploadType</a></li>
--   <li><a>ddlBearerToken</a></li>
--   <li><a>ddlClientVersion</a></li>
--   <li><a>ddlCallback</a></li>
--   </ul>
debuggerDebuggeesList :: DebuggerDebuggeesList

-- | Lists all the debuggees that the user can set breakpoints to.
--   
--   <i>See:</i> <a>debuggerDebuggeesList</a> smart constructor.
data DebuggerDebuggeesList

-- | V1 error format.
ddlXgafv :: Lens' DebuggerDebuggeesList (Maybe Xgafv)

-- | When set to `true`, the result includes all debuggees. Otherwise, the
--   result includes only debuggees that are active.
ddlIncludeInactive :: Lens' DebuggerDebuggeesList (Maybe Bool)

-- | Upload protocol for media (e.g. "raw", "multipart").
ddlUploadProtocol :: Lens' DebuggerDebuggeesList (Maybe Text)

-- | Project number of a Google Cloud project whose debuggees to list.
ddlProject :: Lens' DebuggerDebuggeesList (Maybe Text)

-- | Pretty-print response.
ddlPp :: Lens' DebuggerDebuggeesList Bool

-- | OAuth access token.
ddlAccessToken :: Lens' DebuggerDebuggeesList (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
ddlUploadType :: Lens' DebuggerDebuggeesList (Maybe Text)

-- | OAuth bearer token.
ddlBearerToken :: Lens' DebuggerDebuggeesList (Maybe Text)

-- | The client version making the call. Following: `domain/type/version`
--   (e.g., `google.com/intellij/v1`).
ddlClientVersion :: Lens' DebuggerDebuggeesList (Maybe Text)

-- | JSONP
ddlCallback :: Lens' DebuggerDebuggeesList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.CloudDebugger.Debugger.Debuggees.List.DebuggerDebuggeesList
instance Data.Data.Data Network.Google.Resource.CloudDebugger.Debugger.Debuggees.List.DebuggerDebuggeesList
instance GHC.Show.Show Network.Google.Resource.CloudDebugger.Debugger.Debuggees.List.DebuggerDebuggeesList
instance GHC.Classes.Eq Network.Google.Resource.CloudDebugger.Debugger.Debuggees.List.DebuggerDebuggeesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudDebugger.Debugger.Debuggees.List.DebuggerDebuggeesList


-- | Examines the call stack and variables of a running application without
--   stopping or slowing it down.
--   
--   <i>See:</i> <a>Stackdriver Debugger API Reference</a>
module Network.Google.Debugger

-- | Default request referring to version <tt>v2</tt> of the Stackdriver
--   Debugger API. This contains the host and root path used as a starting
--   point for constructing service requests.
debuggerService :: ServiceConfig

-- | Manage cloud debugger
cloudDebuggerScope :: Proxy '["https://www.googleapis.com/auth/cloud_debugger"]

-- | View and manage your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]

-- | Represents the entirety of the methods and resources available for the
--   Stackdriver Debugger API service.
type DebuggerAPI = ControllerDebuggeesBreakpointsListResource :<|> (ControllerDebuggeesBreakpointsUpdateResource :<|> (ControllerDebuggeesRegisterResource :<|> (DebuggerDebuggeesBreakpointsSetResource :<|> (DebuggerDebuggeesBreakpointsListResource :<|> (DebuggerDebuggeesBreakpointsGetResource :<|> (DebuggerDebuggeesBreakpointsDeleteResource :<|> DebuggerDebuggeesListResource))))))

-- | Response for registering a debuggee.
--   
--   <i>See:</i> <a>registerDebuggeeResponse</a> smart constructor.
data RegisterDebuggeeResponse

-- | Creates a value of <a>RegisterDebuggeeResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdrDebuggee</a></li>
--   </ul>
registerDebuggeeResponse :: RegisterDebuggeeResponse

-- | Debuggee resource. The field `id` is guranteed to be set (in addition
--   to the echoed fields).
rdrDebuggee :: Lens' RegisterDebuggeeResponse (Maybe Debuggee)

-- | A SourceContext is a reference to a tree of files. A SourceContext
--   together with a path point to a unique revision of a single file or
--   directory.
--   
--   <i>See:</i> <a>sourceContext</a> smart constructor.
data SourceContext

-- | Creates a value of <a>SourceContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scCloudWorkspace</a></li>
--   <li><a>scCloudRepo</a></li>
--   <li><a>scGerrit</a></li>
--   <li><a>scGit</a></li>
--   </ul>
sourceContext :: SourceContext

-- | A SourceContext referring to a snapshot in a cloud workspace.
scCloudWorkspace :: Lens' SourceContext (Maybe CloudWorkspaceSourceContext)

-- | A SourceContext referring to a revision in a cloud repo.
scCloudRepo :: Lens' SourceContext (Maybe CloudRepoSourceContext)

-- | A SourceContext referring to a Gerrit project.
scGerrit :: Lens' SourceContext (Maybe GerritSourceContext)

-- | A SourceContext referring to any third party Git repo (e.g. GitHub).
scGit :: Lens' SourceContext (Maybe GitSourceContext)

-- | Response for setting a breakpoint.
--   
--   <i>See:</i> <a>setBreakpointResponse</a> smart constructor.
data SetBreakpointResponse

-- | Creates a value of <a>SetBreakpointResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sbrBreakpoint</a></li>
--   </ul>
setBreakpointResponse :: SetBreakpointResponse

-- | Breakpoint resource. The field `id` is guaranteed to be set (in
--   addition to the echoed fileds).
sbrBreakpoint :: Lens' SetBreakpointResponse (Maybe Breakpoint)

-- | A generic empty message that you can re-use to avoid defining
--   duplicated empty messages in your APIs. A typical example is to use it
--   as the request or the response type of an API method. For instance:
--   service Foo { rpc Bar(google.protobuf.Empty) returns
--   (google.protobuf.Empty); } The JSON representation for `Empty` is
--   empty JSON object `{}`.
--   
--   <i>See:</i> <a>empty</a> smart constructor.
data Empty

-- | Creates a value of <a>Empty</a> with the minimum fields required to
--   make a request.
empty :: Empty

-- | Response for updating an active breakpoint. The message is defined to
--   allow future extensions.
--   
--   <i>See:</i> <a>updateActiveBreakpointResponse</a> smart constructor.
data UpdateActiveBreakpointResponse

-- | Creates a value of <a>UpdateActiveBreakpointResponse</a> with the
--   minimum fields required to make a request.
updateActiveBreakpointResponse :: UpdateActiveBreakpointResponse

-- | A SourceContext referring to a Gerrit project.
--   
--   <i>See:</i> <a>gerritSourceContext</a> smart constructor.
data GerritSourceContext

-- | Creates a value of <a>GerritSourceContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gscGerritProject</a></li>
--   <li><a>gscAliasName</a></li>
--   <li><a>gscRevisionId</a></li>
--   <li><a>gscHostURI</a></li>
--   <li><a>gscAliasContext</a></li>
--   </ul>
gerritSourceContext :: GerritSourceContext

-- | The full project name within the host. Projects may be nested, so
--   "project/subproject" is a valid project name. The "repo name" is
--   hostURI/project.
gscGerritProject :: Lens' GerritSourceContext (Maybe Text)

-- | The name of an alias (branch, tag, etc.).
gscAliasName :: Lens' GerritSourceContext (Maybe Text)

-- | A revision (commit) ID.
gscRevisionId :: Lens' GerritSourceContext (Maybe Text)

-- | The URI of a running Gerrit instance.
gscHostURI :: Lens' GerritSourceContext (Maybe Text)

-- | An alias, which may be a branch or tag.
gscAliasContext :: Lens' GerritSourceContext (Maybe AliasContext)

-- | A unique identifier for a cloud repo.
--   
--   <i>See:</i> <a>repoId</a> smart constructor.
data RepoId

-- | Creates a value of <a>RepoId</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riUid</a></li>
--   <li><a>riProjectRepoId</a></li>
--   </ul>
repoId :: RepoId

-- | A server-assigned, globally unique identifier.
riUid :: Lens' RepoId (Maybe Text)

-- | A combination of a project ID and a repo name.
riProjectRepoId :: Lens' RepoId (Maybe ProjectRepoId)

-- | Labels with user defined metadata.
--   
--   <i>See:</i> <a>extendedSourceContextLabels</a> smart constructor.
data ExtendedSourceContextLabels

-- | Creates a value of <a>ExtendedSourceContextLabels</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>esclAddtional</a></li>
--   </ul>
extendedSourceContextLabels :: HashMap Text Text -> ExtendedSourceContextLabels
esclAddtional :: Lens' ExtendedSourceContextLabels (HashMap Text Text)

-- | Selects a repo using a Google Cloud Platform project ID (e.g.
--   winged-cargo-31) and a repo name within that project.
--   
--   <i>See:</i> <a>projectRepoId</a> smart constructor.
data ProjectRepoId

-- | Creates a value of <a>ProjectRepoId</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>priRepoName</a></li>
--   <li><a>priProjectId</a></li>
--   </ul>
projectRepoId :: ProjectRepoId

-- | The name of the repo. Leave empty for the default repo.
priRepoName :: Lens' ProjectRepoId (Maybe Text)

-- | The ID of the project.
priProjectId :: Lens' ProjectRepoId (Maybe Text)

-- | Represents a message with parameters.
--   
--   <i>See:</i> <a>formatMessage</a> smart constructor.
data FormatMessage

-- | Creates a value of <a>FormatMessage</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fmFormat</a></li>
--   <li><a>fmParameters</a></li>
--   </ul>
formatMessage :: FormatMessage
fmFormat :: Lens' FormatMessage (Maybe Text)

-- | Optional parameters to be embedded into the message.
fmParameters :: Lens' FormatMessage [Text]

-- | Represents the breakpoint specification, status and results.
--   
--   <i>See:</i> <a>breakpoint</a> smart constructor.
data Breakpoint

-- | Creates a value of <a>Breakpoint</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bStatus</a></li>
--   <li><a>bLogLevel</a></li>
--   <li><a>bLocation</a></li>
--   <li><a>bAction</a></li>
--   <li><a>bFinalTime</a></li>
--   <li><a>bExpressions</a></li>
--   <li><a>bLogMessageFormat</a></li>
--   <li><a>bId</a></li>
--   <li><a>bLabels</a></li>
--   <li><a>bUserEmail</a></li>
--   <li><a>bVariableTable</a></li>
--   <li><a>bStackFrames</a></li>
--   <li><a>bCondition</a></li>
--   <li><a>bEvaluatedExpressions</a></li>
--   <li><a>bCreateTime</a></li>
--   <li><a>bIsFinalState</a></li>
--   </ul>
breakpoint :: Breakpoint

-- | Breakpoint status. The status includes an error flag and a human
--   readable message. This field is usually unset. The message can be
--   either informational or an error message. Regardless, clients should
--   always display the text message back to the user. Error status
--   indicates complete failure of the breakpoint. Example (non-final
--   state): `Still loading symbols...` Examples (final state): * `Invalid
--   line number` referring to location * `Field f not found in class C`
--   referring to condition
bStatus :: Lens' Breakpoint (Maybe StatusMessage)

-- | Indicates the severity of the log. Only relevant when action is `LOG`.
bLogLevel :: Lens' Breakpoint (Maybe BreakpointLogLevel)

-- | Breakpoint source location.
bLocation :: Lens' Breakpoint (Maybe SourceLocation)

-- | Action that the agent should perform when the code at the breakpoint
--   location is hit.
bAction :: Lens' Breakpoint (Maybe BreakpointAction)

-- | Time this breakpoint was finalized as seen by the server in seconds
--   resolution.
bFinalTime :: Lens' Breakpoint (Maybe UTCTime)

-- | List of read-only expressions to evaluate at the breakpoint location.
--   The expressions are composed using expressions in the programming
--   language at the source location. If the breakpoint action is `LOG`,
--   the evaluated expressions are included in log statements.
bExpressions :: Lens' Breakpoint [Text]
bLogMessageFormat :: Lens' Breakpoint (Maybe Text)

-- | Breakpoint identifier, unique in the scope of the debuggee.
bId :: Lens' Breakpoint (Maybe Text)

-- | A set of custom breakpoint properties, populated by the agent, to be
--   displayed to the user.
bLabels :: Lens' Breakpoint (Maybe BreakpointLabels)

-- | E-mail address of the user that created this breakpoint
bUserEmail :: Lens' Breakpoint (Maybe Text)

-- | The `variable_table` exists to aid with computation, memory and
--   network traffic optimization. It enables storing a variable once and
--   reference it from multiple variables, including variables stored in
--   the `variable_table` itself. For example, the same `this` object,
--   which may appear at many levels of the stack, can have all of its data
--   stored once in this table. The stack frame variables then would hold
--   only a reference to it. The variable `var_table_index` field is an
--   index into this repeated field. The stored objects are nameless and
--   get their name from the referencing variable. The effective variable
--   is a merge of the referencing variable and the referenced variable.
bVariableTable :: Lens' Breakpoint [Variable]

-- | The stack at breakpoint time.
bStackFrames :: Lens' Breakpoint [StackFrame]

-- | Condition that triggers the breakpoint. The condition is a compound
--   boolean expression composed using expressions in a programming
--   language at the source location.
bCondition :: Lens' Breakpoint (Maybe Text)

-- | Values of evaluated expressions at breakpoint time. The evaluated
--   expressions appear in exactly the same order they are listed in the
--   `expressions` field. The `name` field holds the original expression
--   text, the `value` or `members` field holds the result of the evaluated
--   expression. If the expression cannot be evaluated, the `status` inside
--   the `Variable` will indicate an error and contain the error text.
bEvaluatedExpressions :: Lens' Breakpoint [Variable]

-- | Time this breakpoint was created by the server in seconds resolution.
bCreateTime :: Lens' Breakpoint (Maybe UTCTime)

-- | When true, indicates that this is a final result and the breakpoint
--   state will not change from here on.
bIsFinalState :: Lens' Breakpoint (Maybe Bool)

-- | A set of custom breakpoint properties, populated by the agent, to be
--   displayed to the user.
--   
--   <i>See:</i> <a>breakpointLabels</a> smart constructor.
data BreakpointLabels

-- | Creates a value of <a>BreakpointLabels</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>blAddtional</a></li>
--   </ul>
breakpointLabels :: HashMap Text Text -> BreakpointLabels
blAddtional :: Lens' BreakpointLabels (HashMap Text Text)

-- | Response for getting breakpoint information.
--   
--   <i>See:</i> <a>getBreakpointResponse</a> smart constructor.
data GetBreakpointResponse

-- | Creates a value of <a>GetBreakpointResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gbrBreakpoint</a></li>
--   </ul>
getBreakpointResponse :: GetBreakpointResponse

-- | Complete breakpoint state. The fields `id` and `location` are
--   guaranteed to be set.
gbrBreakpoint :: Lens' GetBreakpointResponse (Maybe Breakpoint)

-- | Represents a variable or an argument possibly of a compound object
--   type. Note how the following variables are represented: 1) A simple
--   variable: int x = 5 { name: "x", value: "5", type: "int" } // Captured
--   variable 2) A compound object: struct T { int m1; int m2; }; T x = {
--   3, 7 }; { // Captured variable name: "x", type: "T", members { name:
--   "m1", value: "3", type: "int" }, members { name: "m2", value: "7",
--   type: "int" } } 3) A pointer where the pointee was captured: T x = {
--   3, 7 }; T* p = &amp;x; { // Captured variable name: "p", type: "T*",
--   value: "0x00500500", members { name: "m1", value: "3", type: "int" },
--   members { name: "m2", value: "7", type: "int" } } 4) A pointer where
--   the pointee was not captured: T* p = new T; { // Captured variable
--   name: "p", type: "T*", value: "0x00400400" status { is_error: true,
--   description { format: "unavailable" } } } The status should describe
--   the reason for the missing value, such as ``, ``, ``. Note that a null
--   pointer should not have members. 5) An unnamed value: int* p = new
--   int(7); { // Captured variable name: "p", value: "0x00500500", type:
--   "int*", members { value: "7", type: "int" } } 6) An unnamed pointer
--   where the pointee was not captured: int* p = new int(7); int** pp =
--   &amp;p; { // Captured variable name: "pp", value: "0x00500500", type:
--   "int**", members { value: "0x00400400", type: "int*" status {
--   is_error: true, description: { format: "unavailable" } } } } } To
--   optimize computation, memory and network traffic, variables that
--   repeat in the output multiple times can be stored once in a shared
--   variable table and be referenced using the `var_table_index` field.
--   The variables stored in the shared table are nameless and are
--   essentially a partition of the complete variable. To reconstruct the
--   complete variable, merge the referencing variable with the referenced
--   variable. When using the shared variable table, the following
--   variables: T x = { 3, 7 }; T* p = &amp;x; T&amp; r = x; { name: "x",
--   var_table_index: 3, type: "T" } // Captured variables { name: "p",
--   value "0x00500500", type="T*", var_table_index: 3 } { name: "r",
--   type="T&amp;", var_table_index: 3 } { // Shared variable table entry
--   #3: members { name: "m1", value: "3", type: "int" }, members { name:
--   "m2", value: "7", type: "int" } } Note that the pointer address is
--   stored with the referencing variable and not with the referenced
--   variable. This allows the referenced variable to be shared between
--   pointers and references. The type field is optional. The debugger
--   agent may or may not support it.
--   
--   <i>See:</i> <a>variable</a> smart constructor.
data Variable

-- | Creates a value of <a>Variable</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vStatus</a></li>
--   <li><a>vVarTableIndex</a></li>
--   <li><a>vMembers</a></li>
--   <li><a>vValue</a></li>
--   <li><a>vName</a></li>
--   <li><a>vType</a></li>
--   </ul>
variable :: Variable

-- | Status associated with the variable. This field will usually stay
--   unset. A status of a single variable only applies to that variable or
--   expression. The rest of breakpoint data still remains valid. Variables
--   might be reported in error state even when breakpoint is not in final
--   state. The message may refer to variable name with `refers_to` set to
--   `VARIABLE_NAME`. Alternatively `refers_to` will be set to
--   `VARIABLE_VALUE`. In either case variable value and members will be
--   unset. Example of error message applied to name: `Invalid expression
--   syntax`. Example of information message applied to value: `Not
--   captured`. Examples of error message applied to value: * `Malformed
--   string`, * `Field f not found in class C` * `Null pointer dereference`
vStatus :: Lens' Variable (Maybe StatusMessage)

-- | Reference to a variable in the shared variable table. More than one
--   variable can reference the same variable in the table. The
--   `var_table_index` field is an index into `variable_table` in
--   Breakpoint.
vVarTableIndex :: Lens' Variable (Maybe Int32)

-- | Members contained or pointed to by the variable.
vMembers :: Lens' Variable [Variable]

-- | Simple value of the variable.
vValue :: Lens' Variable (Maybe Text)

-- | Name of the variable, if any.
vName :: Lens' Variable (Maybe Text)

-- | Variable type (e.g. `MyClass`). If the variable is split with
--   `var_table_index`, `type` goes next to `value`. The interpretation of
--   a type is agent specific. It is recommended to include the dynamic
--   type rather than a static type of an object.
vType :: Lens' Variable (Maybe Text)

-- | Response for listing breakpoints.
--   
--   <i>See:</i> <a>listBreakpointsResponse</a> smart constructor.
data ListBreakpointsResponse

-- | Creates a value of <a>ListBreakpointsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lbrNextWaitToken</a></li>
--   <li><a>lbrBreakpoints</a></li>
--   </ul>
listBreakpointsResponse :: ListBreakpointsResponse

-- | A wait token that can be used in the next call to `list` (REST) or
--   `ListBreakpoints` (RPC) to block until the list of breakpoints has
--   changes.
lbrNextWaitToken :: Lens' ListBreakpointsResponse (Maybe Text)

-- | List of breakpoints matching the request. The fields `id` and
--   `location` are guaranteed to be set on each breakpoint. The fields:
--   `stack_frames`, `evaluated_expressions` and `variable_table` are
--   cleared on each breakpoint regardless of it's status.
lbrBreakpoints :: Lens' ListBreakpointsResponse [Breakpoint]

-- | Reference to which the message applies.
data StatusMessageRefersTo

-- | <tt>UNSPECIFIED</tt> Status doesn't refer to any particular input.
Unspecified :: StatusMessageRefersTo

-- | <tt>BREAKPOINT_SOURCE_LOCATION</tt> Status applies to the breakpoint
--   and is related to its location.
BreakpointSourceLocation :: StatusMessageRefersTo

-- | <tt>BREAKPOINT_CONDITION</tt> Status applies to the breakpoint and is
--   related to its condition.
BreakpointCondition :: StatusMessageRefersTo

-- | <tt>BREAKPOINT_EXPRESSION</tt> Status applies to the breakpoint and is
--   related to its expressions.
BreakpointExpression :: StatusMessageRefersTo

-- | <tt>BREAKPOINT_AGE</tt> Status applies to the breakpoint and is
--   related to its age.
BreakpointAge :: StatusMessageRefersTo

-- | <tt>VARIABLE_NAME</tt> Status applies to the entire variable.
VariableName :: StatusMessageRefersTo

-- | <tt>VARIABLE_VALUE</tt> Status applies to variable value (variable
--   name is valid).
VariableValue :: StatusMessageRefersTo

-- | Indicates the severity of the log. Only relevant when action is `LOG`.
data BreakpointLogLevel

-- | <tt>INFO</tt> Information log message.
Info :: BreakpointLogLevel

-- | <tt>WARNING</tt> Warning log message.
Warning :: BreakpointLogLevel

-- | <tt>ERROR</tt> Error log message.
Error' :: BreakpointLogLevel

-- | Response for listing debuggees.
--   
--   <i>See:</i> <a>listDebuggeesResponse</a> smart constructor.
data ListDebuggeesResponse

-- | Creates a value of <a>ListDebuggeesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldrDebuggees</a></li>
--   </ul>
listDebuggeesResponse :: ListDebuggeesResponse

-- | List of debuggees accessible to the calling user. Note that the
--   `description` field is the only human readable field that should be
--   displayed to the user. The fields `debuggee.id` and `description`
--   fields are guaranteed to be set on each debuggee.
ldrDebuggees :: Lens' ListDebuggeesResponse [Debuggee]

-- | Request to update an active breakpoint.
--   
--   <i>See:</i> <a>updateActiveBreakpointRequest</a> smart constructor.
data UpdateActiveBreakpointRequest

-- | Creates a value of <a>UpdateActiveBreakpointRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uabrBreakpoint</a></li>
--   </ul>
updateActiveBreakpointRequest :: UpdateActiveBreakpointRequest

-- | Updated breakpoint information. The field 'id' must be set.
uabrBreakpoint :: Lens' UpdateActiveBreakpointRequest (Maybe Breakpoint)

-- | Represents a contextual status message. The message can indicate an
--   error or informational status, and refer to specific parts of the
--   containing object. For example, the `Breakpoint.status` field can
--   indicate an error referring to the `BREAKPOINT_SOURCE_LOCATION` with
--   the message `Location not found`.
--   
--   <i>See:</i> <a>statusMessage</a> smart constructor.
data StatusMessage

-- | Creates a value of <a>StatusMessage</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>smRefersTo</a></li>
--   <li><a>smIsError</a></li>
--   <li><a>smDescription</a></li>
--   </ul>
statusMessage :: StatusMessage

-- | Reference to which the message applies.
smRefersTo :: Lens' StatusMessage (Maybe StatusMessageRefersTo)

-- | Distinguishes errors from informational messages.
smIsError :: Lens' StatusMessage (Maybe Bool)

-- | Status message text.
smDescription :: Lens' StatusMessage (Maybe FormatMessage)

-- | V1 error format.
data Xgafv

-- | <tt>1</tt> v1 error format
X1 :: Xgafv

-- | <tt>2</tt> v2 error format
X2 :: Xgafv

-- | Action that the agent should perform when the code at the breakpoint
--   location is hit.
data BreakpointAction

-- | <tt>CAPTURE</tt> Capture stack frame and variables and update the
--   breakpoint. The data is only captured once. After that the breakpoint
--   is set in a final state.
Capture :: BreakpointAction

-- | <tt>LOG</tt> Log each breakpoint hit. The breakpoint remains active
--   until deleted or expired.
Log :: BreakpointAction

-- | Response for listing active breakpoints.
--   
--   <i>See:</i> <a>listActiveBreakpointsResponse</a> smart constructor.
data ListActiveBreakpointsResponse

-- | Creates a value of <a>ListActiveBreakpointsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>labrNextWaitToken</a></li>
--   <li><a>labrBreakpoints</a></li>
--   <li><a>labrWaitExpired</a></li>
--   </ul>
listActiveBreakpointsResponse :: ListActiveBreakpointsResponse

-- | A wait token that can be used in the next method call to block until
--   the list of breakpoints changes.
labrNextWaitToken :: Lens' ListActiveBreakpointsResponse (Maybe Text)

-- | List of all active breakpoints. The fields `id` and `location` are
--   guaranteed to be set on each breakpoint.
labrBreakpoints :: Lens' ListActiveBreakpointsResponse [Breakpoint]

-- | The `wait_expired` field is set to true by the server when the request
--   times out and the field `success_on_timeout` is set to true.
labrWaitExpired :: Lens' ListActiveBreakpointsResponse (Maybe Bool)

-- | An ExtendedSourceContext is a SourceContext combined with additional
--   details describing the context.
--   
--   <i>See:</i> <a>extendedSourceContext</a> smart constructor.
data ExtendedSourceContext

-- | Creates a value of <a>ExtendedSourceContext</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>escContext</a></li>
--   <li><a>escLabels</a></li>
--   </ul>
extendedSourceContext :: ExtendedSourceContext

-- | Any source context.
escContext :: Lens' ExtendedSourceContext (Maybe SourceContext)

-- | Labels with user defined metadata.
escLabels :: Lens' ExtendedSourceContext (Maybe ExtendedSourceContextLabels)

-- | A GitSourceContext denotes a particular revision in a third party Git
--   repository (e.g. GitHub).
--   
--   <i>See:</i> <a>gitSourceContext</a> smart constructor.
data GitSourceContext

-- | Creates a value of <a>GitSourceContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gURL</a></li>
--   <li><a>gRevisionId</a></li>
--   </ul>
gitSourceContext :: GitSourceContext

-- | Git repository URL.
gURL :: Lens' GitSourceContext (Maybe Text)

-- | Git commit hash. required.
gRevisionId :: Lens' GitSourceContext (Maybe Text)

-- | Represents a location in the source code.
--   
--   <i>See:</i> <a>sourceLocation</a> smart constructor.
data SourceLocation

-- | Creates a value of <a>SourceLocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slPath</a></li>
--   <li><a>slLine</a></li>
--   </ul>
sourceLocation :: SourceLocation

-- | Path to the source file within the source context of the target
--   binary.
slPath :: Lens' SourceLocation (Maybe Text)

-- | Line inside the file. The first line in the file has the value `1`.
slLine :: Lens' SourceLocation (Maybe Int32)

-- | Represents a stack frame context.
--   
--   <i>See:</i> <a>stackFrame</a> smart constructor.
data StackFrame

-- | Creates a value of <a>StackFrame</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sfFunction</a></li>
--   <li><a>sfLocation</a></li>
--   <li><a>sfArguments</a></li>
--   <li><a>sfLocals</a></li>
--   </ul>
stackFrame :: StackFrame

-- | Demangled function name at the call site.
sfFunction :: Lens' StackFrame (Maybe Text)

-- | Source location of the call site.
sfLocation :: Lens' StackFrame (Maybe SourceLocation)

-- | Set of arguments passed to this function. Note that this might not be
--   populated for all stack frames.
sfArguments :: Lens' StackFrame [Variable]

-- | Set of local variables at the stack frame location. Note that this
--   might not be populated for all stack frames.
sfLocals :: Lens' StackFrame [Variable]

-- | A CloudRepoSourceContext denotes a particular revision in a cloud repo
--   (a repo hosted by the Google Cloud Platform).
--   
--   <i>See:</i> <a>cloudRepoSourceContext</a> smart constructor.
data CloudRepoSourceContext

-- | Creates a value of <a>CloudRepoSourceContext</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crscRepoId</a></li>
--   <li><a>crscAliasName</a></li>
--   <li><a>crscRevisionId</a></li>
--   <li><a>crscAliasContext</a></li>
--   </ul>
cloudRepoSourceContext :: CloudRepoSourceContext

-- | The ID of the repo.
crscRepoId :: Lens' CloudRepoSourceContext (Maybe RepoId)

-- | The name of an alias (branch, tag, etc.).
crscAliasName :: Lens' CloudRepoSourceContext (Maybe Text)

-- | A revision ID.
crscRevisionId :: Lens' CloudRepoSourceContext (Maybe Text)

-- | An alias, which may be a branch or tag.
crscAliasContext :: Lens' CloudRepoSourceContext (Maybe AliasContext)

-- | A set of custom debuggee properties, populated by the agent, to be
--   displayed to the user.
--   
--   <i>See:</i> <a>debuggeeLabels</a> smart constructor.
data DebuggeeLabels

-- | Creates a value of <a>DebuggeeLabels</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlAddtional</a></li>
--   </ul>
debuggeeLabels :: HashMap Text Text -> DebuggeeLabels
dlAddtional :: Lens' DebuggeeLabels (HashMap Text Text)

-- | Represents the application to debug. The application may include one
--   or more replicated processes executing the same code. Each of these
--   processes is attached with a debugger agent, carrying out the
--   debugging commands. The agents attached to the same debuggee are
--   identified by using exactly the same field values when registering.
--   
--   <i>See:</i> <a>debuggee</a> smart constructor.
data Debuggee

-- | Creates a value of <a>Debuggee</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dStatus</a></li>
--   <li><a>dUniquifier</a></li>
--   <li><a>dProject</a></li>
--   <li><a>dExtSourceContexts</a></li>
--   <li><a>dAgentVersion</a></li>
--   <li><a>dIsDisabled</a></li>
--   <li><a>dId</a></li>
--   <li><a>dLabels</a></li>
--   <li><a>dDescription</a></li>
--   <li><a>dIsInactive</a></li>
--   <li><a>dSourceContexts</a></li>
--   </ul>
debuggee :: Debuggee

-- | Human readable message to be displayed to the user about this
--   debuggee. Absence of this field indicates no status. The message can
--   be either informational or an error status.
dStatus :: Lens' Debuggee (Maybe StatusMessage)

-- | Debuggee uniquifier within the project. Any string that identifies the
--   application within the project can be used. Including environment and
--   version or build IDs is recommended.
dUniquifier :: Lens' Debuggee (Maybe Text)

-- | Project the debuggee is associated with. Use the project number when
--   registering a Google Cloud Platform project.
dProject :: Lens' Debuggee (Maybe Text)

-- | References to the locations and revisions of the source code used in
--   the deployed application. Contexts describing a remote repo related to
--   the source code have a `category` label of `remote_repo`. Source
--   snapshot source contexts have a `category` of `snapshot`.
dExtSourceContexts :: Lens' Debuggee [ExtendedSourceContext]

-- | Version ID of the agent release. The version ID is structured as
--   following: `domain/type/vmajor.minor` (for example
--   `google.com/gcp-java/v1.1`).
dAgentVersion :: Lens' Debuggee (Maybe Text)

-- | If set to `true`, indicates that the agent should disable itself and
--   detach from the debuggee.
dIsDisabled :: Lens' Debuggee (Maybe Bool)

-- | Unique identifier for the debuggee generated by the controller
--   service.
dId :: Lens' Debuggee (Maybe Text)

-- | A set of custom debuggee properties, populated by the agent, to be
--   displayed to the user.
dLabels :: Lens' Debuggee (Maybe DebuggeeLabels)

-- | Human readable description of the debuggee. Including a human-readable
--   project name, environment name and version information is recommended.
dDescription :: Lens' Debuggee (Maybe Text)

-- | If set to `true`, indicates that the debuggee is considered as
--   inactive by the Controller service.
dIsInactive :: Lens' Debuggee (Maybe Bool)

-- | References to the locations and revisions of the source code used in
--   the deployed application. NOTE: This field is deprecated. Consumers
--   should use `ext_source_contexts` if it is not empty. Debug agents
--   should populate both this field and `ext_source_contexts`.
dSourceContexts :: Lens' Debuggee [SourceContext]

-- | A CloudWorkspaceSourceContext denotes a workspace at a particular
--   snapshot.
--   
--   <i>See:</i> <a>cloudWorkspaceSourceContext</a> smart constructor.
data CloudWorkspaceSourceContext

-- | Creates a value of <a>CloudWorkspaceSourceContext</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cwscWorkspaceId</a></li>
--   <li><a>cwscSnapshotId</a></li>
--   </ul>
cloudWorkspaceSourceContext :: CloudWorkspaceSourceContext

-- | The ID of the workspace.
cwscWorkspaceId :: Lens' CloudWorkspaceSourceContext (Maybe CloudWorkspaceId)

-- | The ID of the snapshot. An empty snapshot_id refers to the most recent
--   snapshot.
cwscSnapshotId :: Lens' CloudWorkspaceSourceContext (Maybe Text)

-- | Request to register a debuggee.
--   
--   <i>See:</i> <a>registerDebuggeeRequest</a> smart constructor.
data RegisterDebuggeeRequest

-- | Creates a value of <a>RegisterDebuggeeRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rDebuggee</a></li>
--   </ul>
registerDebuggeeRequest :: RegisterDebuggeeRequest

-- | Debuggee information to register. The fields `project`, `uniquifier`,
--   `description` and `agent_version` of the debuggee must be set.
rDebuggee :: Lens' RegisterDebuggeeRequest (Maybe Debuggee)

-- | An alias to a repo revision.
--   
--   <i>See:</i> <a>aliasContext</a> smart constructor.
data AliasContext

-- | Creates a value of <a>AliasContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acKind</a></li>
--   <li><a>acName</a></li>
--   </ul>
aliasContext :: AliasContext

-- | The alias kind.
acKind :: Lens' AliasContext (Maybe AliasContextKind)

-- | The alias name.
acName :: Lens' AliasContext (Maybe Text)

-- | The alias kind.
data AliasContextKind

-- | <tt>ANY</tt> Do not use.
Any :: AliasContextKind

-- | <tt>FIXED</tt> Git tag
Fixed :: AliasContextKind

-- | <tt>MOVABLE</tt> Git branch
Movable :: AliasContextKind

-- | <tt>OTHER</tt> OTHER is used to specify non-standard aliases, those
--   not of the kinds above. For example, if a Git repo has a ref named
--   "refs/foo/bar", it is considered to be of kind OTHER.
Other :: AliasContextKind

-- | A CloudWorkspaceId is a unique identifier for a cloud workspace. A
--   cloud workspace is a place associated with a repo where modified files
--   can be stored before they are committed.
--   
--   <i>See:</i> <a>cloudWorkspaceId</a> smart constructor.
data CloudWorkspaceId

-- | Creates a value of <a>CloudWorkspaceId</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cwiRepoId</a></li>
--   <li><a>cwiName</a></li>
--   </ul>
cloudWorkspaceId :: CloudWorkspaceId

-- | The ID of the repo containing the workspace.
cwiRepoId :: Lens' CloudWorkspaceId (Maybe RepoId)

-- | The unique name of the workspace within the repo. This is the name
--   chosen by the client in the Source API's CreateWorkspace method.
cwiName :: Lens' CloudWorkspaceId (Maybe Text)
