{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        },
        "https://www.googleapis.com/auth/cloud_debugger": {
          "description": "Use Stackdriver Debugger"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://clouddebugger.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Cloud Debugger",
  "description": "Examines the call stack and variables of a running application without stopping or slowing it down.\n",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/debugger",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "clouddebugger:v2",
  "kind": "discovery#restDescription",
  "name": "clouddebugger",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "controller": {
      "resources": {
        "debuggees": {
          "methods": {
            "register": {
              "description": "Registers the debuggee with the controller service.\n\nAll agents attached to the same application must call this method with\nexactly the same request content to get back the same stable `debuggee_id`.\nAgents should call this method again whenever `google.rpc.Code.NOT_FOUND`\nis returned from any controller method.\n\nThis protocol allows the controller service to disable debuggees, recover\nfrom data loss, or change the `debuggee_id` format. Agents must handle\n`debuggee_id` value changing upon re-registration.",
              "flatPath": "v2/controller/debuggees/register",
              "httpMethod": "POST",
              "id": "clouddebugger.controller.debuggees.register",
              "parameterOrder": [],
              "parameters": {},
              "path": "v2/controller/debuggees/register",
              "request": {
                "$ref": "RegisterDebuggeeRequest"
              },
              "response": {
                "$ref": "RegisterDebuggeeResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud_debugger"
              ]
            }
          },
          "resources": {
            "breakpoints": {
              "methods": {
                "list": {
                  "description": "Returns the list of all active breakpoints for the debuggee.\n\nThe breakpoint specification (`location`, `condition`, and `expressions`\nfields) is semantically immutable, although the field values may\nchange. For example, an agent may update the location line number\nto reflect the actual line where the breakpoint was set, but this\ndoesn't change the breakpoint semantics.\n\nThis means that an agent does not need to check if a breakpoint has changed\nwhen it encounters the same breakpoint on a successive call.\nMoreover, an agent should remember the breakpoints that are completed\nuntil the controller removes them from the active list to avoid\nsetting those breakpoints again.",
                  "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints",
                  "httpMethod": "GET",
                  "id": "clouddebugger.controller.debuggees.breakpoints.list",
                  "parameterOrder": [
                    "debuggeeId"
                  ],
                  "parameters": {
                    "debuggeeId": {
                      "description": "Identifies the debuggee.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "successOnTimeout": {
                      "description": "If set to `true` (recommended), returns `google.rpc.Code.OK` status and\nsets the `wait_expired` response field to `true` when the server-selected\ntimeout has expired.\n\nIf set to `false` (deprecated), returns `google.rpc.Code.ABORTED` status\nwhen the server-selected timeout has expired.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "waitToken": {
                      "description": "A token that, if specified, blocks the method call until the list\nof active breakpoints has changed, or a server-selected timeout has\nexpired. The value should be set from the `next_wait_token` field in\nthe last response. The initial value should be set to `\"init\"`.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "v2/controller/debuggees/{debuggeeId}/breakpoints",
                  "response": {
                    "$ref": "ListActiveBreakpointsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud_debugger"
                  ]
                },
                "update": {
                  "description": "Updates the breakpoint state or mutable fields.\nThe entire Breakpoint message must be sent back to the controller service.\n\nUpdates to active breakpoint fields are only allowed if the new value\ndoes not change the breakpoint specification. Updates to the `location`,\n`condition` and `expressions` fields should not alter the breakpoint\nsemantics. These may only make changes such as canonicalizing a value\nor snapping the location to the correct line of code.",
                  "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}",
                  "httpMethod": "PUT",
                  "id": "clouddebugger.controller.debuggees.breakpoints.update",
                  "parameterOrder": [
                    "debuggeeId",
                    "id"
                  ],
                  "parameters": {
                    "debuggeeId": {
                      "description": "Identifies the debuggee being debugged.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "id": {
                      "description": "Breakpoint identifier, unique in the scope of the debuggee.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}",
                  "request": {
                    "$ref": "UpdateActiveBreakpointRequest"
                  },
                  "response": {
                    "$ref": "UpdateActiveBreakpointResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud_debugger"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "debugger": {
      "resources": {
        "debuggees": {
          "methods": {
            "list": {
              "description": "Lists all the debuggees that the user has access to.",
              "flatPath": "v2/debugger/debuggees",
              "httpMethod": "GET",
              "id": "clouddebugger.debugger.debuggees.list",
              "parameterOrder": [],
              "parameters": {
                "clientVersion": {
                  "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                  "location": "query",
                  "type": "string"
                },
                "includeInactive": {
                  "description": "When set to `true`, the result includes all debuggees. Otherwise, the\nresult includes only debuggees that are active.",
                  "location": "query",
                  "type": "boolean"
                },
                "project": {
                  "description": "Project number of a Google Cloud project whose debuggees to list.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v2/debugger/debuggees",
              "response": {
                "$ref": "ListDebuggeesResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud_debugger"
              ]
            }
          },
          "resources": {
            "breakpoints": {
              "methods": {
                "delete": {
                  "description": "Deletes the breakpoint from the debuggee.",
                  "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}",
                  "httpMethod": "DELETE",
                  "id": "clouddebugger.debugger.debuggees.breakpoints.delete",
                  "parameterOrder": [
                    "debuggeeId",
                    "breakpointId"
                  ],
                  "parameters": {
                    "breakpointId": {
                      "description": "ID of the breakpoint to delete.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "clientVersion": {
                      "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                      "location": "query",
                      "type": "string"
                    },
                    "debuggeeId": {
                      "description": "ID of the debuggee whose breakpoint to delete.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud_debugger"
                  ]
                },
                "get": {
                  "description": "Gets breakpoint information.",
                  "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}",
                  "httpMethod": "GET",
                  "id": "clouddebugger.debugger.debuggees.breakpoints.get",
                  "parameterOrder": [
                    "debuggeeId",
                    "breakpointId"
                  ],
                  "parameters": {
                    "breakpointId": {
                      "description": "ID of the breakpoint to get.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "clientVersion": {
                      "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                      "location": "query",
                      "type": "string"
                    },
                    "debuggeeId": {
                      "description": "ID of the debuggee whose breakpoint to get.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}",
                  "response": {
                    "$ref": "GetBreakpointResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud_debugger"
                  ]
                },
                "list": {
                  "description": "Lists all breakpoints for the debuggee.",
                  "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints",
                  "httpMethod": "GET",
                  "id": "clouddebugger.debugger.debuggees.breakpoints.list",
                  "parameterOrder": [
                    "debuggeeId"
                  ],
                  "parameters": {
                    "action.value": {
                      "description": "Only breakpoints with the specified action will pass the filter.",
                      "enum": [
                        "CAPTURE",
                        "LOG"
                      ],
                      "location": "query",
                      "type": "string"
                    },
                    "clientVersion": {
                      "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                      "location": "query",
                      "type": "string"
                    },
                    "debuggeeId": {
                      "description": "ID of the debuggee whose breakpoints to list.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "includeAllUsers": {
                      "description": "When set to `true`, the response includes the list of breakpoints set by\nany user. Otherwise, it includes only breakpoints set by the caller.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "includeInactive": {
                      "description": "When set to `true`, the response includes active and inactive\nbreakpoints. Otherwise, it includes only active breakpoints.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "stripResults": {
                      "description": "This field is deprecated. The following fields are always stripped out of\nthe result: `stack_frames`, `evaluated_expressions` and `variable_table`.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "waitToken": {
                      "description": "A wait token that, if specified, blocks the call until the breakpoints\nlist has changed, or a server selected timeout has expired.  The value\nshould be set from the last response. The error code\n`google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which\nshould be called again with the same `wait_token`.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints",
                  "response": {
                    "$ref": "ListBreakpointsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud_debugger"
                  ]
                },
                "set": {
                  "description": "Sets the breakpoint to the debuggee.",
                  "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/set",
                  "httpMethod": "POST",
                  "id": "clouddebugger.debugger.debuggees.breakpoints.set",
                  "parameterOrder": [
                    "debuggeeId"
                  ],
                  "parameters": {
                    "clientVersion": {
                      "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                      "location": "query",
                      "type": "string"
                    },
                    "debuggeeId": {
                      "description": "ID of the debuggee where the breakpoint is to be set.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/set",
                  "request": {
                    "$ref": "Breakpoint"
                  },
                  "response": {
                    "$ref": "SetBreakpointResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud_debugger"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "revision": "20181114",
  "rootUrl": "https://clouddebugger.googleapis.com/",
  "schemas": {
    "AliasContext": {
      "description": "An alias to a repo revision.",
      "id": "AliasContext",
      "properties": {
        "kind": {
          "description": "The alias kind.",
          "enum": [
            "ANY",
            "FIXED",
            "MOVABLE",
            "OTHER"
          ],
          "enumDescriptions": [
            "Do not use.",
            "Git tag",
            "Git branch",
            "OTHER is used to specify non-standard aliases, those not of the kinds\nabove. For example, if a Git repo has a ref named \"refs/foo/bar\", it\nis considered to be of kind OTHER."
          ],
          "type": "string"
        },
        "name": {
          "description": "The alias name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Breakpoint": {
      "description": "Represents the breakpoint specification, status and results.",
      "id": "Breakpoint",
      "properties": {
        "action": {
          "description": "Action that the agent should perform when the code at the\nbreakpoint location is hit.",
          "enum": [
            "CAPTURE",
            "LOG"
          ],
          "enumDescriptions": [
            "Capture stack frame and variables and update the breakpoint.\nThe data is only captured once. After that the breakpoint is set\nin a final state.",
            "Log each breakpoint hit. The breakpoint remains active until\ndeleted or expired."
          ],
          "type": "string"
        },
        "condition": {
          "description": "Condition that triggers the breakpoint.\nThe condition is a compound boolean expression composed using expressions\nin a programming language at the source location.",
          "type": "string"
        },
        "createTime": {
          "description": "Time this breakpoint was created by the server in seconds resolution.",
          "format": "google-datetime",
          "type": "string"
        },
        "evaluatedExpressions": {
          "description": "Values of evaluated expressions at breakpoint time.\nThe evaluated expressions appear in exactly the same order they\nare listed in the `expressions` field.\nThe `name` field holds the original expression text, the `value` or\n`members` field holds the result of the evaluated expression.\nIf the expression cannot be evaluated, the `status` inside the `Variable`\nwill indicate an error and contain the error text.",
          "items": {
            "$ref": "Variable"
          },
          "type": "array"
        },
        "expressions": {
          "description": "List of read-only expressions to evaluate at the breakpoint location.\nThe expressions are composed using expressions in the programming language\nat the source location. If the breakpoint action is `LOG`, the evaluated\nexpressions are included in log statements.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "finalTime": {
          "description": "Time this breakpoint was finalized as seen by the server in seconds\nresolution.",
          "format": "google-datetime",
          "type": "string"
        },
        "id": {
          "description": "Breakpoint identifier, unique in the scope of the debuggee.",
          "type": "string"
        },
        "isFinalState": {
          "description": "When true, indicates that this is a final result and the\nbreakpoint state will not change from here on.",
          "type": "boolean"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "A set of custom breakpoint properties, populated by the agent, to be\ndisplayed to the user.",
          "type": "object"
        },
        "location": {
          "$ref": "SourceLocation",
          "description": "Breakpoint source location."
        },
        "logLevel": {
          "description": "Indicates the severity of the log. Only relevant when action is `LOG`.",
          "enum": [
            "INFO",
            "WARNING",
            "ERROR"
          ],
          "enumDescriptions": [
            "Information log message.",
            "Warning log message.",
            "Error log message."
          ],
          "type": "string"
        },
        "logMessageFormat": {
          "description": "Only relevant when action is `LOG`. Defines the message to log when\nthe breakpoint hits. The message may include parameter placeholders `$0`,\n`$1`, etc. These placeholders are replaced with the evaluated value\nof the appropriate expression. Expressions not referenced in\n`log_message_format` are not logged.\n\nExample: `Message received, id = $0, count = $1` with\n`expressions` = `[ message.id, message.count ]`.",
          "type": "string"
        },
        "stackFrames": {
          "description": "The stack at breakpoint time, where stack_frames[0] represents the most\nrecently entered function.",
          "items": {
            "$ref": "StackFrame"
          },
          "type": "array"
        },
        "status": {
          "$ref": "StatusMessage",
          "description": "Breakpoint status.\n\nThe status includes an error flag and a human readable message.\nThis field is usually unset. The message can be either\ninformational or an error message. Regardless, clients should always\ndisplay the text message back to the user.\n\nError status indicates complete failure of the breakpoint.\n\nExample (non-final state): `Still loading symbols...`\n\nExamples (final state):\n\n*   `Invalid line number` referring to location\n*   `Field f not found in class C` referring to condition"
        },
        "userEmail": {
          "description": "E-mail address of the user that created this breakpoint",
          "type": "string"
        },
        "variableTable": {
          "description": "The `variable_table` exists to aid with computation, memory and network\ntraffic optimization.  It enables storing a variable once and reference\nit from multiple variables, including variables stored in the\n`variable_table` itself.\nFor example, the same `this` object, which may appear at many levels of\nthe stack, can have all of its data stored once in this table.  The\nstack frame variables then would hold only a reference to it.\n\nThe variable `var_table_index` field is an index into this repeated field.\nThe stored objects are nameless and get their name from the referencing\nvariable. The effective variable is a merge of the referencing variable\nand the referenced variable.",
          "items": {
            "$ref": "Variable"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CloudRepoSourceContext": {
      "description": "A CloudRepoSourceContext denotes a particular revision in a cloud\nrepo (a repo hosted by the Google Cloud Platform).",
      "id": "CloudRepoSourceContext",
      "properties": {
        "aliasContext": {
          "$ref": "AliasContext",
          "description": "An alias, which may be a branch or tag."
        },
        "aliasName": {
          "description": "The name of an alias (branch, tag, etc.).",
          "type": "string"
        },
        "repoId": {
          "$ref": "RepoId",
          "description": "The ID of the repo."
        },
        "revisionId": {
          "description": "A revision ID.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CloudWorkspaceId": {
      "description": "A CloudWorkspaceId is a unique identifier for a cloud workspace.\nA cloud workspace is a place associated with a repo where modified files\ncan be stored before they are committed.",
      "id": "CloudWorkspaceId",
      "properties": {
        "name": {
          "description": "The unique name of the workspace within the repo.  This is the name\nchosen by the client in the Source API's CreateWorkspace method.",
          "type": "string"
        },
        "repoId": {
          "$ref": "RepoId",
          "description": "The ID of the repo containing the workspace."
        }
      },
      "type": "object"
    },
    "CloudWorkspaceSourceContext": {
      "description": "A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot.",
      "id": "CloudWorkspaceSourceContext",
      "properties": {
        "snapshotId": {
          "description": "The ID of the snapshot.\nAn empty snapshot_id refers to the most recent snapshot.",
          "type": "string"
        },
        "workspaceId": {
          "$ref": "CloudWorkspaceId",
          "description": "The ID of the workspace."
        }
      },
      "type": "object"
    },
    "Debuggee": {
      "description": "Represents the debugged application. The application may include one or more\nreplicated processes executing the same code. Each of these processes is\nattached with a debugger agent, carrying out the debugging commands.\nAgents attached to the same debuggee identify themselves as such by using\nexactly the same Debuggee message value when registering.",
      "id": "Debuggee",
      "properties": {
        "agentVersion": {
          "description": "Version ID of the agent.\nSchema: `domain/language-platform/vmajor.minor` (for example\n`google.com/java-gcp/v1.1`).",
          "type": "string"
        },
        "description": {
          "description": "Human readable description of the debuggee.\nIncluding a human-readable project name, environment name and version\ninformation is recommended.",
          "type": "string"
        },
        "extSourceContexts": {
          "description": "References to the locations and revisions of the source code used in the\ndeployed application.",
          "items": {
            "$ref": "ExtendedSourceContext"
          },
          "type": "array"
        },
        "id": {
          "description": "Unique identifier for the debuggee generated by the controller service.",
          "type": "string"
        },
        "isDisabled": {
          "description": "If set to `true`, indicates that the agent should disable itself and\ndetach from the debuggee.",
          "type": "boolean"
        },
        "isInactive": {
          "description": "If set to `true`, indicates that Controller service does not detect any\nactivity from the debuggee agents and the application is possibly stopped.",
          "type": "boolean"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "A set of custom debuggee properties, populated by the agent, to be\ndisplayed to the user.",
          "type": "object"
        },
        "project": {
          "description": "Project the debuggee is associated with.\nUse project number or id when registering a Google Cloud Platform project.",
          "type": "string"
        },
        "sourceContexts": {
          "description": "References to the locations and revisions of the source code used in the\ndeployed application.",
          "items": {
            "$ref": "SourceContext"
          },
          "type": "array"
        },
        "status": {
          "$ref": "StatusMessage",
          "description": "Human readable message to be displayed to the user about this debuggee.\nAbsence of this field indicates no status. The message can be either\ninformational or an error status."
        },
        "uniquifier": {
          "description": "Uniquifier to further distinguish the application.\nIt is possible that different applications might have identical values in\nthe debuggee message, thus, incorrectly identified as a single application\nby the Controller service. This field adds salt to further distinguish the\napplication. Agents should consider seeding this field with value that\nidentifies the code, binary, configuration and environment.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "ExtendedSourceContext": {
      "description": "An ExtendedSourceContext is a SourceContext combined with additional\ndetails describing the context.",
      "id": "ExtendedSourceContext",
      "properties": {
        "context": {
          "$ref": "SourceContext",
          "description": "Any source context."
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Labels with user defined metadata.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "FormatMessage": {
      "description": "Represents a message with parameters.",
      "id": "FormatMessage",
      "properties": {
        "format": {
          "description": "Format template for the message. The `format` uses placeholders `$0`,\n`$1`, etc. to reference parameters. `$$` can be used to denote the `$`\ncharacter.\n\nExamples:\n\n*   `Failed to load '$0' which helps debug $1 the first time it\n    is loaded.  Again, $0 is very important.`\n*   `Please pay $$10 to use $0 instead of $1.`",
          "type": "string"
        },
        "parameters": {
          "description": "Optional parameters to be embedded into the message.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GerritSourceContext": {
      "description": "A SourceContext referring to a Gerrit project.",
      "id": "GerritSourceContext",
      "properties": {
        "aliasContext": {
          "$ref": "AliasContext",
          "description": "An alias, which may be a branch or tag."
        },
        "aliasName": {
          "description": "The name of an alias (branch, tag, etc.).",
          "type": "string"
        },
        "gerritProject": {
          "description": "The full project name within the host. Projects may be nested, so\n\"project/subproject\" is a valid project name.\nThe \"repo name\" is hostURI/project.",
          "type": "string"
        },
        "hostUri": {
          "description": "The URI of a running Gerrit instance.",
          "type": "string"
        },
        "revisionId": {
          "description": "A revision (commit) ID.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GetBreakpointResponse": {
      "description": "Response for getting breakpoint information.",
      "id": "GetBreakpointResponse",
      "properties": {
        "breakpoint": {
          "$ref": "Breakpoint",
          "description": "Complete breakpoint state.\nThe fields `id` and `location` are guaranteed to be set."
        }
      },
      "type": "object"
    },
    "GitSourceContext": {
      "description": "A GitSourceContext denotes a particular revision in a third party Git\nrepository (e.g. GitHub).",
      "id": "GitSourceContext",
      "properties": {
        "revisionId": {
          "description": "Git commit hash.\nrequired.",
          "type": "string"
        },
        "url": {
          "description": "Git repository URL.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListActiveBreakpointsResponse": {
      "description": "Response for listing active breakpoints.",
      "id": "ListActiveBreakpointsResponse",
      "properties": {
        "breakpoints": {
          "description": "List of all active breakpoints.\nThe fields `id` and `location` are guaranteed to be set on each breakpoint.",
          "items": {
            "$ref": "Breakpoint"
          },
          "type": "array"
        },
        "nextWaitToken": {
          "description": "A token that can be used in the next method call to block until\nthe list of breakpoints changes.",
          "type": "string"
        },
        "waitExpired": {
          "description": "If set to `true`, indicates that there is no change to the\nlist of active breakpoints and the server-selected timeout has expired.\nThe `breakpoints` field would be empty and should be ignored.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "ListBreakpointsResponse": {
      "description": "Response for listing breakpoints.",
      "id": "ListBreakpointsResponse",
      "properties": {
        "breakpoints": {
          "description": "List of breakpoints matching the request.\nThe fields `id` and `location` are guaranteed to be set on each breakpoint.\nThe fields: `stack_frames`, `evaluated_expressions` and `variable_table`\nare cleared on each breakpoint regardless of its status.",
          "items": {
            "$ref": "Breakpoint"
          },
          "type": "array"
        },
        "nextWaitToken": {
          "description": "A wait token that can be used in the next call to `list` (REST) or\n`ListBreakpoints` (RPC) to block until the list of breakpoints has changes.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListDebuggeesResponse": {
      "description": "Response for listing debuggees.",
      "id": "ListDebuggeesResponse",
      "properties": {
        "debuggees": {
          "description": "List of debuggees accessible to the calling user.\nThe fields `debuggee.id` and `description` are guaranteed to be set.\nThe `description` field is a human readable field provided by agents and\ncan be displayed to users.",
          "items": {
            "$ref": "Debuggee"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ProjectRepoId": {
      "description": "Selects a repo using a Google Cloud Platform project ID\n(e.g. winged-cargo-31) and a repo name within that project.",
      "id": "ProjectRepoId",
      "properties": {
        "projectId": {
          "description": "The ID of the project.",
          "type": "string"
        },
        "repoName": {
          "description": "The name of the repo. Leave empty for the default repo.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RegisterDebuggeeRequest": {
      "description": "Request to register a debuggee.",
      "id": "RegisterDebuggeeRequest",
      "properties": {
        "debuggee": {
          "$ref": "Debuggee",
          "description": "Debuggee information to register.\nThe fields `project`, `uniquifier`, `description` and `agent_version`\nof the debuggee must be set."
        }
      },
      "type": "object"
    },
    "RegisterDebuggeeResponse": {
      "description": "Response for registering a debuggee.",
      "id": "RegisterDebuggeeResponse",
      "properties": {
        "debuggee": {
          "$ref": "Debuggee",
          "description": "Debuggee resource.\nThe field `id` is guaranteed to be set (in addition to the echoed fields).\nIf the field `is_disabled` is set to `true`, the agent should disable\nitself by removing all breakpoints and detaching from the application.\nIt should however continue to poll `RegisterDebuggee` until reenabled."
        }
      },
      "type": "object"
    },
    "RepoId": {
      "description": "A unique identifier for a cloud repo.",
      "id": "RepoId",
      "properties": {
        "projectRepoId": {
          "$ref": "ProjectRepoId",
          "description": "A combination of a project ID and a repo name."
        },
        "uid": {
          "description": "A server-assigned, globally unique identifier.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SetBreakpointResponse": {
      "description": "Response for setting a breakpoint.",
      "id": "SetBreakpointResponse",
      "properties": {
        "breakpoint": {
          "$ref": "Breakpoint",
          "description": "Breakpoint resource.\nThe field `id` is guaranteed to be set (in addition to the echoed fileds)."
        }
      },
      "type": "object"
    },
    "SourceContext": {
      "description": "A SourceContext is a reference to a tree of files. A SourceContext together\nwith a path point to a unique revision of a single file or directory.",
      "id": "SourceContext",
      "properties": {
        "cloudRepo": {
          "$ref": "CloudRepoSourceContext",
          "description": "A SourceContext referring to a revision in a cloud repo."
        },
        "cloudWorkspace": {
          "$ref": "CloudWorkspaceSourceContext",
          "description": "A SourceContext referring to a snapshot in a cloud workspace."
        },
        "gerrit": {
          "$ref": "GerritSourceContext",
          "description": "A SourceContext referring to a Gerrit project."
        },
        "git": {
          "$ref": "GitSourceContext",
          "description": "A SourceContext referring to any third party Git repo (e.g. GitHub)."
        }
      },
      "type": "object"
    },
    "SourceLocation": {
      "description": "Represents a location in the source code.",
      "id": "SourceLocation",
      "properties": {
        "column": {
          "description": "Column within a line. The first column in a line as the value `1`.\nAgents that do not support setting breakpoints on specific columns ignore\nthis field.",
          "format": "int32",
          "type": "integer"
        },
        "line": {
          "description": "Line inside the file. The first line in the file has the value `1`.",
          "format": "int32",
          "type": "integer"
        },
        "path": {
          "description": "Path to the source file within the source context of the target binary.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "StackFrame": {
      "description": "Represents a stack frame context.",
      "id": "StackFrame",
      "properties": {
        "arguments": {
          "description": "Set of arguments passed to this function.\nNote that this might not be populated for all stack frames.",
          "items": {
            "$ref": "Variable"
          },
          "type": "array"
        },
        "function": {
          "description": "Demangled function name at the call site.",
          "type": "string"
        },
        "locals": {
          "description": "Set of local variables at the stack frame location.\nNote that this might not be populated for all stack frames.",
          "items": {
            "$ref": "Variable"
          },
          "type": "array"
        },
        "location": {
          "$ref": "SourceLocation",
          "description": "Source location of the call site."
        }
      },
      "type": "object"
    },
    "StatusMessage": {
      "description": "Represents a contextual status message.\nThe message can indicate an error or informational status, and refer to\nspecific parts of the containing object.\nFor example, the `Breakpoint.status` field can indicate an error referring\nto the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.",
      "id": "StatusMessage",
      "properties": {
        "description": {
          "$ref": "FormatMessage",
          "description": "Status message text."
        },
        "isError": {
          "description": "Distinguishes errors from informational messages.",
          "type": "boolean"
        },
        "refersTo": {
          "description": "Reference to which the message applies.",
          "enum": [
            "UNSPECIFIED",
            "BREAKPOINT_SOURCE_LOCATION",
            "BREAKPOINT_CONDITION",
            "BREAKPOINT_EXPRESSION",
            "BREAKPOINT_AGE",
            "VARIABLE_NAME",
            "VARIABLE_VALUE"
          ],
          "enumDescriptions": [
            "Status doesn't refer to any particular input.",
            "Status applies to the breakpoint and is related to its location.",
            "Status applies to the breakpoint and is related to its condition.",
            "Status applies to the breakpoint and is related to its expressions.",
            "Status applies to the breakpoint and is related to its age.",
            "Status applies to the entire variable.",
            "Status applies to variable value (variable name is valid)."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpdateActiveBreakpointRequest": {
      "description": "Request to update an active breakpoint.",
      "id": "UpdateActiveBreakpointRequest",
      "properties": {
        "breakpoint": {
          "$ref": "Breakpoint",
          "description": "Updated breakpoint information.\nThe field `id` must be set.\nThe agent must echo all Breakpoint specification fields in the update."
        }
      },
      "type": "object"
    },
    "UpdateActiveBreakpointResponse": {
      "description": "Response for updating an active breakpoint.\nThe message is defined to allow future extensions.",
      "id": "UpdateActiveBreakpointResponse",
      "properties": {},
      "type": "object"
    },
    "Variable": {
      "description": "Represents a variable or an argument possibly of a compound object type.\nNote how the following variables are represented:\n\n1) A simple variable:\n\n    int x = 5\n\n    { name: \"x\", value: \"5\", type: \"int\" }  // Captured variable\n\n2) A compound object:\n\n    struct T {\n        int m1;\n        int m2;\n    };\n    T x = { 3, 7 };\n\n    {  // Captured variable\n        name: \"x\",\n        type: \"T\",\n        members { name: \"m1\", value: \"3\", type: \"int\" },\n        members { name: \"m2\", value: \"7\", type: \"int\" }\n    }\n\n3) A pointer where the pointee was captured:\n\n    T x = { 3, 7 };\n    T* p = \u0026x;\n\n    {   // Captured variable\n        name: \"p\",\n        type: \"T*\",\n        value: \"0x00500500\",\n        members { name: \"m1\", value: \"3\", type: \"int\" },\n        members { name: \"m2\", value: \"7\", type: \"int\" }\n    }\n\n4) A pointer where the pointee was not captured:\n\n    T* p = new T;\n\n    {   // Captured variable\n        name: \"p\",\n        type: \"T*\",\n        value: \"0x00400400\"\n        status { is_error: true, description { format: \"unavailable\" } }\n    }\n\nThe status should describe the reason for the missing value,\nsuch as `\u003coptimized out\u003e`, `\u003cinaccessible\u003e`, `\u003cpointers limit reached\u003e`.\n\nNote that a null pointer should not have members.\n\n5) An unnamed value:\n\n    int* p = new int(7);\n\n    {   // Captured variable\n        name: \"p\",\n        value: \"0x00500500\",\n        type: \"int*\",\n        members { value: \"7\", type: \"int\" } }\n\n6) An unnamed pointer where the pointee was not captured:\n\n    int* p = new int(7);\n    int** pp = \u0026p;\n\n    {  // Captured variable\n        name: \"pp\",\n        value: \"0x00500500\",\n        type: \"int**\",\n        members {\n            value: \"0x00400400\",\n            type: \"int*\"\n            status {\n                is_error: true,\n                description: { format: \"unavailable\" } }\n            }\n        }\n    }\n\nTo optimize computation, memory and network traffic, variables that\nrepeat in the output multiple times can be stored once in a shared\nvariable table and be referenced using the `var_table_index` field.  The\nvariables stored in the shared table are nameless and are essentially\na partition of the complete variable. To reconstruct the complete\nvariable, merge the referencing variable with the referenced variable.\n\nWhen using the shared variable table, the following variables:\n\n    T x = { 3, 7 };\n    T* p = \u0026x;\n    T\u0026 r = x;\n\n    { name: \"x\", var_table_index: 3, type: \"T\" }  // Captured variables\n    { name: \"p\", value \"0x00500500\", type=\"T*\", var_table_index: 3 }\n    { name: \"r\", type=\"T\u0026\", var_table_index: 3 }\n\n    {  // Shared variable table entry #3:\n        members { name: \"m1\", value: \"3\", type: \"int\" },\n        members { name: \"m2\", value: \"7\", type: \"int\" }\n    }\n\nNote that the pointer address is stored with the referencing variable\nand not with the referenced variable. This allows the referenced variable\nto be shared between pointers and references.\n\nThe type field is optional. The debugger agent may or may not support it.",
      "id": "Variable",
      "properties": {
        "members": {
          "description": "Members contained or pointed to by the variable.",
          "items": {
            "$ref": "Variable"
          },
          "type": "array"
        },
        "name": {
          "description": "Name of the variable, if any.",
          "type": "string"
        },
        "status": {
          "$ref": "StatusMessage",
          "description": "Status associated with the variable. This field will usually stay\nunset. A status of a single variable only applies to that variable or\nexpression. The rest of breakpoint data still remains valid. Variables\nmight be reported in error state even when breakpoint is not in final\nstate.\n\nThe message may refer to variable name with `refers_to` set to\n`VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.\nIn either case variable value and members will be unset.\n\nExample of error message applied to name: `Invalid expression syntax`.\n\nExample of information message applied to value: `Not captured`.\n\nExamples of error message applied to value:\n\n*   `Malformed string`,\n*   `Field f not found in class C`\n*   `Null pointer dereference`"
        },
        "type": {
          "description": "Variable type (e.g. `MyClass`). If the variable is split with\n`var_table_index`, `type` goes next to `value`. The interpretation of\na type is agent specific. It is recommended to include the dynamic type\nrather than a static type of an object.",
          "type": "string"
        },
        "value": {
          "description": "Simple value of the variable.",
          "type": "string"
        },
        "varTableIndex": {
          "description": "Reference to a variable in the shared variable table. More than\none variable can reference the same variable in the table. The\n`var_table_index` field is an index into `variable_table` in Breakpoint.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Stackdriver Debugger API",
  "version": "v2",
  "version_module": true
}