# Google Cloud Debugger API . controller . debuggees

## Instance Methods

Returns the breakpoints Resource.

Registers the debuggee with the controller. All agents should call this API with the same request content to get back the same stable 'debuggee_id'. Agents should call this API again whenever ListActiveBreakpoints or UpdateActiveBreakpoint return the error google.rpc.Code.NOT_FOUND. It allows the server to disable the agent or recover from any registration loss. If the debuggee is disabled server, the response will have is_disabled' set to true.

### Method Details

`register(body, x__xgafv=None)`

    Registers the debuggee with the controller. All agents should call this API with the same request content to get back the same stable 'debuggee_id'. Agents should call this API again whenever ListActiveBreakpoints or UpdateActiveBreakpoint return the error google.rpc.Code.NOT_FOUND. It allows the server to disable the agent or recover from any registration loss. If the debuggee is disabled server, the response will have is_disabled' set to true.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # The request to register a debuggee.
        "debuggee": { # Represents the application to debug. The application may include one or more replicated processes executing the same code. Each of these processes is attached with a debugger agent, carrying out the debugging commands. The agents attached to the same debuggee are identified by using exactly the same fields' values when registering. # The debuggee information to register. The fields 'project', 'uniquifier', 'description' and 'agent_version' of the debuggee must be set.
          "status": { # Represents a contextual status message. The message can indicate an error or informational status, and refer to specific parts of the containing object. For example, the Breakpoint.status field can indicate an error referring to the BREAKPOINT_SOURCE_LOCATION with the message "Location not found". # Human readable message to be displayed to the user about this debuggee. Absense of this field indicates no message. The message can be either informational or error.
            "isError": True or False, # Distinguishes errors from informational messages.
            "refersTo": "A String", # Reference to which the message applies.
            "description": { # Represents a message with parameters. # Status message text.
              "parameters": [ # Optional parameters to be embedded into the message.
                "A String",
              ],
              "format": "A String", # Format template of the message. The "format" uses placeholders "$0", "$1", etc. to reference parameters. "$$" can be used to denote the '$' character. Examples: "Failed to load '$0' which helps debug $1 the first time it is loaded. Again, $0 is very important." "Please pay $$10 to use $0 instead of $1."
            },
          },
          "description": "A String", # A human readable description of the debuggee. Recommended to include human readable project name, environment name, and version information .
          "isDisabled": True or False, # If set to true, indicates that the agent should disable itself and detach from the debuggee.
          "labels": { # A set of custom debuggee properties, populated by the agent, to be displayed to the user.
            "a_key": "A String",
          },
          "uniquifier": "A String", # The debuggee uniqifier within the project. Any string that id the application within the project can be used. Recomended to include environement and version or build id's.
          "project": "A String", # The project the debuggee is associated with. Use the project number when registering a Google Cloud Platform project.
          "sourceContexts": [ # Repository snapshots containing the source code of the project.
            { # A SourceContext is a reference to a tree of files. A SourceContext together with a path point to a unique revision of a single file or directory.
              "cloudWorkspace": { # A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot. # A SourceContext referring to a snapshot in a cloud workspace.
                "snapshotId": "A String", # The ID of the snapshot. An empty snapshot_id refers to the most recent snapshot.
                "workspaceId": { # A CloudWorkspaceId is a unique identifier for a cloud workspace. A cloud workspace is a place associated with a repo where modified files can be stored before they are committed. # The ID of the workspace.
                  "repoId": { # A unique identifier for a cloud repo. # The ID of the repo containing the workspace.
                    "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g. winged-cargo-31) and a repo name within that project. # A combination of a project ID and a repo name.
                      "projectId": "A String", # The ID of the project.
                      "repoName": "A String", # The name of the repo. Leave empty for the default repo.
                    },
                    "uid": "A String", # A server-assigned, globally unique identifier.
                  },
                  "name": "A String", # The unique name of the workspace within the repo. This is the name chosen by the client in the Source API's CreateWorkspace method.
                },
              },
              "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a cloud repo (a repo hosted by the Google Cloud Platform). # A SourceContext referring to a revision in a cloud repo.
                "revisionId": "A String", # A revision ID.
                "aliasName": "A String", # The name of an alias (branch, tag, etc.).
                "repoId": { # A unique identifier for a cloud repo. # The ID of the repo.
                  "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g. winged-cargo-31) and a repo name within that project. # A combination of a project ID and a repo name.
                    "projectId": "A String", # The ID of the project.
                    "repoName": "A String", # The name of the repo. Leave empty for the default repo.
                  },
                  "uid": "A String", # A server-assigned, globally unique identifier.
                },
              },
              "git": { # A GitSourceContext denotes a particular revision in a third party Git repository (e.g. GitHub). # A SourceContext referring to any third party Git repo (e.g. GitHub).
                "url": "A String", # Git repository URL.
                "revisionId": "A String", # Git commit hash. required.
              },
              "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
                "revisionId": "A String", # A revision (commit) ID.
                "hostUri": "A String", # The URI of a running Gerrit instance.
                "aliasName": "A String", # The name of an alias (branch, tag, etc.).
                "gerritProject": "A String", # The full project name within the host. Projects may be nested, so "project/subproject" is a valid project name. The "repo name" is hostURI/project.
              },
            },
          ],
          "agentVersion": "A String", # Version ID of the agent release. The version ID is structured as following: "domain/type/vmajor.minor" (for example "google.com/gcp-java/v1.1").
          "isInactive": True or False, # If set to true indicates that the debuggee has not been seen by the Controller service in the last active time period (defined by the server).
          "id": "A String", # Debuggee unique identifer generated by the server.
        },
      }

      x__xgafv: string, V1 error format.

    Returns:
      An object of the form:

        { # The response of registering a debuggee.
        "debuggee": { # Represents the application to debug. The application may include one or more replicated processes executing the same code. Each of these processes is attached with a debugger agent, carrying out the debugging commands. The agents attached to the same debuggee are identified by using exactly the same fields' values when registering. # The debuggee resource. The field 'id' is guranteed to be set (in addition to the echoed fields).
          "status": { # Represents a contextual status message. The message can indicate an error or informational status, and refer to specific parts of the containing object. For example, the Breakpoint.status field can indicate an error referring to the BREAKPOINT_SOURCE_LOCATION with the message "Location not found". # Human readable message to be displayed to the user about this debuggee. Absense of this field indicates no message. The message can be either informational or error.
            "isError": True or False, # Distinguishes errors from informational messages.
            "refersTo": "A String", # Reference to which the message applies.
            "description": { # Represents a message with parameters. # Status message text.
              "parameters": [ # Optional parameters to be embedded into the message.
                "A String",
              ],
              "format": "A String", # Format template of the message. The "format" uses placeholders "$0", "$1", etc. to reference parameters. "$$" can be used to denote the '$' character. Examples: "Failed to load '$0' which helps debug $1 the first time it is loaded. Again, $0 is very important." "Please pay $$10 to use $0 instead of $1."
            },
          },
          "description": "A String", # A human readable description of the debuggee. Recommended to include human readable project name, environment name, and version information .
          "isDisabled": True or False, # If set to true, indicates that the agent should disable itself and detach from the debuggee.
          "labels": { # A set of custom debuggee properties, populated by the agent, to be displayed to the user.
            "a_key": "A String",
          },
          "uniquifier": "A String", # The debuggee uniqifier within the project. Any string that id the application within the project can be used. Recomended to include environement and version or build id's.
          "project": "A String", # The project the debuggee is associated with. Use the project number when registering a Google Cloud Platform project.
          "sourceContexts": [ # Repository snapshots containing the source code of the project.
            { # A SourceContext is a reference to a tree of files. A SourceContext together with a path point to a unique revision of a single file or directory.
              "cloudWorkspace": { # A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot. # A SourceContext referring to a snapshot in a cloud workspace.
                "snapshotId": "A String", # The ID of the snapshot. An empty snapshot_id refers to the most recent snapshot.
                "workspaceId": { # A CloudWorkspaceId is a unique identifier for a cloud workspace. A cloud workspace is a place associated with a repo where modified files can be stored before they are committed. # The ID of the workspace.
                  "repoId": { # A unique identifier for a cloud repo. # The ID of the repo containing the workspace.
                    "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g. winged-cargo-31) and a repo name within that project. # A combination of a project ID and a repo name.
                      "projectId": "A String", # The ID of the project.
                      "repoName": "A String", # The name of the repo. Leave empty for the default repo.
                    },
                    "uid": "A String", # A server-assigned, globally unique identifier.
                  },
                  "name": "A String", # The unique name of the workspace within the repo. This is the name chosen by the client in the Source API's CreateWorkspace method.
                },
              },
              "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a cloud repo (a repo hosted by the Google Cloud Platform). # A SourceContext referring to a revision in a cloud repo.
                "revisionId": "A String", # A revision ID.
                "aliasName": "A String", # The name of an alias (branch, tag, etc.).
                "repoId": { # A unique identifier for a cloud repo. # The ID of the repo.
                  "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID (e.g. winged-cargo-31) and a repo name within that project. # A combination of a project ID and a repo name.
                    "projectId": "A String", # The ID of the project.
                    "repoName": "A String", # The name of the repo. Leave empty for the default repo.
                  },
                  "uid": "A String", # A server-assigned, globally unique identifier.
                },
              },
              "git": { # A GitSourceContext denotes a particular revision in a third party Git repository (e.g. GitHub). # A SourceContext referring to any third party Git repo (e.g. GitHub).
                "url": "A String", # Git repository URL.
                "revisionId": "A String", # Git commit hash. required.
              },
              "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
                "revisionId": "A String", # A revision (commit) ID.
                "hostUri": "A String", # The URI of a running Gerrit instance.
                "aliasName": "A String", # The name of an alias (branch, tag, etc.).
                "gerritProject": "A String", # The full project name within the host. Projects may be nested, so "project/subproject" is a valid project name. The "repo name" is hostURI/project.
              },
            },
          ],
          "agentVersion": "A String", # Version ID of the agent release. The version ID is structured as following: "domain/type/vmajor.minor" (for example "google.com/gcp-java/v1.1").
          "isInactive": True or False, # If set to true indicates that the debuggee has not been seen by the Controller service in the last active time period (defined by the server).
          "id": "A String", # Debuggee unique identifer generated by the server.
        },
      }