(deps commandDeps)
| 450 | } |
| 451 | |
| 452 | func newAgentHeartbeatDeleteCommand(deps commandDeps) *cobra.Command { |
| 453 | var expectedDigest string |
| 454 | var ifMatchDigest string |
| 455 | cmd := &cobra.Command{ |
| 456 | Use: "delete <agent>", |
| 457 | Short: "Delete HEARTBEAT.md through managed authoring", |
| 458 | Example: " agh agent heartbeat delete coder --expected-digest sha256:old --json", |
| 459 | Args: exactOneNonBlankArg(), |
| 460 | RunE: func(cmd *cobra.Command, args []string) error { |
| 461 | client, err := clientFromDeps(deps) |
| 462 | if err != nil { |
| 463 | return err |
| 464 | } |
| 465 | workspace, err := commandWorkspaceFlag(cmd) |
| 466 | if err != nil { |
| 467 | return err |
| 468 | } |
| 469 | digest, err := changedExpectedDigestFlag(cmd, expectedDigest, ifMatchDigest) |
| 470 | if err != nil { |
| 471 | return err |
| 472 | } |
| 473 | record, err := client.DeleteAgentHeartbeat(cmd.Context(), args[0], AgentHeartbeatDeleteRequest{ |
| 474 | WorkspaceID: workspace, |
| 475 | AgentName: args[0], |
| 476 | ExpectedDigest: digest, |
| 477 | }) |
| 478 | if err != nil { |
| 479 | return err |
| 480 | } |
| 481 | return writeCommandOutput(cmd, agentHeartbeatMutationBundle(&record)) |
| 482 | }, |
| 483 | } |
| 484 | addWorkspaceFlag(cmd) |
| 485 | cmd.Flags().StringVar(&expectedDigest, "expected-digest", "", "Expected current Heartbeat digest for CAS") |
| 486 | cmd.Flags().StringVar(&ifMatchDigest, "if-match", "", "Alias for --expected-digest") |
| 487 | return cmd |
| 488 | } |
| 489 | |
| 490 | func newAgentHeartbeatHistoryCommand(deps commandDeps) *cobra.Command { |
| 491 | var ( |
no test coverage detected