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  }