{
  "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",
  "fullyEncodeReservedExpansion": true,
  "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",
  "mtlsRootUrl": "https://clouddebugger.mtls.googleapis.com/",
  "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": "Required. 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": "Required. 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": "Required. 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": "Required. 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": "Required. ID of the breakpoint to delete.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "clientVersion": {
                      "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                      "location": "query",
                      "type": "string"
                    },
                    "debuggeeId": {
                      "description": "Required. 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": "Required. ID of the breakpoint to get.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "clientVersion": {
                      "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                      "location": "query",
                      "type": "string"
                    },
                    "debuggeeId": {
                      "description": "Required. 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": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                      "location": "query",
                      "type": "string"
                    },
                    "debuggeeId": {
                      "description": "Required. 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": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                      "location": "query",
                      "type": "string"
                    },
                    "debuggeeId": {
                      "description": "Required. 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": "20200327",
  "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": "------------------------------------------------------------------------------\n## Breakpoint (the resource)\n\nRepresents 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": "Required. 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 fields)."
        }
      },
      "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": "Required. 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": "Cloud Debugger API",
  "version": "v2",
  "version_module": true
}