go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/gce/api/tasks/v1/tasks.proto (about) 1 // Copyright 2018 The LUCI Authors. All rights reserved. 2 // Use of this source code is governed under the Apache License, Version 2.0 3 // that can be found in the LICENSE file. 4 5 syntax = "proto3"; 6 7 option go_package = "go.chromium.org/luci/gce/api/tasks/v1;tasks"; 8 9 package tasks; 10 11 import "google/protobuf/timestamp.proto"; 12 import "go.chromium.org/luci/gce/api/config/v1/config.proto"; 13 14 // A task to count the VMs in a config. 15 message CountVMs { 16 // The ID of the config whose VMs to count. 17 string id = 1; 18 } 19 20 // A task to create a GCE instance from a VM. 21 message CreateInstance { 22 // The ID of the VM to create a GCE instance from. 23 string id = 1; 24 } 25 26 // A task to delete a Swarming bot associated with a VM. 27 message DeleteBot { 28 // The ID of the VM to delete a Swarming bot for. 29 string id = 1; 30 // The hostname of the Swarming bot to delete. 31 string hostname = 2; 32 } 33 34 // A task to destroy a GCE instance created from a VM. 35 message DestroyInstance { 36 // The ID of the VM to destroy a GCE instance for. 37 string id = 1; 38 // The URL of the GCE instance to destroy. 39 string url = 2; 40 } 41 42 // A task to create a particular VM. 43 message CreateVM { 44 // The ID of the VM to create. 45 string id = 1; 46 // The attributes of the VM. 47 config.VM attributes = 2; 48 // The ID of the config this VM belongs to. 49 string config = 3; 50 // The timestamp when this task was created. 51 google.protobuf.Timestamp created = 4; 52 // The index of the VM to create. 53 int32 index = 5; 54 // The lifetime of the VM in seconds. 55 int64 lifetime = 6; 56 // The prefix to use when naming this VM. 57 string prefix = 7; 58 // The config revision this VM is created from. 59 string revision = 8; 60 // The hostname of the Swarming server this VM connects to. 61 string swarming = 9; 62 // The timeout of the VM in seconds. 63 int64 timeout = 10; 64 // the lab DUT assigned to the VM. 65 string DUT = 11; 66 } 67 68 // A task to expand a config. 69 message ExpandConfig { 70 // The ID of the config to expand. 71 string id = 1; 72 } 73 74 // A task to manage a Swarming bot associated with a VM. 75 message ManageBot { 76 // The ID of the VM to manage a Swarming bot for. 77 string id = 1; 78 } 79 80 // A task to report GCE quota utilization. 81 message ReportQuota { 82 // The ID of the project to report quota utilization for. 83 string id = 1; 84 } 85 86 // A task to terminate a Swarming bot associated with a VM. 87 message TerminateBot { 88 // The ID of the VM to terminate a Swarming bot for. 89 string id = 1; 90 // The hostname of the Swarming bot to terminate. 91 string hostname = 2; 92 } 93 94 // A task to audit the project and instances alive within the project 95 message AuditProject { 96 // The name of the project to audit 97 string project = 1; 98 // The GCE zone to audit 99 string zone = 2; 100 // Page token to use with the query 101 string pageToken = 3; 102 } 103 104 // A task to drain/delete the VMs and instances that are no longer needed 105 message DrainVM { 106 // The name of the VM to drain 107 string id = 1; 108 } 109 110 // A task to inspect all the bots in swarming 111 message InspectSwarming { 112 // The name of the swarming service to inspect 113 string swarming = 1; 114 // The cursor for the swarming list query 115 string cursor = 2; 116 } 117 118 // A task to delete bot that is stale in swarming. 119 message DeleteStaleSwarmingBot { 120 // The name of the bot to delete. 121 string id = 1; 122 // The first seen timestamp of the bot 123 string firstSeenTs = 2; 124 } 125 126 // A task to delete bots that are stale in swarming 127 message DeleteStaleSwarmingBots { 128 // The DeleteStaleSwarmingBot payload for the bot 129 repeated DeleteStaleSwarmingBot bots = 1; 130 }