1 // Copyright 2023 Google LLC. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // Code generated file. DO NOT EDIT. 6 7 // Package clouddebugger provides access to the Cloud Debugger API (Deprecated). 8 // 9 // For product documentation, see: https://cloud.google.com/debugger 10 // 11 // # Creating a client 12 // 13 // Usage example: 14 // 15 // import "google.golang.org/api/clouddebugger/v2" 16 // ... 17 // ctx := context.Background() 18 // clouddebuggerService, err := clouddebugger.NewService(ctx) 19 // 20 // In this example, Google Application Default Credentials are used for authentication. 21 // 22 // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. 23 // 24 // # Other authentication options 25 // 26 // By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes: 27 // 28 // clouddebuggerService, err := clouddebugger.NewService(ctx, option.WithScopes(clouddebugger.CloudDebuggerScope)) 29 // 30 // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: 31 // 32 // clouddebuggerService, err := clouddebugger.NewService(ctx, option.WithAPIKey("AIza...")) 33 // 34 // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: 35 // 36 // config := &oauth2.Config{...} 37 // // ... 38 // token, err := config.Exchange(ctx, ...) 39 // clouddebuggerService, err := clouddebugger.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) 40 // 41 // See https://godoc.org/google.golang.org/api/option/ for details on options. 42 package clouddebugger // import "google.golang.org/api/clouddebugger/v2" 43 44 import ( 45 "bytes" 46 "context" 47 "encoding/json" 48 "errors" 49 "fmt" 50 "io" 51 "net/http" 52 "net/url" 53 "strconv" 54 "strings" 55 56 googleapi "google.golang.org/api/googleapi" 57 internal "google.golang.org/api/internal" 58 gensupport "google.golang.org/api/internal/gensupport" 59 option "google.golang.org/api/option" 60 internaloption "google.golang.org/api/option/internaloption" 61 htransport "google.golang.org/api/transport/http" 62 ) 63 64 // Always reference these packages, just in case the auto-generated code 65 // below doesn't. 66 var _ = bytes.NewBuffer 67 var _ = strconv.Itoa 68 var _ = fmt.Sprintf 69 var _ = json.NewDecoder 70 var _ = io.Copy 71 var _ = url.Parse 72 var _ = gensupport.MarshalJSON 73 var _ = googleapi.Version 74 var _ = errors.New 75 var _ = strings.Replace 76 var _ = context.Canceled 77 var _ = internaloption.WithDefaultEndpoint 78 var _ = internal.Version 79 80 const apiId = "clouddebugger:v2" 81 const apiName = "clouddebugger" 82 const apiVersion = "v2" 83 const basePath = "https://clouddebugger.googleapis.com/" 84 const mtlsBasePath = "https://clouddebugger.mtls.googleapis.com/" 85 86 // OAuth2 scopes used by this API. 87 const ( 88 // See, edit, configure, and delete your Google Cloud data and see the 89 // email address for your Google Account. 90 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 91 92 // Use Stackdriver Debugger 93 CloudDebuggerScope = "https://www.googleapis.com/auth/cloud_debugger" 94 ) 95 96 // NewService creates a new Service. 97 func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 98 scopesOption := internaloption.WithDefaultScopes( 99 "https://www.googleapis.com/auth/cloud-platform", 100 "https://www.googleapis.com/auth/cloud_debugger", 101 ) 102 // NOTE: prepend, so we don't override user-specified scopes. 103 opts = append([]option.ClientOption{scopesOption}, opts...) 104 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 105 opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) 106 client, endpoint, err := htransport.NewClient(ctx, opts...) 107 if err != nil { 108 return nil, err 109 } 110 s, err := New(client) 111 if err != nil { 112 return nil, err 113 } 114 if endpoint != "" { 115 s.BasePath = endpoint 116 } 117 return s, nil 118 } 119 120 // New creates a new Service. It uses the provided http.Client for requests. 121 // 122 // Deprecated: please use NewService instead. 123 // To provide a custom HTTP client, use option.WithHTTPClient. 124 // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 125 func New(client *http.Client) (*Service, error) { 126 if client == nil { 127 return nil, errors.New("client is nil") 128 } 129 s := &Service{client: client, BasePath: basePath} 130 s.Controller = NewControllerService(s) 131 s.Debugger = NewDebuggerService(s) 132 return s, nil 133 } 134 135 type Service struct { 136 client *http.Client 137 BasePath string // API endpoint base URL 138 UserAgent string // optional additional User-Agent fragment 139 140 Controller *ControllerService 141 142 Debugger *DebuggerService 143 } 144 145 func (s *Service) userAgent() string { 146 if s.UserAgent == "" { 147 return googleapi.UserAgent 148 } 149 return googleapi.UserAgent + " " + s.UserAgent 150 } 151 152 func NewControllerService(s *Service) *ControllerService { 153 rs := &ControllerService{s: s} 154 rs.Debuggees = NewControllerDebuggeesService(s) 155 return rs 156 } 157 158 type ControllerService struct { 159 s *Service 160 161 Debuggees *ControllerDebuggeesService 162 } 163 164 func NewControllerDebuggeesService(s *Service) *ControllerDebuggeesService { 165 rs := &ControllerDebuggeesService{s: s} 166 rs.Breakpoints = NewControllerDebuggeesBreakpointsService(s) 167 return rs 168 } 169 170 type ControllerDebuggeesService struct { 171 s *Service 172 173 Breakpoints *ControllerDebuggeesBreakpointsService 174 } 175 176 func NewControllerDebuggeesBreakpointsService(s *Service) *ControllerDebuggeesBreakpointsService { 177 rs := &ControllerDebuggeesBreakpointsService{s: s} 178 return rs 179 } 180 181 type ControllerDebuggeesBreakpointsService struct { 182 s *Service 183 } 184 185 func NewDebuggerService(s *Service) *DebuggerService { 186 rs := &DebuggerService{s: s} 187 rs.Debuggees = NewDebuggerDebuggeesService(s) 188 return rs 189 } 190 191 type DebuggerService struct { 192 s *Service 193 194 Debuggees *DebuggerDebuggeesService 195 } 196 197 func NewDebuggerDebuggeesService(s *Service) *DebuggerDebuggeesService { 198 rs := &DebuggerDebuggeesService{s: s} 199 rs.Breakpoints = NewDebuggerDebuggeesBreakpointsService(s) 200 return rs 201 } 202 203 type DebuggerDebuggeesService struct { 204 s *Service 205 206 Breakpoints *DebuggerDebuggeesBreakpointsService 207 } 208 209 func NewDebuggerDebuggeesBreakpointsService(s *Service) *DebuggerDebuggeesBreakpointsService { 210 rs := &DebuggerDebuggeesBreakpointsService{s: s} 211 return rs 212 } 213 214 type DebuggerDebuggeesBreakpointsService struct { 215 s *Service 216 } 217 218 // AliasContext: An alias to a repo revision. 219 type AliasContext struct { 220 // Kind: The alias kind. 221 // 222 // Possible values: 223 // "ANY" - Do not use. 224 // "FIXED" - Git tag 225 // "MOVABLE" - Git branch 226 // "OTHER" - OTHER is used to specify non-standard aliases, those not 227 // of the kinds above. For example, if a Git repo has a ref named 228 // "refs/foo/bar", it is considered to be of kind OTHER. 229 Kind string `json:"kind,omitempty"` 230 231 // Name: The alias name. 232 Name string `json:"name,omitempty"` 233 234 // ForceSendFields is a list of field names (e.g. "Kind") to 235 // unconditionally include in API requests. By default, fields with 236 // empty or default values are omitted from API requests. However, any 237 // non-pointer, non-interface field appearing in ForceSendFields will be 238 // sent to the server regardless of whether the field is empty or not. 239 // This may be used to include empty fields in Patch requests. 240 ForceSendFields []string `json:"-"` 241 242 // NullFields is a list of field names (e.g. "Kind") to include in API 243 // requests with the JSON null value. By default, fields with empty 244 // values are omitted from API requests. However, any field with an 245 // empty value appearing in NullFields will be sent to the server as 246 // null. It is an error if a field in this list has a non-empty value. 247 // This may be used to include null fields in Patch requests. 248 NullFields []string `json:"-"` 249 } 250 251 func (s *AliasContext) MarshalJSON() ([]byte, error) { 252 type NoMethod AliasContext 253 raw := NoMethod(*s) 254 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 255 } 256 257 // Breakpoint: 258 // ---------------------------------------------------------------------- 259 // -------- ## Breakpoint (the resource) Represents the breakpoint 260 // specification, status and results. 261 type Breakpoint struct { 262 // Action: Action that the agent should perform when the code at the 263 // breakpoint location is hit. 264 // 265 // Possible values: 266 // "CAPTURE" - Capture stack frame and variables and update the 267 // breakpoint. The data is only captured once. After that the breakpoint 268 // is set in a final state. 269 // "LOG" - Log each breakpoint hit. The breakpoint remains active 270 // until deleted or expired. 271 Action string `json:"action,omitempty"` 272 273 // CanaryExpireTime: The deadline for the breakpoint to stay in 274 // CANARY_ACTIVE state. The value is meaningless when the breakpoint is 275 // not in CANARY_ACTIVE state. 276 CanaryExpireTime string `json:"canaryExpireTime,omitempty"` 277 278 // Condition: Condition that triggers the breakpoint. The condition is a 279 // compound boolean expression composed using expressions in a 280 // programming language at the source location. 281 Condition string `json:"condition,omitempty"` 282 283 // CreateTime: Time this breakpoint was created by the server in seconds 284 // resolution. 285 CreateTime string `json:"createTime,omitempty"` 286 287 // EvaluatedExpressions: Values of evaluated expressions at breakpoint 288 // time. The evaluated expressions appear in exactly the same order they 289 // are listed in the `expressions` field. The `name` field holds the 290 // original expression text, the `value` or `members` field holds the 291 // result of the evaluated expression. If the expression cannot be 292 // evaluated, the `status` inside the `Variable` will indicate an error 293 // and contain the error text. 294 EvaluatedExpressions []*Variable `json:"evaluatedExpressions,omitempty"` 295 296 // Expressions: List of read-only expressions to evaluate at the 297 // breakpoint location. The expressions are composed using expressions 298 // in the programming language at the source location. If the breakpoint 299 // action is `LOG`, the evaluated expressions are included in log 300 // statements. 301 Expressions []string `json:"expressions,omitempty"` 302 303 // FinalTime: Time this breakpoint was finalized as seen by the server 304 // in seconds resolution. 305 FinalTime string `json:"finalTime,omitempty"` 306 307 // Id: Breakpoint identifier, unique in the scope of the debuggee. 308 Id string `json:"id,omitempty"` 309 310 // IsFinalState: When true, indicates that this is a final result and 311 // the breakpoint state will not change from here on. 312 IsFinalState bool `json:"isFinalState,omitempty"` 313 314 // Labels: A set of custom breakpoint properties, populated by the 315 // agent, to be displayed to the user. 316 Labels map[string]string `json:"labels,omitempty"` 317 318 // Location: Breakpoint source location. 319 Location *SourceLocation `json:"location,omitempty"` 320 321 // LogLevel: Indicates the severity of the log. Only relevant when 322 // action is `LOG`. 323 // 324 // Possible values: 325 // "INFO" - Information log message. 326 // "WARNING" - Warning log message. 327 // "ERROR" - Error log message. 328 LogLevel string `json:"logLevel,omitempty"` 329 330 // LogMessageFormat: Only relevant when action is `LOG`. Defines the 331 // message to log when the breakpoint hits. The message may include 332 // parameter placeholders `$0`, `$1`, etc. These placeholders are 333 // replaced with the evaluated value of the appropriate expression. 334 // Expressions not referenced in `log_message_format` are not logged. 335 // Example: `Message received, id = $0, count = $1` with `expressions` = 336 // `[ message.id, message.count ]`. 337 LogMessageFormat string `json:"logMessageFormat,omitempty"` 338 339 // StackFrames: The stack at breakpoint time, where stack_frames[0] 340 // represents the most recently entered function. 341 StackFrames []*StackFrame `json:"stackFrames,omitempty"` 342 343 // State: The current state of the breakpoint. 344 // 345 // Possible values: 346 // "STATE_UNSPECIFIED" - Breakpoint state UNSPECIFIED. 347 // "STATE_CANARY_PENDING_AGENTS" - Enabling canary but no agents are 348 // available. 349 // "STATE_CANARY_ACTIVE" - Enabling canary and successfully assigning 350 // canary agents. 351 // "STATE_ROLLING_TO_ALL" - Breakpoint rolling out to all agents. 352 // "STATE_IS_FINAL" - Breakpoint is hit/complete/failed. 353 State string `json:"state,omitempty"` 354 355 // Status: Breakpoint status. The status includes an error flag and a 356 // human readable message. This field is usually unset. The message can 357 // be either informational or an error message. Regardless, clients 358 // should always display the text message back to the user. Error status 359 // indicates complete failure of the breakpoint. Example (non-final 360 // state): `Still loading symbols...` Examples (final state): * `Invalid 361 // line number` referring to location * `Field f not found in class C` 362 // referring to condition 363 Status *StatusMessage `json:"status,omitempty"` 364 365 // UserEmail: E-mail address of the user that created this breakpoint 366 UserEmail string `json:"userEmail,omitempty"` 367 368 // VariableTable: The `variable_table` exists to aid with computation, 369 // memory and network traffic optimization. It enables storing a 370 // variable once and reference it from multiple variables, including 371 // variables stored in the `variable_table` itself. For example, the 372 // same `this` object, which may appear at many levels of the stack, can 373 // have all of its data stored once in this table. The stack frame 374 // variables then would hold only a reference to it. The variable 375 // `var_table_index` field is an index into this repeated field. The 376 // stored objects are nameless and get their name from the referencing 377 // variable. The effective variable is a merge of the referencing 378 // variable and the referenced variable. 379 VariableTable []*Variable `json:"variableTable,omitempty"` 380 381 // ForceSendFields is a list of field names (e.g. "Action") to 382 // unconditionally include in API requests. By default, fields with 383 // empty or default values are omitted from API requests. However, any 384 // non-pointer, non-interface field appearing in ForceSendFields will be 385 // sent to the server regardless of whether the field is empty or not. 386 // This may be used to include empty fields in Patch requests. 387 ForceSendFields []string `json:"-"` 388 389 // NullFields is a list of field names (e.g. "Action") to include in API 390 // requests with the JSON null value. By default, fields with empty 391 // values are omitted from API requests. However, any field with an 392 // empty value appearing in NullFields will be sent to the server as 393 // null. It is an error if a field in this list has a non-empty value. 394 // This may be used to include null fields in Patch requests. 395 NullFields []string `json:"-"` 396 } 397 398 func (s *Breakpoint) MarshalJSON() ([]byte, error) { 399 type NoMethod Breakpoint 400 raw := NoMethod(*s) 401 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 402 } 403 404 // CloudRepoSourceContext: A CloudRepoSourceContext denotes a particular 405 // revision in a cloud repo (a repo hosted by the Google Cloud 406 // Platform). 407 type CloudRepoSourceContext struct { 408 // AliasContext: An alias, which may be a branch or tag. 409 AliasContext *AliasContext `json:"aliasContext,omitempty"` 410 411 // AliasName: The name of an alias (branch, tag, etc.). 412 AliasName string `json:"aliasName,omitempty"` 413 414 // RepoId: The ID of the repo. 415 RepoId *RepoId `json:"repoId,omitempty"` 416 417 // RevisionId: A revision ID. 418 RevisionId string `json:"revisionId,omitempty"` 419 420 // ForceSendFields is a list of field names (e.g. "AliasContext") to 421 // unconditionally include in API requests. By default, fields with 422 // empty or default values are omitted from API requests. However, any 423 // non-pointer, non-interface field appearing in ForceSendFields will be 424 // sent to the server regardless of whether the field is empty or not. 425 // This may be used to include empty fields in Patch requests. 426 ForceSendFields []string `json:"-"` 427 428 // NullFields is a list of field names (e.g. "AliasContext") to include 429 // in API requests with the JSON null value. By default, fields with 430 // empty values are omitted from API requests. However, any field with 431 // an empty value appearing in NullFields will be sent to the server as 432 // null. It is an error if a field in this list has a non-empty value. 433 // This may be used to include null fields in Patch requests. 434 NullFields []string `json:"-"` 435 } 436 437 func (s *CloudRepoSourceContext) MarshalJSON() ([]byte, error) { 438 type NoMethod CloudRepoSourceContext 439 raw := NoMethod(*s) 440 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 441 } 442 443 // CloudWorkspaceId: A CloudWorkspaceId is a unique identifier for a 444 // cloud workspace. A cloud workspace is a place associated with a repo 445 // where modified files can be stored before they are committed. 446 type CloudWorkspaceId struct { 447 // Name: The unique name of the workspace within the repo. This is the 448 // name chosen by the client in the Source API's CreateWorkspace method. 449 Name string `json:"name,omitempty"` 450 451 // RepoId: The ID of the repo containing the workspace. 452 RepoId *RepoId `json:"repoId,omitempty"` 453 454 // ForceSendFields is a list of field names (e.g. "Name") to 455 // unconditionally include in API requests. By default, fields with 456 // empty or default values are omitted from API requests. However, any 457 // non-pointer, non-interface field appearing in ForceSendFields will be 458 // sent to the server regardless of whether the field is empty or not. 459 // This may be used to include empty fields in Patch requests. 460 ForceSendFields []string `json:"-"` 461 462 // NullFields is a list of field names (e.g. "Name") to include in API 463 // requests with the JSON null value. By default, fields with empty 464 // values are omitted from API requests. However, any field with an 465 // empty value appearing in NullFields will be sent to the server as 466 // null. It is an error if a field in this list has a non-empty value. 467 // This may be used to include null fields in Patch requests. 468 NullFields []string `json:"-"` 469 } 470 471 func (s *CloudWorkspaceId) MarshalJSON() ([]byte, error) { 472 type NoMethod CloudWorkspaceId 473 raw := NoMethod(*s) 474 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 475 } 476 477 // CloudWorkspaceSourceContext: A CloudWorkspaceSourceContext denotes a 478 // workspace at a particular snapshot. 479 type CloudWorkspaceSourceContext struct { 480 // SnapshotId: The ID of the snapshot. An empty snapshot_id refers to 481 // the most recent snapshot. 482 SnapshotId string `json:"snapshotId,omitempty"` 483 484 // WorkspaceId: The ID of the workspace. 485 WorkspaceId *CloudWorkspaceId `json:"workspaceId,omitempty"` 486 487 // ForceSendFields is a list of field names (e.g. "SnapshotId") to 488 // unconditionally include in API requests. By default, fields with 489 // empty or default values are omitted from API requests. However, any 490 // non-pointer, non-interface field appearing in ForceSendFields will be 491 // sent to the server regardless of whether the field is empty or not. 492 // This may be used to include empty fields in Patch requests. 493 ForceSendFields []string `json:"-"` 494 495 // NullFields is a list of field names (e.g. "SnapshotId") to include in 496 // API requests with the JSON null value. By default, fields with empty 497 // values are omitted from API requests. However, any field with an 498 // empty value appearing in NullFields will be sent to the server as 499 // null. It is an error if a field in this list has a non-empty value. 500 // This may be used to include null fields in Patch requests. 501 NullFields []string `json:"-"` 502 } 503 504 func (s *CloudWorkspaceSourceContext) MarshalJSON() ([]byte, error) { 505 type NoMethod CloudWorkspaceSourceContext 506 raw := NoMethod(*s) 507 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 508 } 509 510 // Debuggee: Represents the debugged application. The application may 511 // include one or more replicated processes executing the same code. 512 // Each of these processes is attached with a debugger agent, carrying 513 // out the debugging commands. Agents attached to the same debuggee 514 // identify themselves as such by using exactly the same Debuggee 515 // message value when registering. 516 type Debuggee struct { 517 // AgentVersion: Version ID of the agent. Schema: 518 // `domain/language-platform/vmajor.minor` (for example 519 // `google.com/java-gcp/v1.1`). 520 AgentVersion string `json:"agentVersion,omitempty"` 521 522 // CanaryMode: Used when setting breakpoint canary for this debuggee. 523 // 524 // Possible values: 525 // "CANARY_MODE_UNSPECIFIED" - CANARY_MODE_UNSPECIFIED is equivalent 526 // to CANARY_MODE_ALWAYS_DISABLED so that if the debuggee is not 527 // configured to use the canary feature, the feature will be disabled. 528 // "CANARY_MODE_ALWAYS_ENABLED" - Always enable breakpoint canary 529 // regardless of the value of breakpoint's canary option. 530 // "CANARY_MODE_ALWAYS_DISABLED" - Always disable breakpoint canary 531 // regardless of the value of breakpoint's canary option. 532 // "CANARY_MODE_DEFAULT_ENABLED" - Depends on the breakpoint's canary 533 // option. Enable canary by default if the breakpoint's canary option is 534 // not specified. 535 // "CANARY_MODE_DEFAULT_DISABLED" - Depends on the breakpoint's canary 536 // option. Disable canary by default if the breakpoint's canary option 537 // is not specified. 538 CanaryMode string `json:"canaryMode,omitempty"` 539 540 // Description: Human readable description of the debuggee. Including a 541 // human-readable project name, environment name and version information 542 // is recommended. 543 Description string `json:"description,omitempty"` 544 545 // ExtSourceContexts: References to the locations and revisions of the 546 // source code used in the deployed application. 547 ExtSourceContexts []*ExtendedSourceContext `json:"extSourceContexts,omitempty"` 548 549 // Id: Unique identifier for the debuggee generated by the controller 550 // service. 551 Id string `json:"id,omitempty"` 552 553 // IsDisabled: If set to `true`, indicates that the agent should disable 554 // itself and detach from the debuggee. 555 IsDisabled bool `json:"isDisabled,omitempty"` 556 557 // IsInactive: If set to `true`, indicates that Controller service does 558 // not detect any activity from the debuggee agents and the application 559 // is possibly stopped. 560 IsInactive bool `json:"isInactive,omitempty"` 561 562 // Labels: A set of custom debuggee properties, populated by the agent, 563 // to be displayed to the user. 564 Labels map[string]string `json:"labels,omitempty"` 565 566 // Project: Project the debuggee is associated with. Use project number 567 // or id when registering a Google Cloud Platform project. 568 Project string `json:"project,omitempty"` 569 570 // SourceContexts: References to the locations and revisions of the 571 // source code used in the deployed application. 572 SourceContexts []*SourceContext `json:"sourceContexts,omitempty"` 573 574 // Status: Human readable message to be displayed to the user about this 575 // debuggee. Absence of this field indicates no status. The message can 576 // be either informational or an error status. 577 Status *StatusMessage `json:"status,omitempty"` 578 579 // Uniquifier: Uniquifier to further distinguish the application. It is 580 // possible that different applications might have identical values in 581 // the debuggee message, thus, incorrectly identified as a single 582 // application by the Controller service. This field adds salt to 583 // further distinguish the application. Agents should consider seeding 584 // this field with value that identifies the code, binary, configuration 585 // and environment. 586 Uniquifier string `json:"uniquifier,omitempty"` 587 588 // ForceSendFields is a list of field names (e.g. "AgentVersion") to 589 // unconditionally include in API requests. By default, fields with 590 // empty or default values are omitted from API requests. However, any 591 // non-pointer, non-interface field appearing in ForceSendFields will be 592 // sent to the server regardless of whether the field is empty or not. 593 // This may be used to include empty fields in Patch requests. 594 ForceSendFields []string `json:"-"` 595 596 // NullFields is a list of field names (e.g. "AgentVersion") to include 597 // in API requests with the JSON null value. By default, fields with 598 // empty values are omitted from API requests. However, any field with 599 // an empty value appearing in NullFields will be sent to the server as 600 // null. It is an error if a field in this list has a non-empty value. 601 // This may be used to include null fields in Patch requests. 602 NullFields []string `json:"-"` 603 } 604 605 func (s *Debuggee) MarshalJSON() ([]byte, error) { 606 type NoMethod Debuggee 607 raw := NoMethod(*s) 608 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 609 } 610 611 // Empty: A generic empty message that you can re-use to avoid defining 612 // duplicated empty messages in your APIs. A typical example is to use 613 // it as the request or the response type of an API method. For 614 // instance: service Foo { rpc Bar(google.protobuf.Empty) returns 615 // (google.protobuf.Empty); } 616 type Empty struct { 617 // ServerResponse contains the HTTP response code and headers from the 618 // server. 619 googleapi.ServerResponse `json:"-"` 620 } 621 622 // ExtendedSourceContext: An ExtendedSourceContext is a SourceContext 623 // combined with additional details describing the context. 624 type ExtendedSourceContext struct { 625 // Context: Any source context. 626 Context *SourceContext `json:"context,omitempty"` 627 628 // Labels: Labels with user defined metadata. 629 Labels map[string]string `json:"labels,omitempty"` 630 631 // ForceSendFields is a list of field names (e.g. "Context") to 632 // unconditionally include in API requests. By default, fields with 633 // empty or default values are omitted from API requests. However, any 634 // non-pointer, non-interface field appearing in ForceSendFields will be 635 // sent to the server regardless of whether the field is empty or not. 636 // This may be used to include empty fields in Patch requests. 637 ForceSendFields []string `json:"-"` 638 639 // NullFields is a list of field names (e.g. "Context") to include in 640 // API requests with the JSON null value. By default, fields with empty 641 // values are omitted from API requests. However, any field with an 642 // empty value appearing in NullFields will be sent to the server as 643 // null. It is an error if a field in this list has a non-empty value. 644 // This may be used to include null fields in Patch requests. 645 NullFields []string `json:"-"` 646 } 647 648 func (s *ExtendedSourceContext) MarshalJSON() ([]byte, error) { 649 type NoMethod ExtendedSourceContext 650 raw := NoMethod(*s) 651 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 652 } 653 654 // FormatMessage: Represents a message with parameters. 655 type FormatMessage struct { 656 // Format: Format template for the message. The `format` uses 657 // placeholders `$0`, `$1`, etc. to reference parameters. `$$` can be 658 // used to denote the `$` character. Examples: * `Failed to load '$0' 659 // which helps debug $1 the first time it is loaded. Again, $0 is very 660 // important.` * `Please pay $$10 to use $0 instead of $1.` 661 Format string `json:"format,omitempty"` 662 663 // Parameters: Optional parameters to be embedded into the message. 664 Parameters []string `json:"parameters,omitempty"` 665 666 // ForceSendFields is a list of field names (e.g. "Format") to 667 // unconditionally include in API requests. By default, fields with 668 // empty or default values are omitted from API requests. However, any 669 // non-pointer, non-interface field appearing in ForceSendFields will be 670 // sent to the server regardless of whether the field is empty or not. 671 // This may be used to include empty fields in Patch requests. 672 ForceSendFields []string `json:"-"` 673 674 // NullFields is a list of field names (e.g. "Format") to include in API 675 // requests with the JSON null value. By default, fields with empty 676 // values are omitted from API requests. However, any field with an 677 // empty value appearing in NullFields will be sent to the server as 678 // null. It is an error if a field in this list has a non-empty value. 679 // This may be used to include null fields in Patch requests. 680 NullFields []string `json:"-"` 681 } 682 683 func (s *FormatMessage) MarshalJSON() ([]byte, error) { 684 type NoMethod FormatMessage 685 raw := NoMethod(*s) 686 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 687 } 688 689 // GerritSourceContext: A SourceContext referring to a Gerrit project. 690 type GerritSourceContext struct { 691 // AliasContext: An alias, which may be a branch or tag. 692 AliasContext *AliasContext `json:"aliasContext,omitempty"` 693 694 // AliasName: The name of an alias (branch, tag, etc.). 695 AliasName string `json:"aliasName,omitempty"` 696 697 // GerritProject: The full project name within the host. Projects may be 698 // nested, so "project/subproject" is a valid project name. The "repo 699 // name" is hostURI/project. 700 GerritProject string `json:"gerritProject,omitempty"` 701 702 // HostUri: The URI of a running Gerrit instance. 703 HostUri string `json:"hostUri,omitempty"` 704 705 // RevisionId: A revision (commit) ID. 706 RevisionId string `json:"revisionId,omitempty"` 707 708 // ForceSendFields is a list of field names (e.g. "AliasContext") to 709 // unconditionally include in API requests. By default, fields with 710 // empty or default values are omitted from API requests. However, any 711 // non-pointer, non-interface field appearing in ForceSendFields will be 712 // sent to the server regardless of whether the field is empty or not. 713 // This may be used to include empty fields in Patch requests. 714 ForceSendFields []string `json:"-"` 715 716 // NullFields is a list of field names (e.g. "AliasContext") to include 717 // in API requests with the JSON null value. By default, fields with 718 // empty values are omitted from API requests. However, any field with 719 // an empty value appearing in NullFields will be sent to the server as 720 // null. It is an error if a field in this list has a non-empty value. 721 // This may be used to include null fields in Patch requests. 722 NullFields []string `json:"-"` 723 } 724 725 func (s *GerritSourceContext) MarshalJSON() ([]byte, error) { 726 type NoMethod GerritSourceContext 727 raw := NoMethod(*s) 728 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 729 } 730 731 // GetBreakpointResponse: Response for getting breakpoint information. 732 type GetBreakpointResponse struct { 733 // Breakpoint: Complete breakpoint state. The fields `id` and `location` 734 // are guaranteed to be set. 735 Breakpoint *Breakpoint `json:"breakpoint,omitempty"` 736 737 // ServerResponse contains the HTTP response code and headers from the 738 // server. 739 googleapi.ServerResponse `json:"-"` 740 741 // ForceSendFields is a list of field names (e.g. "Breakpoint") to 742 // unconditionally include in API requests. By default, fields with 743 // empty or default values are omitted from API requests. However, any 744 // non-pointer, non-interface field appearing in ForceSendFields will be 745 // sent to the server regardless of whether the field is empty or not. 746 // This may be used to include empty fields in Patch requests. 747 ForceSendFields []string `json:"-"` 748 749 // NullFields is a list of field names (e.g. "Breakpoint") to include in 750 // API requests with the JSON null value. By default, fields with empty 751 // values are omitted from API requests. However, any field with an 752 // empty value appearing in NullFields will be sent to the server as 753 // null. It is an error if a field in this list has a non-empty value. 754 // This may be used to include null fields in Patch requests. 755 NullFields []string `json:"-"` 756 } 757 758 func (s *GetBreakpointResponse) MarshalJSON() ([]byte, error) { 759 type NoMethod GetBreakpointResponse 760 raw := NoMethod(*s) 761 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 762 } 763 764 // GitSourceContext: A GitSourceContext denotes a particular revision in 765 // a third party Git repository (e.g. GitHub). 766 type GitSourceContext struct { 767 // RevisionId: Git commit hash. required. 768 RevisionId string `json:"revisionId,omitempty"` 769 770 // Url: Git repository URL. 771 Url string `json:"url,omitempty"` 772 773 // ForceSendFields is a list of field names (e.g. "RevisionId") to 774 // unconditionally include in API requests. By default, fields with 775 // empty or default values are omitted from API requests. However, any 776 // non-pointer, non-interface field appearing in ForceSendFields will be 777 // sent to the server regardless of whether the field is empty or not. 778 // This may be used to include empty fields in Patch requests. 779 ForceSendFields []string `json:"-"` 780 781 // NullFields is a list of field names (e.g. "RevisionId") to include in 782 // API requests with the JSON null value. By default, fields with empty 783 // values are omitted from API requests. However, any field with an 784 // empty value appearing in NullFields will be sent to the server as 785 // null. It is an error if a field in this list has a non-empty value. 786 // This may be used to include null fields in Patch requests. 787 NullFields []string `json:"-"` 788 } 789 790 func (s *GitSourceContext) MarshalJSON() ([]byte, error) { 791 type NoMethod GitSourceContext 792 raw := NoMethod(*s) 793 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 794 } 795 796 // ListActiveBreakpointsResponse: Response for listing active 797 // breakpoints. 798 type ListActiveBreakpointsResponse struct { 799 // Breakpoints: List of all active breakpoints. The fields `id` and 800 // `location` are guaranteed to be set on each breakpoint. 801 Breakpoints []*Breakpoint `json:"breakpoints,omitempty"` 802 803 // NextWaitToken: A token that can be used in the next method call to 804 // block until the list of breakpoints changes. 805 NextWaitToken string `json:"nextWaitToken,omitempty"` 806 807 // WaitExpired: If set to `true`, indicates that there is no change to 808 // the list of active breakpoints and the server-selected timeout has 809 // expired. The `breakpoints` field would be empty and should be 810 // ignored. 811 WaitExpired bool `json:"waitExpired,omitempty"` 812 813 // ServerResponse contains the HTTP response code and headers from the 814 // server. 815 googleapi.ServerResponse `json:"-"` 816 817 // ForceSendFields is a list of field names (e.g. "Breakpoints") to 818 // unconditionally include in API requests. By default, fields with 819 // empty or default values are omitted from API requests. However, any 820 // non-pointer, non-interface field appearing in ForceSendFields will be 821 // sent to the server regardless of whether the field is empty or not. 822 // This may be used to include empty fields in Patch requests. 823 ForceSendFields []string `json:"-"` 824 825 // NullFields is a list of field names (e.g. "Breakpoints") to include 826 // in API requests with the JSON null value. By default, fields with 827 // empty values are omitted from API requests. However, any field with 828 // an empty value appearing in NullFields will be sent to the server as 829 // null. It is an error if a field in this list has a non-empty value. 830 // This may be used to include null fields in Patch requests. 831 NullFields []string `json:"-"` 832 } 833 834 func (s *ListActiveBreakpointsResponse) MarshalJSON() ([]byte, error) { 835 type NoMethod ListActiveBreakpointsResponse 836 raw := NoMethod(*s) 837 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 838 } 839 840 // ListBreakpointsResponse: Response for listing breakpoints. 841 type ListBreakpointsResponse struct { 842 // Breakpoints: List of breakpoints matching the request. The fields 843 // `id` and `location` are guaranteed to be set on each breakpoint. The 844 // fields: `stack_frames`, `evaluated_expressions` and `variable_table` 845 // are cleared on each breakpoint regardless of its status. 846 Breakpoints []*Breakpoint `json:"breakpoints,omitempty"` 847 848 // NextWaitToken: A wait token that can be used in the next call to 849 // `list` (REST) or `ListBreakpoints` (RPC) to block until the list of 850 // breakpoints has changes. 851 NextWaitToken string `json:"nextWaitToken,omitempty"` 852 853 // ServerResponse contains the HTTP response code and headers from the 854 // server. 855 googleapi.ServerResponse `json:"-"` 856 857 // ForceSendFields is a list of field names (e.g. "Breakpoints") to 858 // unconditionally include in API requests. By default, fields with 859 // empty or default values are omitted from API requests. However, any 860 // non-pointer, non-interface field appearing in ForceSendFields will be 861 // sent to the server regardless of whether the field is empty or not. 862 // This may be used to include empty fields in Patch requests. 863 ForceSendFields []string `json:"-"` 864 865 // NullFields is a list of field names (e.g. "Breakpoints") to include 866 // in API requests with the JSON null value. By default, fields with 867 // empty values are omitted from API requests. However, any field with 868 // an empty value appearing in NullFields will be sent to the server as 869 // null. It is an error if a field in this list has a non-empty value. 870 // This may be used to include null fields in Patch requests. 871 NullFields []string `json:"-"` 872 } 873 874 func (s *ListBreakpointsResponse) MarshalJSON() ([]byte, error) { 875 type NoMethod ListBreakpointsResponse 876 raw := NoMethod(*s) 877 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 878 } 879 880 // ListDebuggeesResponse: Response for listing debuggees. 881 type ListDebuggeesResponse struct { 882 // Debuggees: List of debuggees accessible to the calling user. The 883 // fields `debuggee.id` and `description` are guaranteed to be set. The 884 // `description` field is a human readable field provided by agents and 885 // can be displayed to users. 886 Debuggees []*Debuggee `json:"debuggees,omitempty"` 887 888 // ServerResponse contains the HTTP response code and headers from the 889 // server. 890 googleapi.ServerResponse `json:"-"` 891 892 // ForceSendFields is a list of field names (e.g. "Debuggees") to 893 // unconditionally include in API requests. By default, fields with 894 // empty or default values are omitted from API requests. However, any 895 // non-pointer, non-interface field appearing in ForceSendFields will be 896 // sent to the server regardless of whether the field is empty or not. 897 // This may be used to include empty fields in Patch requests. 898 ForceSendFields []string `json:"-"` 899 900 // NullFields is a list of field names (e.g. "Debuggees") to include in 901 // API requests with the JSON null value. By default, fields with empty 902 // values are omitted from API requests. However, any field with an 903 // empty value appearing in NullFields will be sent to the server as 904 // null. It is an error if a field in this list has a non-empty value. 905 // This may be used to include null fields in Patch requests. 906 NullFields []string `json:"-"` 907 } 908 909 func (s *ListDebuggeesResponse) MarshalJSON() ([]byte, error) { 910 type NoMethod ListDebuggeesResponse 911 raw := NoMethod(*s) 912 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 913 } 914 915 // ProjectRepoId: Selects a repo using a Google Cloud Platform project 916 // ID (e.g. winged-cargo-31) and a repo name within that project. 917 type ProjectRepoId struct { 918 // ProjectId: The ID of the project. 919 ProjectId string `json:"projectId,omitempty"` 920 921 // RepoName: The name of the repo. Leave empty for the default repo. 922 RepoName string `json:"repoName,omitempty"` 923 924 // ForceSendFields is a list of field names (e.g. "ProjectId") to 925 // unconditionally include in API requests. By default, fields with 926 // empty or default values are omitted from API requests. However, any 927 // non-pointer, non-interface field appearing in ForceSendFields will be 928 // sent to the server regardless of whether the field is empty or not. 929 // This may be used to include empty fields in Patch requests. 930 ForceSendFields []string `json:"-"` 931 932 // NullFields is a list of field names (e.g. "ProjectId") to include in 933 // API requests with the JSON null value. By default, fields with empty 934 // values are omitted from API requests. However, any field with an 935 // empty value appearing in NullFields will be sent to the server as 936 // null. It is an error if a field in this list has a non-empty value. 937 // This may be used to include null fields in Patch requests. 938 NullFields []string `json:"-"` 939 } 940 941 func (s *ProjectRepoId) MarshalJSON() ([]byte, error) { 942 type NoMethod ProjectRepoId 943 raw := NoMethod(*s) 944 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 945 } 946 947 // RegisterDebuggeeRequest: Request to register a debuggee. 948 type RegisterDebuggeeRequest struct { 949 // Debuggee: Required. Debuggee information to register. The fields 950 // `project`, `uniquifier`, `description` and `agent_version` of the 951 // debuggee must be set. 952 Debuggee *Debuggee `json:"debuggee,omitempty"` 953 954 // ForceSendFields is a list of field names (e.g. "Debuggee") to 955 // unconditionally include in API requests. By default, fields with 956 // empty or default values are omitted from API requests. However, any 957 // non-pointer, non-interface field appearing in ForceSendFields will be 958 // sent to the server regardless of whether the field is empty or not. 959 // This may be used to include empty fields in Patch requests. 960 ForceSendFields []string `json:"-"` 961 962 // NullFields is a list of field names (e.g. "Debuggee") to include in 963 // API requests with the JSON null value. By default, fields with empty 964 // values are omitted from API requests. However, any field with an 965 // empty value appearing in NullFields will be sent to the server as 966 // null. It is an error if a field in this list has a non-empty value. 967 // This may be used to include null fields in Patch requests. 968 NullFields []string `json:"-"` 969 } 970 971 func (s *RegisterDebuggeeRequest) MarshalJSON() ([]byte, error) { 972 type NoMethod RegisterDebuggeeRequest 973 raw := NoMethod(*s) 974 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 975 } 976 977 // RegisterDebuggeeResponse: Response for registering a debuggee. 978 type RegisterDebuggeeResponse struct { 979 // AgentId: A unique ID generated for the agent. Each RegisterDebuggee 980 // request will generate a new agent ID. 981 AgentId string `json:"agentId,omitempty"` 982 983 // Debuggee: Debuggee resource. The field `id` is guaranteed to be set 984 // (in addition to the echoed fields). If the field `is_disabled` is set 985 // to `true`, the agent should disable itself by removing all 986 // breakpoints and detaching from the application. It should however 987 // continue to poll `RegisterDebuggee` until reenabled. 988 Debuggee *Debuggee `json:"debuggee,omitempty"` 989 990 // ServerResponse contains the HTTP response code and headers from the 991 // server. 992 googleapi.ServerResponse `json:"-"` 993 994 // ForceSendFields is a list of field names (e.g. "AgentId") to 995 // unconditionally include in API requests. By default, fields with 996 // empty or default values are omitted from API requests. However, any 997 // non-pointer, non-interface field appearing in ForceSendFields will be 998 // sent to the server regardless of whether the field is empty or not. 999 // This may be used to include empty fields in Patch requests. 1000 ForceSendFields []string `json:"-"` 1001 1002 // NullFields is a list of field names (e.g. "AgentId") to include in 1003 // API requests with the JSON null value. By default, fields with empty 1004 // values are omitted from API requests. However, any field with an 1005 // empty value appearing in NullFields will be sent to the server as 1006 // null. It is an error if a field in this list has a non-empty value. 1007 // This may be used to include null fields in Patch requests. 1008 NullFields []string `json:"-"` 1009 } 1010 1011 func (s *RegisterDebuggeeResponse) MarshalJSON() ([]byte, error) { 1012 type NoMethod RegisterDebuggeeResponse 1013 raw := NoMethod(*s) 1014 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1015 } 1016 1017 // RepoId: A unique identifier for a cloud repo. 1018 type RepoId struct { 1019 // ProjectRepoId: A combination of a project ID and a repo name. 1020 ProjectRepoId *ProjectRepoId `json:"projectRepoId,omitempty"` 1021 1022 // Uid: A server-assigned, globally unique identifier. 1023 Uid string `json:"uid,omitempty"` 1024 1025 // ForceSendFields is a list of field names (e.g. "ProjectRepoId") to 1026 // unconditionally include in API requests. By default, fields with 1027 // empty or default values are omitted from API requests. However, any 1028 // non-pointer, non-interface field appearing in ForceSendFields will be 1029 // sent to the server regardless of whether the field is empty or not. 1030 // This may be used to include empty fields in Patch requests. 1031 ForceSendFields []string `json:"-"` 1032 1033 // NullFields is a list of field names (e.g. "ProjectRepoId") to include 1034 // in API requests with the JSON null value. By default, fields with 1035 // empty values are omitted from API requests. However, any field with 1036 // an empty value appearing in NullFields will be sent to the server as 1037 // null. It is an error if a field in this list has a non-empty value. 1038 // This may be used to include null fields in Patch requests. 1039 NullFields []string `json:"-"` 1040 } 1041 1042 func (s *RepoId) MarshalJSON() ([]byte, error) { 1043 type NoMethod RepoId 1044 raw := NoMethod(*s) 1045 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1046 } 1047 1048 // SetBreakpointResponse: Response for setting a breakpoint. 1049 type SetBreakpointResponse struct { 1050 // Breakpoint: Breakpoint resource. The field `id` is guaranteed to be 1051 // set (in addition to the echoed fields). 1052 Breakpoint *Breakpoint `json:"breakpoint,omitempty"` 1053 1054 // ServerResponse contains the HTTP response code and headers from the 1055 // server. 1056 googleapi.ServerResponse `json:"-"` 1057 1058 // ForceSendFields is a list of field names (e.g. "Breakpoint") to 1059 // unconditionally include in API requests. By default, fields with 1060 // empty or default values are omitted from API requests. However, any 1061 // non-pointer, non-interface field appearing in ForceSendFields will be 1062 // sent to the server regardless of whether the field is empty or not. 1063 // This may be used to include empty fields in Patch requests. 1064 ForceSendFields []string `json:"-"` 1065 1066 // NullFields is a list of field names (e.g. "Breakpoint") to include in 1067 // API requests with the JSON null value. By default, fields with empty 1068 // values are omitted from API requests. However, any field with an 1069 // empty value appearing in NullFields will be sent to the server as 1070 // null. It is an error if a field in this list has a non-empty value. 1071 // This may be used to include null fields in Patch requests. 1072 NullFields []string `json:"-"` 1073 } 1074 1075 func (s *SetBreakpointResponse) MarshalJSON() ([]byte, error) { 1076 type NoMethod SetBreakpointResponse 1077 raw := NoMethod(*s) 1078 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1079 } 1080 1081 // SourceContext: A SourceContext is a reference to a tree of files. A 1082 // SourceContext together with a path point to a unique revision of a 1083 // single file or directory. 1084 type SourceContext struct { 1085 // CloudRepo: A SourceContext referring to a revision in a cloud repo. 1086 CloudRepo *CloudRepoSourceContext `json:"cloudRepo,omitempty"` 1087 1088 // CloudWorkspace: A SourceContext referring to a snapshot in a cloud 1089 // workspace. 1090 CloudWorkspace *CloudWorkspaceSourceContext `json:"cloudWorkspace,omitempty"` 1091 1092 // Gerrit: A SourceContext referring to a Gerrit project. 1093 Gerrit *GerritSourceContext `json:"gerrit,omitempty"` 1094 1095 // Git: A SourceContext referring to any third party Git repo (e.g. 1096 // GitHub). 1097 Git *GitSourceContext `json:"git,omitempty"` 1098 1099 // ForceSendFields is a list of field names (e.g. "CloudRepo") to 1100 // unconditionally include in API requests. By default, fields with 1101 // empty or default values are omitted from API requests. However, any 1102 // non-pointer, non-interface field appearing in ForceSendFields will be 1103 // sent to the server regardless of whether the field is empty or not. 1104 // This may be used to include empty fields in Patch requests. 1105 ForceSendFields []string `json:"-"` 1106 1107 // NullFields is a list of field names (e.g. "CloudRepo") to include in 1108 // API requests with the JSON null value. By default, fields with empty 1109 // values are omitted from API requests. However, any field with an 1110 // empty value appearing in NullFields will be sent to the server as 1111 // null. It is an error if a field in this list has a non-empty value. 1112 // This may be used to include null fields in Patch requests. 1113 NullFields []string `json:"-"` 1114 } 1115 1116 func (s *SourceContext) MarshalJSON() ([]byte, error) { 1117 type NoMethod SourceContext 1118 raw := NoMethod(*s) 1119 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1120 } 1121 1122 // SourceLocation: Represents a location in the source code. 1123 type SourceLocation struct { 1124 // Column: Column within a line. The first column in a line as the value 1125 // `1`. Agents that do not support setting breakpoints on specific 1126 // columns ignore this field. 1127 Column int64 `json:"column,omitempty"` 1128 1129 // Line: Line inside the file. The first line in the file has the value 1130 // `1`. 1131 Line int64 `json:"line,omitempty"` 1132 1133 // Path: Path to the source file within the source context of the target 1134 // binary. 1135 Path string `json:"path,omitempty"` 1136 1137 // ForceSendFields is a list of field names (e.g. "Column") to 1138 // unconditionally include in API requests. By default, fields with 1139 // empty or default values are omitted from API requests. However, any 1140 // non-pointer, non-interface field appearing in ForceSendFields will be 1141 // sent to the server regardless of whether the field is empty or not. 1142 // This may be used to include empty fields in Patch requests. 1143 ForceSendFields []string `json:"-"` 1144 1145 // NullFields is a list of field names (e.g. "Column") to include in API 1146 // requests with the JSON null value. By default, fields with empty 1147 // values are omitted from API requests. However, any field with an 1148 // empty value appearing in NullFields will be sent to the server as 1149 // null. It is an error if a field in this list has a non-empty value. 1150 // This may be used to include null fields in Patch requests. 1151 NullFields []string `json:"-"` 1152 } 1153 1154 func (s *SourceLocation) MarshalJSON() ([]byte, error) { 1155 type NoMethod SourceLocation 1156 raw := NoMethod(*s) 1157 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1158 } 1159 1160 // StackFrame: Represents a stack frame context. 1161 type StackFrame struct { 1162 // Arguments: Set of arguments passed to this function. Note that this 1163 // might not be populated for all stack frames. 1164 Arguments []*Variable `json:"arguments,omitempty"` 1165 1166 // Function: Demangled function name at the call site. 1167 Function string `json:"function,omitempty"` 1168 1169 // Locals: Set of local variables at the stack frame location. Note that 1170 // this might not be populated for all stack frames. 1171 Locals []*Variable `json:"locals,omitempty"` 1172 1173 // Location: Source location of the call site. 1174 Location *SourceLocation `json:"location,omitempty"` 1175 1176 // ForceSendFields is a list of field names (e.g. "Arguments") to 1177 // unconditionally include in API requests. By default, fields with 1178 // empty or default values are omitted from API requests. However, any 1179 // non-pointer, non-interface field appearing in ForceSendFields will be 1180 // sent to the server regardless of whether the field is empty or not. 1181 // This may be used to include empty fields in Patch requests. 1182 ForceSendFields []string `json:"-"` 1183 1184 // NullFields is a list of field names (e.g. "Arguments") to include in 1185 // API requests with the JSON null value. By default, fields with empty 1186 // values are omitted from API requests. However, any field with an 1187 // empty value appearing in NullFields will be sent to the server as 1188 // null. It is an error if a field in this list has a non-empty value. 1189 // This may be used to include null fields in Patch requests. 1190 NullFields []string `json:"-"` 1191 } 1192 1193 func (s *StackFrame) MarshalJSON() ([]byte, error) { 1194 type NoMethod StackFrame 1195 raw := NoMethod(*s) 1196 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1197 } 1198 1199 // StatusMessage: Represents a contextual status message. The message 1200 // can indicate an error or informational status, and refer to specific 1201 // parts of the containing object. For example, the `Breakpoint.status` 1202 // field can indicate an error referring to the 1203 // `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`. 1204 type StatusMessage struct { 1205 // Description: Status message text. 1206 Description *FormatMessage `json:"description,omitempty"` 1207 1208 // IsError: Distinguishes errors from informational messages. 1209 IsError bool `json:"isError,omitempty"` 1210 1211 // RefersTo: Reference to which the message applies. 1212 // 1213 // Possible values: 1214 // "UNSPECIFIED" - Status doesn't refer to any particular input. 1215 // "BREAKPOINT_SOURCE_LOCATION" - Status applies to the breakpoint and 1216 // is related to its location. 1217 // "BREAKPOINT_CONDITION" - Status applies to the breakpoint and is 1218 // related to its condition. 1219 // "BREAKPOINT_EXPRESSION" - Status applies to the breakpoint and is 1220 // related to its expressions. 1221 // "BREAKPOINT_AGE" - Status applies to the breakpoint and is related 1222 // to its age. 1223 // "BREAKPOINT_CANARY_FAILED" - Status applies to the breakpoint when 1224 // the breakpoint failed to exit the canary state. 1225 // "VARIABLE_NAME" - Status applies to the entire variable. 1226 // "VARIABLE_VALUE" - Status applies to variable value (variable name 1227 // is valid). 1228 RefersTo string `json:"refersTo,omitempty"` 1229 1230 // ForceSendFields is a list of field names (e.g. "Description") to 1231 // unconditionally include in API requests. By default, fields with 1232 // empty or default values are omitted from API requests. However, any 1233 // non-pointer, non-interface field appearing in ForceSendFields will be 1234 // sent to the server regardless of whether the field is empty or not. 1235 // This may be used to include empty fields in Patch requests. 1236 ForceSendFields []string `json:"-"` 1237 1238 // NullFields is a list of field names (e.g. "Description") to include 1239 // in API requests with the JSON null value. By default, fields with 1240 // empty values are omitted from API requests. However, any field with 1241 // an empty value appearing in NullFields will be sent to the server as 1242 // null. It is an error if a field in this list has a non-empty value. 1243 // This may be used to include null fields in Patch requests. 1244 NullFields []string `json:"-"` 1245 } 1246 1247 func (s *StatusMessage) MarshalJSON() ([]byte, error) { 1248 type NoMethod StatusMessage 1249 raw := NoMethod(*s) 1250 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1251 } 1252 1253 // UpdateActiveBreakpointRequest: Request to update an active 1254 // breakpoint. 1255 type UpdateActiveBreakpointRequest struct { 1256 // Breakpoint: Required. Updated breakpoint information. The field `id` 1257 // must be set. The agent must echo all Breakpoint specification fields 1258 // in the update. 1259 Breakpoint *Breakpoint `json:"breakpoint,omitempty"` 1260 1261 // ForceSendFields is a list of field names (e.g. "Breakpoint") to 1262 // unconditionally include in API requests. By default, fields with 1263 // empty or default values are omitted from API requests. However, any 1264 // non-pointer, non-interface field appearing in ForceSendFields will be 1265 // sent to the server regardless of whether the field is empty or not. 1266 // This may be used to include empty fields in Patch requests. 1267 ForceSendFields []string `json:"-"` 1268 1269 // NullFields is a list of field names (e.g. "Breakpoint") to include in 1270 // API requests with the JSON null value. By default, fields with empty 1271 // values are omitted from API requests. However, any field with an 1272 // empty value appearing in NullFields will be sent to the server as 1273 // null. It is an error if a field in this list has a non-empty value. 1274 // This may be used to include null fields in Patch requests. 1275 NullFields []string `json:"-"` 1276 } 1277 1278 func (s *UpdateActiveBreakpointRequest) MarshalJSON() ([]byte, error) { 1279 type NoMethod UpdateActiveBreakpointRequest 1280 raw := NoMethod(*s) 1281 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1282 } 1283 1284 // UpdateActiveBreakpointResponse: Response for updating an active 1285 // breakpoint. The message is defined to allow future extensions. 1286 type UpdateActiveBreakpointResponse struct { 1287 // ServerResponse contains the HTTP response code and headers from the 1288 // server. 1289 googleapi.ServerResponse `json:"-"` 1290 } 1291 1292 // Variable: Represents a variable or an argument possibly of a compound 1293 // object type. Note how the following variables are represented: 1) A 1294 // simple variable: int x = 5 { name: "x", value: "5", type: "int" } // 1295 // Captured variable 2) A compound object: struct T { int m1; int m2; }; 1296 // T x = { 3, 7 }; { // Captured variable name: "x", type: "T", members 1297 // { name: "m1", value: "3", type: "int" }, members { name: "m2", value: 1298 // "7", type: "int" } } 3) A pointer where the pointee was captured: T x 1299 // = { 3, 7 }; T* p = &x; { // Captured variable name: "p", type: "T*", 1300 // value: "0x00500500", members { name: "m1", value: "3", type: "int" }, 1301 // members { name: "m2", value: "7", type: "int" } } 4) A pointer where 1302 // the pointee was not captured: T* p = new T; { // Captured variable 1303 // name: "p", type: "T*", value: "0x00400400" status { is_error: true, 1304 // description { format: "unavailable" } } } The status should describe 1305 // the reason for the missing value, such as “, “, “. Note that a 1306 // null pointer should not have members. 5) An unnamed value: int* p = 1307 // new int(7); { // Captured variable name: "p", value: "0x00500500", 1308 // type: "int*", members { value: "7", type: "int" } } 6) An unnamed 1309 // pointer where the pointee was not captured: int* p = new int(7); 1310 // int** pp = &p; { // Captured variable name: "pp", value: 1311 // "0x00500500", type: "int**", members { value: "0x00400400", type: 1312 // "int*" status { is_error: true, description: { format: "unavailable" 1313 // } } } } } To optimize computation, memory and network traffic, 1314 // variables that repeat in the output multiple times can be stored once 1315 // in a shared variable table and be referenced using the 1316 // `var_table_index` field. The variables stored in the shared table are 1317 // nameless and are essentially a partition of the complete variable. To 1318 // reconstruct the complete variable, merge the referencing variable 1319 // with the referenced variable. When using the shared variable table, 1320 // the following variables: T x = { 3, 7 }; T* p = &x; T& r = x; { name: 1321 // "x", var_table_index: 3, type: "T" } // Captured variables { name: 1322 // "p", value "0x00500500", type="T*", var_table_index: 3 } { name: "r", 1323 // type="T&", var_table_index: 3 } { // Shared variable table entry #3: 1324 // members { name: "m1", value: "3", type: "int" }, members { name: 1325 // "m2", value: "7", type: "int" } } Note that the pointer address is 1326 // stored with the referencing variable and not with the referenced 1327 // variable. This allows the referenced variable to be shared between 1328 // pointers and references. The type field is optional. The debugger 1329 // agent may or may not support it. 1330 type Variable struct { 1331 // Members: Members contained or pointed to by the variable. 1332 Members []*Variable `json:"members,omitempty"` 1333 1334 // Name: Name of the variable, if any. 1335 Name string `json:"name,omitempty"` 1336 1337 // Status: Status associated with the variable. This field will usually 1338 // stay unset. A status of a single variable only applies to that 1339 // variable or expression. The rest of breakpoint data still remains 1340 // valid. Variables might be reported in error state even when 1341 // breakpoint is not in final state. The message may refer to variable 1342 // name with `refers_to` set to `VARIABLE_NAME`. Alternatively 1343 // `refers_to` will be set to `VARIABLE_VALUE`. In either case variable 1344 // value and members will be unset. Example of error message applied to 1345 // name: `Invalid expression syntax`. Example of information message 1346 // applied to value: `Not captured`. Examples of error message applied 1347 // to value: * `Malformed string`, * `Field f not found in class C` * 1348 // `Null pointer dereference` 1349 Status *StatusMessage `json:"status,omitempty"` 1350 1351 // Type: Variable type (e.g. `MyClass`). If the variable is split with 1352 // `var_table_index`, `type` goes next to `value`. The interpretation of 1353 // a type is agent specific. It is recommended to include the dynamic 1354 // type rather than a static type of an object. 1355 Type string `json:"type,omitempty"` 1356 1357 // Value: Simple value of the variable. 1358 Value string `json:"value,omitempty"` 1359 1360 // VarTableIndex: Reference to a variable in the shared variable table. 1361 // More than one variable can reference the same variable in the table. 1362 // The `var_table_index` field is an index into `variable_table` in 1363 // Breakpoint. 1364 VarTableIndex int64 `json:"varTableIndex,omitempty"` 1365 1366 // ForceSendFields is a list of field names (e.g. "Members") to 1367 // unconditionally include in API requests. By default, fields with 1368 // empty or default values are omitted from API requests. However, any 1369 // non-pointer, non-interface field appearing in ForceSendFields will be 1370 // sent to the server regardless of whether the field is empty or not. 1371 // This may be used to include empty fields in Patch requests. 1372 ForceSendFields []string `json:"-"` 1373 1374 // NullFields is a list of field names (e.g. "Members") to include in 1375 // API requests with the JSON null value. By default, fields with empty 1376 // values are omitted from API requests. However, any field with an 1377 // empty value appearing in NullFields will be sent to the server as 1378 // null. It is an error if a field in this list has a non-empty value. 1379 // This may be used to include null fields in Patch requests. 1380 NullFields []string `json:"-"` 1381 } 1382 1383 func (s *Variable) MarshalJSON() ([]byte, error) { 1384 type NoMethod Variable 1385 raw := NoMethod(*s) 1386 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1387 } 1388 1389 // method id "clouddebugger.controller.debuggees.register": 1390 1391 type ControllerDebuggeesRegisterCall struct { 1392 s *Service 1393 registerdebuggeerequest *RegisterDebuggeeRequest 1394 urlParams_ gensupport.URLParams 1395 ctx_ context.Context 1396 header_ http.Header 1397 } 1398 1399 // Register: Registers the debuggee with the controller service. All 1400 // agents attached to the same application must call this method with 1401 // exactly the same request content to get back the same stable 1402 // `debuggee_id`. Agents should call this method again whenever 1403 // `google.rpc.Code.NOT_FOUND` is returned from any controller method. 1404 // This protocol allows the controller service to disable debuggees, 1405 // recover from data loss, or change the `debuggee_id` format. Agents 1406 // must handle `debuggee_id` value changing upon re-registration. 1407 func (r *ControllerDebuggeesService) Register(registerdebuggeerequest *RegisterDebuggeeRequest) *ControllerDebuggeesRegisterCall { 1408 c := &ControllerDebuggeesRegisterCall{s: r.s, urlParams_: make(gensupport.URLParams)} 1409 c.registerdebuggeerequest = registerdebuggeerequest 1410 return c 1411 } 1412 1413 // Fields allows partial responses to be retrieved. See 1414 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 1415 // for more information. 1416 func (c *ControllerDebuggeesRegisterCall) Fields(s ...googleapi.Field) *ControllerDebuggeesRegisterCall { 1417 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 1418 return c 1419 } 1420 1421 // Context sets the context to be used in this call's Do method. Any 1422 // pending HTTP request will be aborted if the provided context is 1423 // canceled. 1424 func (c *ControllerDebuggeesRegisterCall) Context(ctx context.Context) *ControllerDebuggeesRegisterCall { 1425 c.ctx_ = ctx 1426 return c 1427 } 1428 1429 // Header returns an http.Header that can be modified by the caller to 1430 // add HTTP headers to the request. 1431 func (c *ControllerDebuggeesRegisterCall) Header() http.Header { 1432 if c.header_ == nil { 1433 c.header_ = make(http.Header) 1434 } 1435 return c.header_ 1436 } 1437 1438 func (c *ControllerDebuggeesRegisterCall) doRequest(alt string) (*http.Response, error) { 1439 reqHeaders := make(http.Header) 1440 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 1441 for k, v := range c.header_ { 1442 reqHeaders[k] = v 1443 } 1444 reqHeaders.Set("User-Agent", c.s.userAgent()) 1445 var body io.Reader = nil 1446 body, err := googleapi.WithoutDataWrapper.JSONReader(c.registerdebuggeerequest) 1447 if err != nil { 1448 return nil, err 1449 } 1450 reqHeaders.Set("Content-Type", "application/json") 1451 c.urlParams_.Set("alt", alt) 1452 c.urlParams_.Set("prettyPrint", "false") 1453 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/controller/debuggees/register") 1454 urls += "?" + c.urlParams_.Encode() 1455 req, err := http.NewRequest("POST", urls, body) 1456 if err != nil { 1457 return nil, err 1458 } 1459 req.Header = reqHeaders 1460 return gensupport.SendRequest(c.ctx_, c.s.client, req) 1461 } 1462 1463 // Do executes the "clouddebugger.controller.debuggees.register" call. 1464 // Exactly one of *RegisterDebuggeeResponse or error will be non-nil. 1465 // Any non-2xx status code is an error. Response headers are in either 1466 // *RegisterDebuggeeResponse.ServerResponse.Header or (if a response was 1467 // returned at all) in error.(*googleapi.Error).Header. Use 1468 // googleapi.IsNotModified to check whether the returned error was 1469 // because http.StatusNotModified was returned. 1470 func (c *ControllerDebuggeesRegisterCall) Do(opts ...googleapi.CallOption) (*RegisterDebuggeeResponse, error) { 1471 gensupport.SetOptions(c.urlParams_, opts...) 1472 res, err := c.doRequest("json") 1473 if res != nil && res.StatusCode == http.StatusNotModified { 1474 if res.Body != nil { 1475 res.Body.Close() 1476 } 1477 return nil, gensupport.WrapError(&googleapi.Error{ 1478 Code: res.StatusCode, 1479 Header: res.Header, 1480 }) 1481 } 1482 if err != nil { 1483 return nil, err 1484 } 1485 defer googleapi.CloseBody(res) 1486 if err := googleapi.CheckResponse(res); err != nil { 1487 return nil, gensupport.WrapError(err) 1488 } 1489 ret := &RegisterDebuggeeResponse{ 1490 ServerResponse: googleapi.ServerResponse{ 1491 Header: res.Header, 1492 HTTPStatusCode: res.StatusCode, 1493 }, 1494 } 1495 target := &ret 1496 if err := gensupport.DecodeResponse(target, res); err != nil { 1497 return nil, err 1498 } 1499 return ret, nil 1500 // { 1501 // "description": "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.", 1502 // "flatPath": "v2/controller/debuggees/register", 1503 // "httpMethod": "POST", 1504 // "id": "clouddebugger.controller.debuggees.register", 1505 // "parameterOrder": [], 1506 // "parameters": {}, 1507 // "path": "v2/controller/debuggees/register", 1508 // "request": { 1509 // "$ref": "RegisterDebuggeeRequest" 1510 // }, 1511 // "response": { 1512 // "$ref": "RegisterDebuggeeResponse" 1513 // }, 1514 // "scopes": [ 1515 // "https://www.googleapis.com/auth/cloud-platform", 1516 // "https://www.googleapis.com/auth/cloud_debugger" 1517 // ] 1518 // } 1519 1520 } 1521 1522 // method id "clouddebugger.controller.debuggees.breakpoints.list": 1523 1524 type ControllerDebuggeesBreakpointsListCall struct { 1525 s *Service 1526 debuggeeId string 1527 urlParams_ gensupport.URLParams 1528 ifNoneMatch_ string 1529 ctx_ context.Context 1530 header_ http.Header 1531 } 1532 1533 // List: Returns the list of all active breakpoints for the debuggee. 1534 // The breakpoint specification (`location`, `condition`, and 1535 // `expressions` fields) is semantically immutable, although the field 1536 // values may change. For example, an agent may update the location line 1537 // number to reflect the actual line where the breakpoint was set, but 1538 // this doesn't change the breakpoint semantics. This means that an 1539 // agent does not need to check if a breakpoint has changed when it 1540 // encounters the same breakpoint on a successive call. Moreover, an 1541 // agent should remember the breakpoints that are completed until the 1542 // controller removes them from the active list to avoid setting those 1543 // breakpoints again. 1544 // 1545 // - debuggeeId: Identifies the debuggee. 1546 func (r *ControllerDebuggeesBreakpointsService) List(debuggeeId string) *ControllerDebuggeesBreakpointsListCall { 1547 c := &ControllerDebuggeesBreakpointsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 1548 c.debuggeeId = debuggeeId 1549 return c 1550 } 1551 1552 // AgentId sets the optional parameter "agentId": Identifies the agent. 1553 // This is the ID returned in the RegisterDebuggee response. 1554 func (c *ControllerDebuggeesBreakpointsListCall) AgentId(agentId string) *ControllerDebuggeesBreakpointsListCall { 1555 c.urlParams_.Set("agentId", agentId) 1556 return c 1557 } 1558 1559 // SuccessOnTimeout sets the optional parameter "successOnTimeout": If 1560 // set to `true` (recommended), returns `google.rpc.Code.OK` status and 1561 // sets the `wait_expired` response field to `true` when the 1562 // server-selected timeout has expired. If set to `false` (deprecated), 1563 // returns `google.rpc.Code.ABORTED` status when the server-selected 1564 // timeout has expired. 1565 func (c *ControllerDebuggeesBreakpointsListCall) SuccessOnTimeout(successOnTimeout bool) *ControllerDebuggeesBreakpointsListCall { 1566 c.urlParams_.Set("successOnTimeout", fmt.Sprint(successOnTimeout)) 1567 return c 1568 } 1569 1570 // WaitToken sets the optional parameter "waitToken": A token that, if 1571 // specified, blocks the method call until the list of active 1572 // breakpoints has changed, or a server-selected timeout has expired. 1573 // The value should be set from the `next_wait_token` field in the last 1574 // response. The initial value should be set to "init". 1575 func (c *ControllerDebuggeesBreakpointsListCall) WaitToken(waitToken string) *ControllerDebuggeesBreakpointsListCall { 1576 c.urlParams_.Set("waitToken", waitToken) 1577 return c 1578 } 1579 1580 // Fields allows partial responses to be retrieved. See 1581 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 1582 // for more information. 1583 func (c *ControllerDebuggeesBreakpointsListCall) Fields(s ...googleapi.Field) *ControllerDebuggeesBreakpointsListCall { 1584 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 1585 return c 1586 } 1587 1588 // IfNoneMatch sets the optional parameter which makes the operation 1589 // fail if the object's ETag matches the given value. This is useful for 1590 // getting updates only after the object has changed since the last 1591 // request. Use googleapi.IsNotModified to check whether the response 1592 // error from Do is the result of In-None-Match. 1593 func (c *ControllerDebuggeesBreakpointsListCall) IfNoneMatch(entityTag string) *ControllerDebuggeesBreakpointsListCall { 1594 c.ifNoneMatch_ = entityTag 1595 return c 1596 } 1597 1598 // Context sets the context to be used in this call's Do method. Any 1599 // pending HTTP request will be aborted if the provided context is 1600 // canceled. 1601 func (c *ControllerDebuggeesBreakpointsListCall) Context(ctx context.Context) *ControllerDebuggeesBreakpointsListCall { 1602 c.ctx_ = ctx 1603 return c 1604 } 1605 1606 // Header returns an http.Header that can be modified by the caller to 1607 // add HTTP headers to the request. 1608 func (c *ControllerDebuggeesBreakpointsListCall) Header() http.Header { 1609 if c.header_ == nil { 1610 c.header_ = make(http.Header) 1611 } 1612 return c.header_ 1613 } 1614 1615 func (c *ControllerDebuggeesBreakpointsListCall) doRequest(alt string) (*http.Response, error) { 1616 reqHeaders := make(http.Header) 1617 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 1618 for k, v := range c.header_ { 1619 reqHeaders[k] = v 1620 } 1621 reqHeaders.Set("User-Agent", c.s.userAgent()) 1622 if c.ifNoneMatch_ != "" { 1623 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 1624 } 1625 var body io.Reader = nil 1626 c.urlParams_.Set("alt", alt) 1627 c.urlParams_.Set("prettyPrint", "false") 1628 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/controller/debuggees/{debuggeeId}/breakpoints") 1629 urls += "?" + c.urlParams_.Encode() 1630 req, err := http.NewRequest("GET", urls, body) 1631 if err != nil { 1632 return nil, err 1633 } 1634 req.Header = reqHeaders 1635 googleapi.Expand(req.URL, map[string]string{ 1636 "debuggeeId": c.debuggeeId, 1637 }) 1638 return gensupport.SendRequest(c.ctx_, c.s.client, req) 1639 } 1640 1641 // Do executes the "clouddebugger.controller.debuggees.breakpoints.list" call. 1642 // Exactly one of *ListActiveBreakpointsResponse or error will be 1643 // non-nil. Any non-2xx status code is an error. Response headers are in 1644 // either *ListActiveBreakpointsResponse.ServerResponse.Header or (if a 1645 // response was returned at all) in error.(*googleapi.Error).Header. Use 1646 // googleapi.IsNotModified to check whether the returned error was 1647 // because http.StatusNotModified was returned. 1648 func (c *ControllerDebuggeesBreakpointsListCall) Do(opts ...googleapi.CallOption) (*ListActiveBreakpointsResponse, error) { 1649 gensupport.SetOptions(c.urlParams_, opts...) 1650 res, err := c.doRequest("json") 1651 if res != nil && res.StatusCode == http.StatusNotModified { 1652 if res.Body != nil { 1653 res.Body.Close() 1654 } 1655 return nil, gensupport.WrapError(&googleapi.Error{ 1656 Code: res.StatusCode, 1657 Header: res.Header, 1658 }) 1659 } 1660 if err != nil { 1661 return nil, err 1662 } 1663 defer googleapi.CloseBody(res) 1664 if err := googleapi.CheckResponse(res); err != nil { 1665 return nil, gensupport.WrapError(err) 1666 } 1667 ret := &ListActiveBreakpointsResponse{ 1668 ServerResponse: googleapi.ServerResponse{ 1669 Header: res.Header, 1670 HTTPStatusCode: res.StatusCode, 1671 }, 1672 } 1673 target := &ret 1674 if err := gensupport.DecodeResponse(target, res); err != nil { 1675 return nil, err 1676 } 1677 return ret, nil 1678 // { 1679 // "description": "Returns the list of all active breakpoints for the debuggee. The breakpoint specification (`location`, `condition`, and `expressions` fields) is semantically immutable, although the field values may change. For example, an agent may update the location line number to reflect the actual line where the breakpoint was set, but this doesn't change the breakpoint semantics. This means that an agent does not need to check if a breakpoint has changed when it encounters the same breakpoint on a successive call. Moreover, an agent should remember the breakpoints that are completed until the controller removes them from the active list to avoid setting those breakpoints again.", 1680 // "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints", 1681 // "httpMethod": "GET", 1682 // "id": "clouddebugger.controller.debuggees.breakpoints.list", 1683 // "parameterOrder": [ 1684 // "debuggeeId" 1685 // ], 1686 // "parameters": { 1687 // "agentId": { 1688 // "description": "Identifies the agent. This is the ID returned in the RegisterDebuggee response.", 1689 // "location": "query", 1690 // "type": "string" 1691 // }, 1692 // "debuggeeId": { 1693 // "description": "Required. Identifies the debuggee.", 1694 // "location": "path", 1695 // "required": true, 1696 // "type": "string" 1697 // }, 1698 // "successOnTimeout": { 1699 // "description": "If set to `true` (recommended), returns `google.rpc.Code.OK` status and sets the `wait_expired` response field to `true` when the server-selected timeout has expired. If set to `false` (deprecated), returns `google.rpc.Code.ABORTED` status when the server-selected timeout has expired.", 1700 // "location": "query", 1701 // "type": "boolean" 1702 // }, 1703 // "waitToken": { 1704 // "description": "A token that, if specified, blocks the method call until the list of active breakpoints has changed, or a server-selected timeout has expired. The value should be set from the `next_wait_token` field in the last response. The initial value should be set to `\"init\"`.", 1705 // "location": "query", 1706 // "type": "string" 1707 // } 1708 // }, 1709 // "path": "v2/controller/debuggees/{debuggeeId}/breakpoints", 1710 // "response": { 1711 // "$ref": "ListActiveBreakpointsResponse" 1712 // }, 1713 // "scopes": [ 1714 // "https://www.googleapis.com/auth/cloud-platform", 1715 // "https://www.googleapis.com/auth/cloud_debugger" 1716 // ] 1717 // } 1718 1719 } 1720 1721 // method id "clouddebugger.controller.debuggees.breakpoints.update": 1722 1723 type ControllerDebuggeesBreakpointsUpdateCall struct { 1724 s *Service 1725 debuggeeId string 1726 id string 1727 updateactivebreakpointrequest *UpdateActiveBreakpointRequest 1728 urlParams_ gensupport.URLParams 1729 ctx_ context.Context 1730 header_ http.Header 1731 } 1732 1733 // Update: Updates the breakpoint state or mutable fields. The entire 1734 // Breakpoint message must be sent back to the controller service. 1735 // Updates to active breakpoint fields are only allowed if the new value 1736 // does not change the breakpoint specification. Updates to the 1737 // `location`, `condition` and `expressions` fields should not alter the 1738 // breakpoint semantics. These may only make changes such as 1739 // canonicalizing a value or snapping the location to the correct line 1740 // of code. 1741 // 1742 // - debuggeeId: Identifies the debuggee being debugged. 1743 // - id: Breakpoint identifier, unique in the scope of the debuggee. 1744 func (r *ControllerDebuggeesBreakpointsService) Update(debuggeeId string, id string, updateactivebreakpointrequest *UpdateActiveBreakpointRequest) *ControllerDebuggeesBreakpointsUpdateCall { 1745 c := &ControllerDebuggeesBreakpointsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 1746 c.debuggeeId = debuggeeId 1747 c.id = id 1748 c.updateactivebreakpointrequest = updateactivebreakpointrequest 1749 return c 1750 } 1751 1752 // Fields allows partial responses to be retrieved. See 1753 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 1754 // for more information. 1755 func (c *ControllerDebuggeesBreakpointsUpdateCall) Fields(s ...googleapi.Field) *ControllerDebuggeesBreakpointsUpdateCall { 1756 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 1757 return c 1758 } 1759 1760 // Context sets the context to be used in this call's Do method. Any 1761 // pending HTTP request will be aborted if the provided context is 1762 // canceled. 1763 func (c *ControllerDebuggeesBreakpointsUpdateCall) Context(ctx context.Context) *ControllerDebuggeesBreakpointsUpdateCall { 1764 c.ctx_ = ctx 1765 return c 1766 } 1767 1768 // Header returns an http.Header that can be modified by the caller to 1769 // add HTTP headers to the request. 1770 func (c *ControllerDebuggeesBreakpointsUpdateCall) Header() http.Header { 1771 if c.header_ == nil { 1772 c.header_ = make(http.Header) 1773 } 1774 return c.header_ 1775 } 1776 1777 func (c *ControllerDebuggeesBreakpointsUpdateCall) doRequest(alt string) (*http.Response, error) { 1778 reqHeaders := make(http.Header) 1779 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 1780 for k, v := range c.header_ { 1781 reqHeaders[k] = v 1782 } 1783 reqHeaders.Set("User-Agent", c.s.userAgent()) 1784 var body io.Reader = nil 1785 body, err := googleapi.WithoutDataWrapper.JSONReader(c.updateactivebreakpointrequest) 1786 if err != nil { 1787 return nil, err 1788 } 1789 reqHeaders.Set("Content-Type", "application/json") 1790 c.urlParams_.Set("alt", alt) 1791 c.urlParams_.Set("prettyPrint", "false") 1792 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}") 1793 urls += "?" + c.urlParams_.Encode() 1794 req, err := http.NewRequest("PUT", urls, body) 1795 if err != nil { 1796 return nil, err 1797 } 1798 req.Header = reqHeaders 1799 googleapi.Expand(req.URL, map[string]string{ 1800 "debuggeeId": c.debuggeeId, 1801 "id": c.id, 1802 }) 1803 return gensupport.SendRequest(c.ctx_, c.s.client, req) 1804 } 1805 1806 // Do executes the "clouddebugger.controller.debuggees.breakpoints.update" call. 1807 // Exactly one of *UpdateActiveBreakpointResponse or error will be 1808 // non-nil. Any non-2xx status code is an error. Response headers are in 1809 // either *UpdateActiveBreakpointResponse.ServerResponse.Header or (if a 1810 // response was returned at all) in error.(*googleapi.Error).Header. Use 1811 // googleapi.IsNotModified to check whether the returned error was 1812 // because http.StatusNotModified was returned. 1813 func (c *ControllerDebuggeesBreakpointsUpdateCall) Do(opts ...googleapi.CallOption) (*UpdateActiveBreakpointResponse, error) { 1814 gensupport.SetOptions(c.urlParams_, opts...) 1815 res, err := c.doRequest("json") 1816 if res != nil && res.StatusCode == http.StatusNotModified { 1817 if res.Body != nil { 1818 res.Body.Close() 1819 } 1820 return nil, gensupport.WrapError(&googleapi.Error{ 1821 Code: res.StatusCode, 1822 Header: res.Header, 1823 }) 1824 } 1825 if err != nil { 1826 return nil, err 1827 } 1828 defer googleapi.CloseBody(res) 1829 if err := googleapi.CheckResponse(res); err != nil { 1830 return nil, gensupport.WrapError(err) 1831 } 1832 ret := &UpdateActiveBreakpointResponse{ 1833 ServerResponse: googleapi.ServerResponse{ 1834 Header: res.Header, 1835 HTTPStatusCode: res.StatusCode, 1836 }, 1837 } 1838 target := &ret 1839 if err := gensupport.DecodeResponse(target, res); err != nil { 1840 return nil, err 1841 } 1842 return ret, nil 1843 // { 1844 // "description": "Updates the breakpoint state or mutable fields. The entire Breakpoint message must be sent back to the controller service. Updates to active breakpoint fields are only allowed if the new value does not change the breakpoint specification. Updates to the `location`, `condition` and `expressions` fields should not alter the breakpoint semantics. These may only make changes such as canonicalizing a value or snapping the location to the correct line of code.", 1845 // "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}", 1846 // "httpMethod": "PUT", 1847 // "id": "clouddebugger.controller.debuggees.breakpoints.update", 1848 // "parameterOrder": [ 1849 // "debuggeeId", 1850 // "id" 1851 // ], 1852 // "parameters": { 1853 // "debuggeeId": { 1854 // "description": "Required. Identifies the debuggee being debugged.", 1855 // "location": "path", 1856 // "required": true, 1857 // "type": "string" 1858 // }, 1859 // "id": { 1860 // "description": "Breakpoint identifier, unique in the scope of the debuggee.", 1861 // "location": "path", 1862 // "required": true, 1863 // "type": "string" 1864 // } 1865 // }, 1866 // "path": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}", 1867 // "request": { 1868 // "$ref": "UpdateActiveBreakpointRequest" 1869 // }, 1870 // "response": { 1871 // "$ref": "UpdateActiveBreakpointResponse" 1872 // }, 1873 // "scopes": [ 1874 // "https://www.googleapis.com/auth/cloud-platform", 1875 // "https://www.googleapis.com/auth/cloud_debugger" 1876 // ] 1877 // } 1878 1879 } 1880 1881 // method id "clouddebugger.debugger.debuggees.list": 1882 1883 type DebuggerDebuggeesListCall struct { 1884 s *Service 1885 urlParams_ gensupport.URLParams 1886 ifNoneMatch_ string 1887 ctx_ context.Context 1888 header_ http.Header 1889 } 1890 1891 // List: Lists all the debuggees that the user has access to. 1892 func (r *DebuggerDebuggeesService) List() *DebuggerDebuggeesListCall { 1893 c := &DebuggerDebuggeesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 1894 return c 1895 } 1896 1897 // ClientVersion sets the optional parameter "clientVersion": Required. 1898 // The client version making the call. Schema: `domain/type/version` 1899 // (e.g., `google.com/intellij/v1`). 1900 func (c *DebuggerDebuggeesListCall) ClientVersion(clientVersion string) *DebuggerDebuggeesListCall { 1901 c.urlParams_.Set("clientVersion", clientVersion) 1902 return c 1903 } 1904 1905 // IncludeInactive sets the optional parameter "includeInactive": When 1906 // set to `true`, the result includes all debuggees. Otherwise, the 1907 // result includes only debuggees that are active. 1908 func (c *DebuggerDebuggeesListCall) IncludeInactive(includeInactive bool) *DebuggerDebuggeesListCall { 1909 c.urlParams_.Set("includeInactive", fmt.Sprint(includeInactive)) 1910 return c 1911 } 1912 1913 // Project sets the optional parameter "project": Required. Project 1914 // number of a Google Cloud project whose debuggees to list. 1915 func (c *DebuggerDebuggeesListCall) Project(project string) *DebuggerDebuggeesListCall { 1916 c.urlParams_.Set("project", project) 1917 return c 1918 } 1919 1920 // Fields allows partial responses to be retrieved. See 1921 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 1922 // for more information. 1923 func (c *DebuggerDebuggeesListCall) Fields(s ...googleapi.Field) *DebuggerDebuggeesListCall { 1924 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 1925 return c 1926 } 1927 1928 // IfNoneMatch sets the optional parameter which makes the operation 1929 // fail if the object's ETag matches the given value. This is useful for 1930 // getting updates only after the object has changed since the last 1931 // request. Use googleapi.IsNotModified to check whether the response 1932 // error from Do is the result of In-None-Match. 1933 func (c *DebuggerDebuggeesListCall) IfNoneMatch(entityTag string) *DebuggerDebuggeesListCall { 1934 c.ifNoneMatch_ = entityTag 1935 return c 1936 } 1937 1938 // Context sets the context to be used in this call's Do method. Any 1939 // pending HTTP request will be aborted if the provided context is 1940 // canceled. 1941 func (c *DebuggerDebuggeesListCall) Context(ctx context.Context) *DebuggerDebuggeesListCall { 1942 c.ctx_ = ctx 1943 return c 1944 } 1945 1946 // Header returns an http.Header that can be modified by the caller to 1947 // add HTTP headers to the request. 1948 func (c *DebuggerDebuggeesListCall) Header() http.Header { 1949 if c.header_ == nil { 1950 c.header_ = make(http.Header) 1951 } 1952 return c.header_ 1953 } 1954 1955 func (c *DebuggerDebuggeesListCall) doRequest(alt string) (*http.Response, error) { 1956 reqHeaders := make(http.Header) 1957 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 1958 for k, v := range c.header_ { 1959 reqHeaders[k] = v 1960 } 1961 reqHeaders.Set("User-Agent", c.s.userAgent()) 1962 if c.ifNoneMatch_ != "" { 1963 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 1964 } 1965 var body io.Reader = nil 1966 c.urlParams_.Set("alt", alt) 1967 c.urlParams_.Set("prettyPrint", "false") 1968 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/debugger/debuggees") 1969 urls += "?" + c.urlParams_.Encode() 1970 req, err := http.NewRequest("GET", urls, body) 1971 if err != nil { 1972 return nil, err 1973 } 1974 req.Header = reqHeaders 1975 return gensupport.SendRequest(c.ctx_, c.s.client, req) 1976 } 1977 1978 // Do executes the "clouddebugger.debugger.debuggees.list" call. 1979 // Exactly one of *ListDebuggeesResponse or error will be non-nil. Any 1980 // non-2xx status code is an error. Response headers are in either 1981 // *ListDebuggeesResponse.ServerResponse.Header or (if a response was 1982 // returned at all) in error.(*googleapi.Error).Header. Use 1983 // googleapi.IsNotModified to check whether the returned error was 1984 // because http.StatusNotModified was returned. 1985 func (c *DebuggerDebuggeesListCall) Do(opts ...googleapi.CallOption) (*ListDebuggeesResponse, error) { 1986 gensupport.SetOptions(c.urlParams_, opts...) 1987 res, err := c.doRequest("json") 1988 if res != nil && res.StatusCode == http.StatusNotModified { 1989 if res.Body != nil { 1990 res.Body.Close() 1991 } 1992 return nil, gensupport.WrapError(&googleapi.Error{ 1993 Code: res.StatusCode, 1994 Header: res.Header, 1995 }) 1996 } 1997 if err != nil { 1998 return nil, err 1999 } 2000 defer googleapi.CloseBody(res) 2001 if err := googleapi.CheckResponse(res); err != nil { 2002 return nil, gensupport.WrapError(err) 2003 } 2004 ret := &ListDebuggeesResponse{ 2005 ServerResponse: googleapi.ServerResponse{ 2006 Header: res.Header, 2007 HTTPStatusCode: res.StatusCode, 2008 }, 2009 } 2010 target := &ret 2011 if err := gensupport.DecodeResponse(target, res); err != nil { 2012 return nil, err 2013 } 2014 return ret, nil 2015 // { 2016 // "description": "Lists all the debuggees that the user has access to.", 2017 // "flatPath": "v2/debugger/debuggees", 2018 // "httpMethod": "GET", 2019 // "id": "clouddebugger.debugger.debuggees.list", 2020 // "parameterOrder": [], 2021 // "parameters": { 2022 // "clientVersion": { 2023 // "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).", 2024 // "location": "query", 2025 // "type": "string" 2026 // }, 2027 // "includeInactive": { 2028 // "description": "When set to `true`, the result includes all debuggees. Otherwise, the result includes only debuggees that are active.", 2029 // "location": "query", 2030 // "type": "boolean" 2031 // }, 2032 // "project": { 2033 // "description": "Required. Project number of a Google Cloud project whose debuggees to list.", 2034 // "location": "query", 2035 // "type": "string" 2036 // } 2037 // }, 2038 // "path": "v2/debugger/debuggees", 2039 // "response": { 2040 // "$ref": "ListDebuggeesResponse" 2041 // }, 2042 // "scopes": [ 2043 // "https://www.googleapis.com/auth/cloud-platform", 2044 // "https://www.googleapis.com/auth/cloud_debugger" 2045 // ] 2046 // } 2047 2048 } 2049 2050 // method id "clouddebugger.debugger.debuggees.breakpoints.delete": 2051 2052 type DebuggerDebuggeesBreakpointsDeleteCall struct { 2053 s *Service 2054 debuggeeId string 2055 breakpointId string 2056 urlParams_ gensupport.URLParams 2057 ctx_ context.Context 2058 header_ http.Header 2059 } 2060 2061 // Delete: Deletes the breakpoint from the debuggee. 2062 // 2063 // - breakpointId: ID of the breakpoint to delete. 2064 // - debuggeeId: ID of the debuggee whose breakpoint to delete. 2065 func (r *DebuggerDebuggeesBreakpointsService) Delete(debuggeeId string, breakpointId string) *DebuggerDebuggeesBreakpointsDeleteCall { 2066 c := &DebuggerDebuggeesBreakpointsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2067 c.debuggeeId = debuggeeId 2068 c.breakpointId = breakpointId 2069 return c 2070 } 2071 2072 // ClientVersion sets the optional parameter "clientVersion": Required. 2073 // The client version making the call. Schema: `domain/type/version` 2074 // (e.g., `google.com/intellij/v1`). 2075 func (c *DebuggerDebuggeesBreakpointsDeleteCall) ClientVersion(clientVersion string) *DebuggerDebuggeesBreakpointsDeleteCall { 2076 c.urlParams_.Set("clientVersion", clientVersion) 2077 return c 2078 } 2079 2080 // Fields allows partial responses to be retrieved. See 2081 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2082 // for more information. 2083 func (c *DebuggerDebuggeesBreakpointsDeleteCall) Fields(s ...googleapi.Field) *DebuggerDebuggeesBreakpointsDeleteCall { 2084 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2085 return c 2086 } 2087 2088 // Context sets the context to be used in this call's Do method. Any 2089 // pending HTTP request will be aborted if the provided context is 2090 // canceled. 2091 func (c *DebuggerDebuggeesBreakpointsDeleteCall) Context(ctx context.Context) *DebuggerDebuggeesBreakpointsDeleteCall { 2092 c.ctx_ = ctx 2093 return c 2094 } 2095 2096 // Header returns an http.Header that can be modified by the caller to 2097 // add HTTP headers to the request. 2098 func (c *DebuggerDebuggeesBreakpointsDeleteCall) Header() http.Header { 2099 if c.header_ == nil { 2100 c.header_ = make(http.Header) 2101 } 2102 return c.header_ 2103 } 2104 2105 func (c *DebuggerDebuggeesBreakpointsDeleteCall) doRequest(alt string) (*http.Response, error) { 2106 reqHeaders := make(http.Header) 2107 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 2108 for k, v := range c.header_ { 2109 reqHeaders[k] = v 2110 } 2111 reqHeaders.Set("User-Agent", c.s.userAgent()) 2112 var body io.Reader = nil 2113 c.urlParams_.Set("alt", alt) 2114 c.urlParams_.Set("prettyPrint", "false") 2115 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}") 2116 urls += "?" + c.urlParams_.Encode() 2117 req, err := http.NewRequest("DELETE", urls, body) 2118 if err != nil { 2119 return nil, err 2120 } 2121 req.Header = reqHeaders 2122 googleapi.Expand(req.URL, map[string]string{ 2123 "debuggeeId": c.debuggeeId, 2124 "breakpointId": c.breakpointId, 2125 }) 2126 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2127 } 2128 2129 // Do executes the "clouddebugger.debugger.debuggees.breakpoints.delete" call. 2130 // Exactly one of *Empty or error will be non-nil. Any non-2xx status 2131 // code is an error. Response headers are in either 2132 // *Empty.ServerResponse.Header or (if a response was returned at all) 2133 // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 2134 // check whether the returned error was because http.StatusNotModified 2135 // was returned. 2136 func (c *DebuggerDebuggeesBreakpointsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 2137 gensupport.SetOptions(c.urlParams_, opts...) 2138 res, err := c.doRequest("json") 2139 if res != nil && res.StatusCode == http.StatusNotModified { 2140 if res.Body != nil { 2141 res.Body.Close() 2142 } 2143 return nil, gensupport.WrapError(&googleapi.Error{ 2144 Code: res.StatusCode, 2145 Header: res.Header, 2146 }) 2147 } 2148 if err != nil { 2149 return nil, err 2150 } 2151 defer googleapi.CloseBody(res) 2152 if err := googleapi.CheckResponse(res); err != nil { 2153 return nil, gensupport.WrapError(err) 2154 } 2155 ret := &Empty{ 2156 ServerResponse: googleapi.ServerResponse{ 2157 Header: res.Header, 2158 HTTPStatusCode: res.StatusCode, 2159 }, 2160 } 2161 target := &ret 2162 if err := gensupport.DecodeResponse(target, res); err != nil { 2163 return nil, err 2164 } 2165 return ret, nil 2166 // { 2167 // "description": "Deletes the breakpoint from the debuggee.", 2168 // "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", 2169 // "httpMethod": "DELETE", 2170 // "id": "clouddebugger.debugger.debuggees.breakpoints.delete", 2171 // "parameterOrder": [ 2172 // "debuggeeId", 2173 // "breakpointId" 2174 // ], 2175 // "parameters": { 2176 // "breakpointId": { 2177 // "description": "Required. ID of the breakpoint to delete.", 2178 // "location": "path", 2179 // "required": true, 2180 // "type": "string" 2181 // }, 2182 // "clientVersion": { 2183 // "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).", 2184 // "location": "query", 2185 // "type": "string" 2186 // }, 2187 // "debuggeeId": { 2188 // "description": "Required. ID of the debuggee whose breakpoint to delete.", 2189 // "location": "path", 2190 // "required": true, 2191 // "type": "string" 2192 // } 2193 // }, 2194 // "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", 2195 // "response": { 2196 // "$ref": "Empty" 2197 // }, 2198 // "scopes": [ 2199 // "https://www.googleapis.com/auth/cloud-platform", 2200 // "https://www.googleapis.com/auth/cloud_debugger" 2201 // ] 2202 // } 2203 2204 } 2205 2206 // method id "clouddebugger.debugger.debuggees.breakpoints.get": 2207 2208 type DebuggerDebuggeesBreakpointsGetCall struct { 2209 s *Service 2210 debuggeeId string 2211 breakpointId string 2212 urlParams_ gensupport.URLParams 2213 ifNoneMatch_ string 2214 ctx_ context.Context 2215 header_ http.Header 2216 } 2217 2218 // Get: Gets breakpoint information. 2219 // 2220 // - breakpointId: ID of the breakpoint to get. 2221 // - debuggeeId: ID of the debuggee whose breakpoint to get. 2222 func (r *DebuggerDebuggeesBreakpointsService) Get(debuggeeId string, breakpointId string) *DebuggerDebuggeesBreakpointsGetCall { 2223 c := &DebuggerDebuggeesBreakpointsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2224 c.debuggeeId = debuggeeId 2225 c.breakpointId = breakpointId 2226 return c 2227 } 2228 2229 // ClientVersion sets the optional parameter "clientVersion": Required. 2230 // The client version making the call. Schema: `domain/type/version` 2231 // (e.g., `google.com/intellij/v1`). 2232 func (c *DebuggerDebuggeesBreakpointsGetCall) ClientVersion(clientVersion string) *DebuggerDebuggeesBreakpointsGetCall { 2233 c.urlParams_.Set("clientVersion", clientVersion) 2234 return c 2235 } 2236 2237 // Fields allows partial responses to be retrieved. See 2238 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2239 // for more information. 2240 func (c *DebuggerDebuggeesBreakpointsGetCall) Fields(s ...googleapi.Field) *DebuggerDebuggeesBreakpointsGetCall { 2241 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2242 return c 2243 } 2244 2245 // IfNoneMatch sets the optional parameter which makes the operation 2246 // fail if the object's ETag matches the given value. This is useful for 2247 // getting updates only after the object has changed since the last 2248 // request. Use googleapi.IsNotModified to check whether the response 2249 // error from Do is the result of In-None-Match. 2250 func (c *DebuggerDebuggeesBreakpointsGetCall) IfNoneMatch(entityTag string) *DebuggerDebuggeesBreakpointsGetCall { 2251 c.ifNoneMatch_ = entityTag 2252 return c 2253 } 2254 2255 // Context sets the context to be used in this call's Do method. Any 2256 // pending HTTP request will be aborted if the provided context is 2257 // canceled. 2258 func (c *DebuggerDebuggeesBreakpointsGetCall) Context(ctx context.Context) *DebuggerDebuggeesBreakpointsGetCall { 2259 c.ctx_ = ctx 2260 return c 2261 } 2262 2263 // Header returns an http.Header that can be modified by the caller to 2264 // add HTTP headers to the request. 2265 func (c *DebuggerDebuggeesBreakpointsGetCall) Header() http.Header { 2266 if c.header_ == nil { 2267 c.header_ = make(http.Header) 2268 } 2269 return c.header_ 2270 } 2271 2272 func (c *DebuggerDebuggeesBreakpointsGetCall) doRequest(alt string) (*http.Response, error) { 2273 reqHeaders := make(http.Header) 2274 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 2275 for k, v := range c.header_ { 2276 reqHeaders[k] = v 2277 } 2278 reqHeaders.Set("User-Agent", c.s.userAgent()) 2279 if c.ifNoneMatch_ != "" { 2280 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 2281 } 2282 var body io.Reader = nil 2283 c.urlParams_.Set("alt", alt) 2284 c.urlParams_.Set("prettyPrint", "false") 2285 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}") 2286 urls += "?" + c.urlParams_.Encode() 2287 req, err := http.NewRequest("GET", urls, body) 2288 if err != nil { 2289 return nil, err 2290 } 2291 req.Header = reqHeaders 2292 googleapi.Expand(req.URL, map[string]string{ 2293 "debuggeeId": c.debuggeeId, 2294 "breakpointId": c.breakpointId, 2295 }) 2296 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2297 } 2298 2299 // Do executes the "clouddebugger.debugger.debuggees.breakpoints.get" call. 2300 // Exactly one of *GetBreakpointResponse or error will be non-nil. Any 2301 // non-2xx status code is an error. Response headers are in either 2302 // *GetBreakpointResponse.ServerResponse.Header or (if a response was 2303 // returned at all) in error.(*googleapi.Error).Header. Use 2304 // googleapi.IsNotModified to check whether the returned error was 2305 // because http.StatusNotModified was returned. 2306 func (c *DebuggerDebuggeesBreakpointsGetCall) Do(opts ...googleapi.CallOption) (*GetBreakpointResponse, error) { 2307 gensupport.SetOptions(c.urlParams_, opts...) 2308 res, err := c.doRequest("json") 2309 if res != nil && res.StatusCode == http.StatusNotModified { 2310 if res.Body != nil { 2311 res.Body.Close() 2312 } 2313 return nil, gensupport.WrapError(&googleapi.Error{ 2314 Code: res.StatusCode, 2315 Header: res.Header, 2316 }) 2317 } 2318 if err != nil { 2319 return nil, err 2320 } 2321 defer googleapi.CloseBody(res) 2322 if err := googleapi.CheckResponse(res); err != nil { 2323 return nil, gensupport.WrapError(err) 2324 } 2325 ret := &GetBreakpointResponse{ 2326 ServerResponse: googleapi.ServerResponse{ 2327 Header: res.Header, 2328 HTTPStatusCode: res.StatusCode, 2329 }, 2330 } 2331 target := &ret 2332 if err := gensupport.DecodeResponse(target, res); err != nil { 2333 return nil, err 2334 } 2335 return ret, nil 2336 // { 2337 // "description": "Gets breakpoint information.", 2338 // "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", 2339 // "httpMethod": "GET", 2340 // "id": "clouddebugger.debugger.debuggees.breakpoints.get", 2341 // "parameterOrder": [ 2342 // "debuggeeId", 2343 // "breakpointId" 2344 // ], 2345 // "parameters": { 2346 // "breakpointId": { 2347 // "description": "Required. ID of the breakpoint to get.", 2348 // "location": "path", 2349 // "required": true, 2350 // "type": "string" 2351 // }, 2352 // "clientVersion": { 2353 // "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).", 2354 // "location": "query", 2355 // "type": "string" 2356 // }, 2357 // "debuggeeId": { 2358 // "description": "Required. ID of the debuggee whose breakpoint to get.", 2359 // "location": "path", 2360 // "required": true, 2361 // "type": "string" 2362 // } 2363 // }, 2364 // "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", 2365 // "response": { 2366 // "$ref": "GetBreakpointResponse" 2367 // }, 2368 // "scopes": [ 2369 // "https://www.googleapis.com/auth/cloud-platform", 2370 // "https://www.googleapis.com/auth/cloud_debugger" 2371 // ] 2372 // } 2373 2374 } 2375 2376 // method id "clouddebugger.debugger.debuggees.breakpoints.list": 2377 2378 type DebuggerDebuggeesBreakpointsListCall struct { 2379 s *Service 2380 debuggeeId string 2381 urlParams_ gensupport.URLParams 2382 ifNoneMatch_ string 2383 ctx_ context.Context 2384 header_ http.Header 2385 } 2386 2387 // List: Lists all breakpoints for the debuggee. 2388 // 2389 // - debuggeeId: ID of the debuggee whose breakpoints to list. 2390 func (r *DebuggerDebuggeesBreakpointsService) List(debuggeeId string) *DebuggerDebuggeesBreakpointsListCall { 2391 c := &DebuggerDebuggeesBreakpointsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2392 c.debuggeeId = debuggeeId 2393 return c 2394 } 2395 2396 // ActionValue sets the optional parameter "action.value": Only 2397 // breakpoints with the specified action will pass the filter. 2398 // 2399 // Possible values: 2400 // 2401 // "CAPTURE" - Capture stack frame and variables and update the 2402 // 2403 // breakpoint. The data is only captured once. After that the breakpoint 2404 // is set in a final state. 2405 // 2406 // "LOG" - Log each breakpoint hit. The breakpoint remains active 2407 // 2408 // until deleted or expired. 2409 func (c *DebuggerDebuggeesBreakpointsListCall) ActionValue(actionValue string) *DebuggerDebuggeesBreakpointsListCall { 2410 c.urlParams_.Set("action.value", actionValue) 2411 return c 2412 } 2413 2414 // ClientVersion sets the optional parameter "clientVersion": Required. 2415 // The client version making the call. Schema: `domain/type/version` 2416 // (e.g., `google.com/intellij/v1`). 2417 func (c *DebuggerDebuggeesBreakpointsListCall) ClientVersion(clientVersion string) *DebuggerDebuggeesBreakpointsListCall { 2418 c.urlParams_.Set("clientVersion", clientVersion) 2419 return c 2420 } 2421 2422 // IncludeAllUsers sets the optional parameter "includeAllUsers": When 2423 // set to `true`, the response includes the list of breakpoints set by 2424 // any user. Otherwise, it includes only breakpoints set by the caller. 2425 func (c *DebuggerDebuggeesBreakpointsListCall) IncludeAllUsers(includeAllUsers bool) *DebuggerDebuggeesBreakpointsListCall { 2426 c.urlParams_.Set("includeAllUsers", fmt.Sprint(includeAllUsers)) 2427 return c 2428 } 2429 2430 // IncludeInactive sets the optional parameter "includeInactive": When 2431 // set to `true`, the response includes active and inactive breakpoints. 2432 // Otherwise, it includes only active breakpoints. 2433 func (c *DebuggerDebuggeesBreakpointsListCall) IncludeInactive(includeInactive bool) *DebuggerDebuggeesBreakpointsListCall { 2434 c.urlParams_.Set("includeInactive", fmt.Sprint(includeInactive)) 2435 return c 2436 } 2437 2438 // StripResults sets the optional parameter "stripResults": This field 2439 // is deprecated. The following fields are always stripped out of the 2440 // result: `stack_frames`, `evaluated_expressions` and `variable_table`. 2441 func (c *DebuggerDebuggeesBreakpointsListCall) StripResults(stripResults bool) *DebuggerDebuggeesBreakpointsListCall { 2442 c.urlParams_.Set("stripResults", fmt.Sprint(stripResults)) 2443 return c 2444 } 2445 2446 // WaitToken sets the optional parameter "waitToken": A wait token that, 2447 // if specified, blocks the call until the breakpoints list has changed, 2448 // or a server selected timeout has expired. The value should be set 2449 // from the last response. The error code `google.rpc.Code.ABORTED` 2450 // (RPC) is returned on wait timeout, which should be called again with 2451 // the same `wait_token`. 2452 func (c *DebuggerDebuggeesBreakpointsListCall) WaitToken(waitToken string) *DebuggerDebuggeesBreakpointsListCall { 2453 c.urlParams_.Set("waitToken", waitToken) 2454 return c 2455 } 2456 2457 // Fields allows partial responses to be retrieved. See 2458 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2459 // for more information. 2460 func (c *DebuggerDebuggeesBreakpointsListCall) Fields(s ...googleapi.Field) *DebuggerDebuggeesBreakpointsListCall { 2461 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2462 return c 2463 } 2464 2465 // IfNoneMatch sets the optional parameter which makes the operation 2466 // fail if the object's ETag matches the given value. This is useful for 2467 // getting updates only after the object has changed since the last 2468 // request. Use googleapi.IsNotModified to check whether the response 2469 // error from Do is the result of In-None-Match. 2470 func (c *DebuggerDebuggeesBreakpointsListCall) IfNoneMatch(entityTag string) *DebuggerDebuggeesBreakpointsListCall { 2471 c.ifNoneMatch_ = entityTag 2472 return c 2473 } 2474 2475 // Context sets the context to be used in this call's Do method. Any 2476 // pending HTTP request will be aborted if the provided context is 2477 // canceled. 2478 func (c *DebuggerDebuggeesBreakpointsListCall) Context(ctx context.Context) *DebuggerDebuggeesBreakpointsListCall { 2479 c.ctx_ = ctx 2480 return c 2481 } 2482 2483 // Header returns an http.Header that can be modified by the caller to 2484 // add HTTP headers to the request. 2485 func (c *DebuggerDebuggeesBreakpointsListCall) Header() http.Header { 2486 if c.header_ == nil { 2487 c.header_ = make(http.Header) 2488 } 2489 return c.header_ 2490 } 2491 2492 func (c *DebuggerDebuggeesBreakpointsListCall) doRequest(alt string) (*http.Response, error) { 2493 reqHeaders := make(http.Header) 2494 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 2495 for k, v := range c.header_ { 2496 reqHeaders[k] = v 2497 } 2498 reqHeaders.Set("User-Agent", c.s.userAgent()) 2499 if c.ifNoneMatch_ != "" { 2500 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 2501 } 2502 var body io.Reader = nil 2503 c.urlParams_.Set("alt", alt) 2504 c.urlParams_.Set("prettyPrint", "false") 2505 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/debugger/debuggees/{debuggeeId}/breakpoints") 2506 urls += "?" + c.urlParams_.Encode() 2507 req, err := http.NewRequest("GET", urls, body) 2508 if err != nil { 2509 return nil, err 2510 } 2511 req.Header = reqHeaders 2512 googleapi.Expand(req.URL, map[string]string{ 2513 "debuggeeId": c.debuggeeId, 2514 }) 2515 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2516 } 2517 2518 // Do executes the "clouddebugger.debugger.debuggees.breakpoints.list" call. 2519 // Exactly one of *ListBreakpointsResponse or error will be non-nil. Any 2520 // non-2xx status code is an error. Response headers are in either 2521 // *ListBreakpointsResponse.ServerResponse.Header or (if a response was 2522 // returned at all) in error.(*googleapi.Error).Header. Use 2523 // googleapi.IsNotModified to check whether the returned error was 2524 // because http.StatusNotModified was returned. 2525 func (c *DebuggerDebuggeesBreakpointsListCall) Do(opts ...googleapi.CallOption) (*ListBreakpointsResponse, error) { 2526 gensupport.SetOptions(c.urlParams_, opts...) 2527 res, err := c.doRequest("json") 2528 if res != nil && res.StatusCode == http.StatusNotModified { 2529 if res.Body != nil { 2530 res.Body.Close() 2531 } 2532 return nil, gensupport.WrapError(&googleapi.Error{ 2533 Code: res.StatusCode, 2534 Header: res.Header, 2535 }) 2536 } 2537 if err != nil { 2538 return nil, err 2539 } 2540 defer googleapi.CloseBody(res) 2541 if err := googleapi.CheckResponse(res); err != nil { 2542 return nil, gensupport.WrapError(err) 2543 } 2544 ret := &ListBreakpointsResponse{ 2545 ServerResponse: googleapi.ServerResponse{ 2546 Header: res.Header, 2547 HTTPStatusCode: res.StatusCode, 2548 }, 2549 } 2550 target := &ret 2551 if err := gensupport.DecodeResponse(target, res); err != nil { 2552 return nil, err 2553 } 2554 return ret, nil 2555 // { 2556 // "description": "Lists all breakpoints for the debuggee.", 2557 // "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints", 2558 // "httpMethod": "GET", 2559 // "id": "clouddebugger.debugger.debuggees.breakpoints.list", 2560 // "parameterOrder": [ 2561 // "debuggeeId" 2562 // ], 2563 // "parameters": { 2564 // "action.value": { 2565 // "description": "Only breakpoints with the specified action will pass the filter.", 2566 // "enum": [ 2567 // "CAPTURE", 2568 // "LOG" 2569 // ], 2570 // "enumDescriptions": [ 2571 // "Capture stack frame and variables and update the breakpoint. The data is only captured once. After that the breakpoint is set in a final state.", 2572 // "Log each breakpoint hit. The breakpoint remains active until deleted or expired." 2573 // ], 2574 // "location": "query", 2575 // "type": "string" 2576 // }, 2577 // "clientVersion": { 2578 // "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).", 2579 // "location": "query", 2580 // "type": "string" 2581 // }, 2582 // "debuggeeId": { 2583 // "description": "Required. ID of the debuggee whose breakpoints to list.", 2584 // "location": "path", 2585 // "required": true, 2586 // "type": "string" 2587 // }, 2588 // "includeAllUsers": { 2589 // "description": "When set to `true`, the response includes the list of breakpoints set by any user. Otherwise, it includes only breakpoints set by the caller.", 2590 // "location": "query", 2591 // "type": "boolean" 2592 // }, 2593 // "includeInactive": { 2594 // "description": "When set to `true`, the response includes active and inactive breakpoints. Otherwise, it includes only active breakpoints.", 2595 // "location": "query", 2596 // "type": "boolean" 2597 // }, 2598 // "stripResults": { 2599 // "deprecated": true, 2600 // "description": "This field is deprecated. The following fields are always stripped out of the result: `stack_frames`, `evaluated_expressions` and `variable_table`.", 2601 // "location": "query", 2602 // "type": "boolean" 2603 // }, 2604 // "waitToken": { 2605 // "description": "A wait token that, if specified, blocks the call until the breakpoints list has changed, or a server selected timeout has expired. The value should be set from the last response. The error code `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which should be called again with the same `wait_token`.", 2606 // "location": "query", 2607 // "type": "string" 2608 // } 2609 // }, 2610 // "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints", 2611 // "response": { 2612 // "$ref": "ListBreakpointsResponse" 2613 // }, 2614 // "scopes": [ 2615 // "https://www.googleapis.com/auth/cloud-platform", 2616 // "https://www.googleapis.com/auth/cloud_debugger" 2617 // ] 2618 // } 2619 2620 } 2621 2622 // method id "clouddebugger.debugger.debuggees.breakpoints.set": 2623 2624 type DebuggerDebuggeesBreakpointsSetCall struct { 2625 s *Service 2626 debuggeeId string 2627 breakpoint *Breakpoint 2628 urlParams_ gensupport.URLParams 2629 ctx_ context.Context 2630 header_ http.Header 2631 } 2632 2633 // Set: Sets the breakpoint to the debuggee. 2634 // 2635 // - debuggeeId: ID of the debuggee where the breakpoint is to be set. 2636 func (r *DebuggerDebuggeesBreakpointsService) Set(debuggeeId string, breakpoint *Breakpoint) *DebuggerDebuggeesBreakpointsSetCall { 2637 c := &DebuggerDebuggeesBreakpointsSetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 2638 c.debuggeeId = debuggeeId 2639 c.breakpoint = breakpoint 2640 return c 2641 } 2642 2643 // CanaryOption sets the optional parameter "canaryOption": The canary 2644 // option set by the user upon setting breakpoint. 2645 // 2646 // Possible values: 2647 // 2648 // "CANARY_OPTION_UNSPECIFIED" - Depends on the canary_mode of the 2649 // 2650 // debuggee. 2651 // 2652 // "CANARY_OPTION_TRY_ENABLE" - Enable the canary for this breakpoint 2653 // 2654 // if the canary_mode of the debuggee is not CANARY_MODE_ALWAYS_ENABLED 2655 // or CANARY_MODE_ALWAYS_DISABLED. 2656 // 2657 // "CANARY_OPTION_TRY_DISABLE" - Disable the canary for this 2658 // 2659 // breakpoint if the canary_mode of the debuggee is not 2660 // CANARY_MODE_ALWAYS_ENABLED or CANARY_MODE_ALWAYS_DISABLED. 2661 func (c *DebuggerDebuggeesBreakpointsSetCall) CanaryOption(canaryOption string) *DebuggerDebuggeesBreakpointsSetCall { 2662 c.urlParams_.Set("canaryOption", canaryOption) 2663 return c 2664 } 2665 2666 // ClientVersion sets the optional parameter "clientVersion": Required. 2667 // The client version making the call. Schema: `domain/type/version` 2668 // (e.g., `google.com/intellij/v1`). 2669 func (c *DebuggerDebuggeesBreakpointsSetCall) ClientVersion(clientVersion string) *DebuggerDebuggeesBreakpointsSetCall { 2670 c.urlParams_.Set("clientVersion", clientVersion) 2671 return c 2672 } 2673 2674 // Fields allows partial responses to be retrieved. See 2675 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 2676 // for more information. 2677 func (c *DebuggerDebuggeesBreakpointsSetCall) Fields(s ...googleapi.Field) *DebuggerDebuggeesBreakpointsSetCall { 2678 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 2679 return c 2680 } 2681 2682 // Context sets the context to be used in this call's Do method. Any 2683 // pending HTTP request will be aborted if the provided context is 2684 // canceled. 2685 func (c *DebuggerDebuggeesBreakpointsSetCall) Context(ctx context.Context) *DebuggerDebuggeesBreakpointsSetCall { 2686 c.ctx_ = ctx 2687 return c 2688 } 2689 2690 // Header returns an http.Header that can be modified by the caller to 2691 // add HTTP headers to the request. 2692 func (c *DebuggerDebuggeesBreakpointsSetCall) Header() http.Header { 2693 if c.header_ == nil { 2694 c.header_ = make(http.Header) 2695 } 2696 return c.header_ 2697 } 2698 2699 func (c *DebuggerDebuggeesBreakpointsSetCall) doRequest(alt string) (*http.Response, error) { 2700 reqHeaders := make(http.Header) 2701 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) 2702 for k, v := range c.header_ { 2703 reqHeaders[k] = v 2704 } 2705 reqHeaders.Set("User-Agent", c.s.userAgent()) 2706 var body io.Reader = nil 2707 body, err := googleapi.WithoutDataWrapper.JSONReader(c.breakpoint) 2708 if err != nil { 2709 return nil, err 2710 } 2711 reqHeaders.Set("Content-Type", "application/json") 2712 c.urlParams_.Set("alt", alt) 2713 c.urlParams_.Set("prettyPrint", "false") 2714 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/debugger/debuggees/{debuggeeId}/breakpoints/set") 2715 urls += "?" + c.urlParams_.Encode() 2716 req, err := http.NewRequest("POST", urls, body) 2717 if err != nil { 2718 return nil, err 2719 } 2720 req.Header = reqHeaders 2721 googleapi.Expand(req.URL, map[string]string{ 2722 "debuggeeId": c.debuggeeId, 2723 }) 2724 return gensupport.SendRequest(c.ctx_, c.s.client, req) 2725 } 2726 2727 // Do executes the "clouddebugger.debugger.debuggees.breakpoints.set" call. 2728 // Exactly one of *SetBreakpointResponse or error will be non-nil. Any 2729 // non-2xx status code is an error. Response headers are in either 2730 // *SetBreakpointResponse.ServerResponse.Header or (if a response was 2731 // returned at all) in error.(*googleapi.Error).Header. Use 2732 // googleapi.IsNotModified to check whether the returned error was 2733 // because http.StatusNotModified was returned. 2734 func (c *DebuggerDebuggeesBreakpointsSetCall) Do(opts ...googleapi.CallOption) (*SetBreakpointResponse, error) { 2735 gensupport.SetOptions(c.urlParams_, opts...) 2736 res, err := c.doRequest("json") 2737 if res != nil && res.StatusCode == http.StatusNotModified { 2738 if res.Body != nil { 2739 res.Body.Close() 2740 } 2741 return nil, gensupport.WrapError(&googleapi.Error{ 2742 Code: res.StatusCode, 2743 Header: res.Header, 2744 }) 2745 } 2746 if err != nil { 2747 return nil, err 2748 } 2749 defer googleapi.CloseBody(res) 2750 if err := googleapi.CheckResponse(res); err != nil { 2751 return nil, gensupport.WrapError(err) 2752 } 2753 ret := &SetBreakpointResponse{ 2754 ServerResponse: googleapi.ServerResponse{ 2755 Header: res.Header, 2756 HTTPStatusCode: res.StatusCode, 2757 }, 2758 } 2759 target := &ret 2760 if err := gensupport.DecodeResponse(target, res); err != nil { 2761 return nil, err 2762 } 2763 return ret, nil 2764 // { 2765 // "description": "Sets the breakpoint to the debuggee.", 2766 // "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/set", 2767 // "httpMethod": "POST", 2768 // "id": "clouddebugger.debugger.debuggees.breakpoints.set", 2769 // "parameterOrder": [ 2770 // "debuggeeId" 2771 // ], 2772 // "parameters": { 2773 // "canaryOption": { 2774 // "description": "The canary option set by the user upon setting breakpoint.", 2775 // "enum": [ 2776 // "CANARY_OPTION_UNSPECIFIED", 2777 // "CANARY_OPTION_TRY_ENABLE", 2778 // "CANARY_OPTION_TRY_DISABLE" 2779 // ], 2780 // "enumDescriptions": [ 2781 // "Depends on the canary_mode of the debuggee.", 2782 // "Enable the canary for this breakpoint if the canary_mode of the debuggee is not CANARY_MODE_ALWAYS_ENABLED or CANARY_MODE_ALWAYS_DISABLED.", 2783 // "Disable the canary for this breakpoint if the canary_mode of the debuggee is not CANARY_MODE_ALWAYS_ENABLED or CANARY_MODE_ALWAYS_DISABLED." 2784 // ], 2785 // "location": "query", 2786 // "type": "string" 2787 // }, 2788 // "clientVersion": { 2789 // "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).", 2790 // "location": "query", 2791 // "type": "string" 2792 // }, 2793 // "debuggeeId": { 2794 // "description": "Required. ID of the debuggee where the breakpoint is to be set.", 2795 // "location": "path", 2796 // "required": true, 2797 // "type": "string" 2798 // } 2799 // }, 2800 // "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/set", 2801 // "request": { 2802 // "$ref": "Breakpoint" 2803 // }, 2804 // "response": { 2805 // "$ref": "SetBreakpointResponse" 2806 // }, 2807 // "scopes": [ 2808 // "https://www.googleapis.com/auth/cloud-platform", 2809 // "https://www.googleapis.com/auth/cloud_debugger" 2810 // ] 2811 // } 2812 2813 } 2814