<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="clouddebugger_v2.html">Cloud Debugger API</a> . <a href="clouddebugger_v2.debugger.html">debugger</a> . <a href="clouddebugger_v2.debugger.debuggees.html">debuggees</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="clouddebugger_v2.debugger.debuggees.breakpoints.html">breakpoints()</a></code>
</p>
<p class="firstline">Returns the breakpoints Resource.</p>

<p class="toc_element">
  <code><a href="#list">list(project=None, clientVersion=None, includeInactive=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists all the debuggees that the user has access to.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="list">list(project=None, clientVersion=None, includeInactive=None, x__xgafv=None)</code>
  <pre>Lists all the debuggees that the user has access to.

Args:
  project: string, Required. Project number of a Google Cloud project whose debuggees to list.
  clientVersion: string, Required. The client version making the call.
Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
  includeInactive: boolean, When set to `true`, the result includes all debuggees. Otherwise, the
result includes only debuggees that are active.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response for listing debuggees.
    &quot;debuggees&quot;: [ # List of debuggees accessible to the calling user.
        # The fields `debuggee.id` and `description` are guaranteed to be set.
        # The `description` field is a human readable field provided by agents and
        # can be displayed to users.
      { # 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.
        &quot;sourceContexts&quot;: [ # 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.
            &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g. GitHub).
                # repository (e.g. GitHub).
              &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
                  # required.
              &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
            },
            &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
              &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
                  # &quot;project/subproject&quot; is a valid project name.
                  # The &quot;repo name&quot; is hostURI/project.
              &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
                &quot;name&quot;: &quot;A String&quot;, # The alias name.
                &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
              },
              &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
              &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
              &quot;aliasName&quot;: &quot;A String&quot;, # The name of an alias (branch, tag, etc.).
            },
            &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a cloud # A SourceContext referring to a revision in a cloud repo.
                # repo (a repo hosted by the Google Cloud Platform).
              &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
              &quot;aliasName&quot;: &quot;A String&quot;, # The name of an alias (branch, tag, etc.).
              &quot;repoId&quot;: { # A unique identifier for a cloud repo. # The ID of the repo.
                &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID # A combination of a project ID and a repo name.
                    # (e.g. winged-cargo-31) and a repo name within that project.
                  &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
                  &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
                },
                &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
              },
              &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
                &quot;name&quot;: &quot;A String&quot;, # The alias name.
                &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
              },
            },
            &quot;cloudWorkspace&quot;: { # A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot. # A SourceContext referring to a snapshot in a cloud workspace.
              &quot;workspaceId&quot;: { # A CloudWorkspaceId is a unique identifier for a cloud workspace. # The ID of the workspace.
                  # A cloud workspace is a place associated with a repo where modified files
                  # can be stored before they are committed.
                &quot;name&quot;: &quot;A String&quot;, # The unique name of the workspace within the repo.  This is the name
                    # chosen by the client in the Source API&#x27;s CreateWorkspace method.
                &quot;repoId&quot;: { # A unique identifier for a cloud repo. # The ID of the repo containing the workspace.
                  &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID # A combination of a project ID and a repo name.
                      # (e.g. winged-cargo-31) and a repo name within that project.
                    &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
                    &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
                  },
                  &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
                },
              },
              &quot;snapshotId&quot;: &quot;A String&quot;, # The ID of the snapshot.
                  # An empty snapshot_id refers to the most recent snapshot.
            },
          },
        ],
        &quot;labels&quot;: { # A set of custom debuggee properties, populated by the agent, to be
            # displayed to the user.
          &quot;a_key&quot;: &quot;A String&quot;,
        },
        &quot;project&quot;: &quot;A String&quot;, # Project the debuggee is associated with.
            # Use project number or id when registering a Google Cloud Platform project.
        &quot;isDisabled&quot;: True or False, # If set to `true`, indicates that the agent should disable itself and
            # detach from the debuggee.
        &quot;uniquifier&quot;: &quot;A String&quot;, # 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.
        &quot;description&quot;: &quot;A String&quot;, # Human readable description of the debuggee.
            # Including a human-readable project name, environment name and version
            # information is recommended.
        &quot;extSourceContexts&quot;: [ # 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.
            &quot;context&quot;: { # A SourceContext is a reference to a tree of files. A SourceContext together # Any source context.
                # with a path point to a unique revision of a single file or directory.
              &quot;git&quot;: { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g. GitHub).
                  # repository (e.g. GitHub).
                &quot;revisionId&quot;: &quot;A String&quot;, # Git commit hash.
                    # required.
                &quot;url&quot;: &quot;A String&quot;, # Git repository URL.
              },
              &quot;gerrit&quot;: { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
                &quot;gerritProject&quot;: &quot;A String&quot;, # The full project name within the host. Projects may be nested, so
                    # &quot;project/subproject&quot; is a valid project name.
                    # The &quot;repo name&quot; is hostURI/project.
                &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
                  &quot;name&quot;: &quot;A String&quot;, # The alias name.
                  &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
                },
                &quot;hostUri&quot;: &quot;A String&quot;, # The URI of a running Gerrit instance.
                &quot;revisionId&quot;: &quot;A String&quot;, # A revision (commit) ID.
                &quot;aliasName&quot;: &quot;A String&quot;, # The name of an alias (branch, tag, etc.).
              },
              &quot;cloudRepo&quot;: { # A CloudRepoSourceContext denotes a particular revision in a cloud # A SourceContext referring to a revision in a cloud repo.
                  # repo (a repo hosted by the Google Cloud Platform).
                &quot;revisionId&quot;: &quot;A String&quot;, # A revision ID.
                &quot;aliasName&quot;: &quot;A String&quot;, # The name of an alias (branch, tag, etc.).
                &quot;repoId&quot;: { # A unique identifier for a cloud repo. # The ID of the repo.
                  &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID # A combination of a project ID and a repo name.
                      # (e.g. winged-cargo-31) and a repo name within that project.
                    &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
                    &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
                  },
                  &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
                },
                &quot;aliasContext&quot;: { # An alias to a repo revision. # An alias, which may be a branch or tag.
                  &quot;name&quot;: &quot;A String&quot;, # The alias name.
                  &quot;kind&quot;: &quot;A String&quot;, # The alias kind.
                },
              },
              &quot;cloudWorkspace&quot;: { # A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot. # A SourceContext referring to a snapshot in a cloud workspace.
                &quot;workspaceId&quot;: { # A CloudWorkspaceId is a unique identifier for a cloud workspace. # The ID of the workspace.
                    # A cloud workspace is a place associated with a repo where modified files
                    # can be stored before they are committed.
                  &quot;name&quot;: &quot;A String&quot;, # The unique name of the workspace within the repo.  This is the name
                      # chosen by the client in the Source API&#x27;s CreateWorkspace method.
                  &quot;repoId&quot;: { # A unique identifier for a cloud repo. # The ID of the repo containing the workspace.
                    &quot;projectRepoId&quot;: { # Selects a repo using a Google Cloud Platform project ID # A combination of a project ID and a repo name.
                        # (e.g. winged-cargo-31) and a repo name within that project.
                      &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project.
                      &quot;repoName&quot;: &quot;A String&quot;, # The name of the repo. Leave empty for the default repo.
                    },
                    &quot;uid&quot;: &quot;A String&quot;, # A server-assigned, globally unique identifier.
                  },
                },
                &quot;snapshotId&quot;: &quot;A String&quot;, # The ID of the snapshot.
                    # An empty snapshot_id refers to the most recent snapshot.
              },
            },
            &quot;labels&quot;: { # Labels with user defined metadata.
              &quot;a_key&quot;: &quot;A String&quot;,
            },
          },
        ],
        &quot;status&quot;: { # Represents a contextual status message. # 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.
            # 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`.
          &quot;isError&quot;: True or False, # Distinguishes errors from informational messages.
          &quot;description&quot;: { # Represents a message with parameters. # Status message text.
            &quot;format&quot;: &quot;A String&quot;, # 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 &#x27;$0&#x27; which helps debug $1 the first time it
                #     is loaded.  Again, $0 is very important.`
                # *   `Please pay $$10 to use $0 instead of $1.`
            &quot;parameters&quot;: [ # Optional parameters to be embedded into the message.
              &quot;A String&quot;,
            ],
          },
          &quot;refersTo&quot;: &quot;A String&quot;, # Reference to which the message applies.
        },
        &quot;isInactive&quot;: 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.
        &quot;canaryMode&quot;: &quot;A String&quot;, # Used when setting breakpoint canary for this debuggee.
        &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the debuggee generated by the controller service.
        &quot;agentVersion&quot;: &quot;A String&quot;, # Version ID of the agent.
            # Schema: `domain/language-platform/vmajor.minor` (for example
            # `google.com/java-gcp/v1.1`).
      },
    ],
  }</pre>
</div>

</body></html>