Cloud Debugger API . controller . debuggees

Instance Methods

breakpoints()

Returns the breakpoints Resource.

close()

Close httplib2 connections.

register(body=None, x__xgafv=None)

Registers the debuggee with the controller service. All agents attached to the same application must call this method with exactly the same request content to get back the same stable `debuggee_id`. Agents should call this method again whenever `google.rpc.Code.NOT_FOUND` is returned from any controller method. This protocol allows the controller service to disable debuggees, recover from data loss, or change the `debuggee_id` format. Agents must handle `debuggee_id` value changing upon re-registration.

Method Details

close()
Close httplib2 connections.
register(body=None, x__xgafv=None)
Registers the debuggee with the controller service. All agents attached to the same application must call this method with exactly the same request content to get back the same stable `debuggee_id`. Agents should call this method again whenever `google.rpc.Code.NOT_FOUND` is returned from any controller method. This protocol allows the controller service to disable debuggees, recover from data loss, or change the `debuggee_id` format. Agents must handle `debuggee_id` value changing upon re-registration.

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

{ # Request to register a debuggee.
  "debuggee": { # Represents the debugged application. 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. Agents attached to the same debuggee identify themselves as such by using exactly the same Debuggee message value when registering. # Required. Debuggee information to register. The fields `project`, `uniquifier`, `description` and `agent_version` of the debuggee must be set.
    "agentVersion": "A String", # Version ID of the agent. Schema: `domain/language-platform/vmajor.minor` (for example `google.com/java-gcp/v1.1`).
    "canaryMode": "A String", # Used when setting breakpoint canary for this debuggee.
    "description": "A String", # Human readable description of the debuggee. Including a human-readable project name, environment name and version information is recommended.
    "extSourceContexts": [ # References to the locations and revisions of the source code used in the deployed application.
      { # An ExtendedSourceContext is a SourceContext combined with additional details describing the context.
        "context": { # 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. # Any source context.
          "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.
            "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
              "kind": "A String", # The alias kind.
              "name": "A String", # The alias name.
            },
            "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.
            },
            "revisionId": "A String", # A revision ID.
          },
          "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.
              "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.
              "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.
              },
            },
          },
          "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
            "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
              "kind": "A String", # The alias kind.
              "name": "A String", # The alias name.
            },
            "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.
            "hostUri": "A String", # The URI of a running Gerrit instance.
            "revisionId": "A String", # A revision (commit) ID.
          },
          "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).
            "revisionId": "A String", # Git commit hash. required.
            "url": "A String", # Git repository URL.
          },
        },
        "labels": { # Labels with user defined metadata.
          "a_key": "A String",
        },
      },
    ],
    "id": "A String", # Unique identifier for the debuggee generated by the controller service.
    "isDisabled": True or False, # If set to `true`, indicates that the agent should disable itself and detach from the debuggee.
    "isInactive": True or False, # If set to `true`, indicates that Controller service does not detect any activity from the debuggee agents and the application is possibly stopped.
    "labels": { # A set of custom debuggee properties, populated by the agent, to be displayed to the user.
      "a_key": "A String",
    },
    "project": "A String", # Project the debuggee is associated with. Use project number or id when registering a Google Cloud Platform project.
    "sourceContexts": [ # References to the locations and revisions of the source code used in the deployed application.
      { # 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.
        "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.
          "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
            "kind": "A String", # The alias kind.
            "name": "A String", # The alias name.
          },
          "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.
          },
          "revisionId": "A String", # A revision ID.
        },
        "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.
            "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.
            "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.
            },
          },
        },
        "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
          "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
            "kind": "A String", # The alias kind.
            "name": "A String", # The alias name.
          },
          "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.
          "hostUri": "A String", # The URI of a running Gerrit instance.
          "revisionId": "A String", # A revision (commit) ID.
        },
        "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).
          "revisionId": "A String", # Git commit hash. required.
          "url": "A String", # Git repository URL.
        },
      },
    ],
    "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. Absence of this field indicates no status. The message can be either informational or an error status.
      "description": { # Represents a message with parameters. # Status message text.
        "format": "A String", # Format template for 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.`
        "parameters": [ # Optional parameters to be embedded into the message.
          "A String",
        ],
      },
      "isError": True or False, # Distinguishes errors from informational messages.
      "refersTo": "A String", # Reference to which the message applies.
    },
    "uniquifier": "A String", # Uniquifier to further distinguish the application. It is possible that different applications might have identical values in the debuggee message, thus, incorrectly identified as a single application by the Controller service. This field adds salt to further distinguish the application. Agents should consider seeding this field with value that identifies the code, binary, configuration and environment.
  },
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response for registering a debuggee.
  "agentId": "A String", # A unique ID generated for the agent. Each RegisterDebuggee request will generate a new agent ID.
  "debuggee": { # Represents the debugged application. 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. Agents attached to the same debuggee identify themselves as such by using exactly the same Debuggee message value when registering. # Debuggee resource. The field `id` is guaranteed to be set (in addition to the echoed fields). If the field `is_disabled` is set to `true`, the agent should disable itself by removing all breakpoints and detaching from the application. It should however continue to poll `RegisterDebuggee` until reenabled.
    "agentVersion": "A String", # Version ID of the agent. Schema: `domain/language-platform/vmajor.minor` (for example `google.com/java-gcp/v1.1`).
    "canaryMode": "A String", # Used when setting breakpoint canary for this debuggee.
    "description": "A String", # Human readable description of the debuggee. Including a human-readable project name, environment name and version information is recommended.
    "extSourceContexts": [ # References to the locations and revisions of the source code used in the deployed application.
      { # An ExtendedSourceContext is a SourceContext combined with additional details describing the context.
        "context": { # 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. # Any source context.
          "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.
            "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
              "kind": "A String", # The alias kind.
              "name": "A String", # The alias name.
            },
            "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.
            },
            "revisionId": "A String", # A revision ID.
          },
          "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.
              "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.
              "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.
              },
            },
          },
          "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
            "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
              "kind": "A String", # The alias kind.
              "name": "A String", # The alias name.
            },
            "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.
            "hostUri": "A String", # The URI of a running Gerrit instance.
            "revisionId": "A String", # A revision (commit) ID.
          },
          "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).
            "revisionId": "A String", # Git commit hash. required.
            "url": "A String", # Git repository URL.
          },
        },
        "labels": { # Labels with user defined metadata.
          "a_key": "A String",
        },
      },
    ],
    "id": "A String", # Unique identifier for the debuggee generated by the controller service.
    "isDisabled": True or False, # If set to `true`, indicates that the agent should disable itself and detach from the debuggee.
    "isInactive": True or False, # If set to `true`, indicates that Controller service does not detect any activity from the debuggee agents and the application is possibly stopped.
    "labels": { # A set of custom debuggee properties, populated by the agent, to be displayed to the user.
      "a_key": "A String",
    },
    "project": "A String", # Project the debuggee is associated with. Use project number or id when registering a Google Cloud Platform project.
    "sourceContexts": [ # References to the locations and revisions of the source code used in the deployed application.
      { # 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.
        "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.
          "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
            "kind": "A String", # The alias kind.
            "name": "A String", # The alias name.
          },
          "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.
          },
          "revisionId": "A String", # A revision ID.
        },
        "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.
            "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.
            "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.
            },
          },
        },
        "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
          "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
            "kind": "A String", # The alias kind.
            "name": "A String", # The alias name.
          },
          "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.
          "hostUri": "A String", # The URI of a running Gerrit instance.
          "revisionId": "A String", # A revision (commit) ID.
        },
        "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).
          "revisionId": "A String", # Git commit hash. required.
          "url": "A String", # Git repository URL.
        },
      },
    ],
    "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. Absence of this field indicates no status. The message can be either informational or an error status.
      "description": { # Represents a message with parameters. # Status message text.
        "format": "A String", # Format template for 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.`
        "parameters": [ # Optional parameters to be embedded into the message.
          "A String",
        ],
      },
      "isError": True or False, # Distinguishes errors from informational messages.
      "refersTo": "A String", # Reference to which the message applies.
    },
    "uniquifier": "A String", # Uniquifier to further distinguish the application. It is possible that different applications might have identical values in the debuggee message, thus, incorrectly identified as a single application by the Controller service. This field adds salt to further distinguish the application. Agents should consider seeding this field with value that identifies the code, binary, configuration and environment.
  },
}