go.ligato.io/vpp-agent/v3@v3.5.0/proto/ligato/kvscheduler/value_status.proto (about)

     1  syntax = "proto3";
     2  
     3  package ligato.kvscheduler;
     4  
     5  option go_package = "go.ligato.io/vpp-agent/v3/proto/ligato/kvscheduler";
     6  
     7  enum ValueState {
     8      // ValueState_NONEXISTENT is assigned to value that was deleted or has never
     9      // existed.
    10      NONEXISTENT = 0;
    11  
    12      // ValueState_MISSING is assigned to NB value that was configured but refresh
    13      // found it to be missing.
    14      MISSING = 1;
    15  
    16      // ValueState_UNIMPLEMENTED marks value received from NB that cannot
    17      // be configured because there is no registered descriptor associated
    18      // with it.
    19      UNIMPLEMENTED = 2;
    20  
    21      // ValueState_REMOVED is assigned to NB value after it was removed or when
    22      // it is being re-created. The state is only temporary: for re-create, the
    23      // value transits to whatever state the following Create operation produces,
    24      // and delete values are removed from the graph (go to the NONEXISTENT state)
    25      // immediately after the notification about the state change is sent.
    26      REMOVED = 3;
    27  
    28      // ValueState_CONFIGURED marks value defined by NB and successfully configured.
    29      CONFIGURED = 4;
    30  
    31      // ValueState_OBTAINED marks value not managed by NB, instead created
    32      // automatically or externally in SB. The KVScheduler learns about the value
    33      // either using Retrieve() or through a SB notification.
    34      OBTAINED = 5;
    35  
    36      // ValueState_DISCOVERED marks NB value that was found (=retrieved) by refresh
    37      // but not actually configured by the agent in this run.
    38      DISCOVERED = 6;
    39  
    40      // ValueState_PENDING represents (NB) value that cannot be configured yet
    41      // due to missing dependencies.
    42      PENDING = 7;
    43  
    44      // ValueState_INVALID represents (NB) value that will not be configured
    45      // because it has a logically invalid content as declared by the Validate
    46      // method of the associated descriptor.
    47      // The corresponding error and the list of affected fields are stored
    48      // in the <InvalidValueDetails> structure available via <details> for invalid
    49      // value.
    50      INVALID = 8;
    51  
    52      // ValueState_FAILED marks (NB) value for which the last executed operation
    53      // returned an error.
    54      // The error and the type of the operation which caused the error are stored
    55      // in the <FailedValueDetails> structure available via <details> for failed
    56      // value.
    57      FAILED = 9;
    58  
    59      // ValueState_RETRYING marks unsucessfully applied (NB) value, for which,
    60      // however, one or more attempts to fix the error by repeating the last
    61      // operation are planned, and only if all the retries fail, the value will
    62      // then transit to the FAILED state.
    63      RETRYING = 10;
    64  }
    65  
    66  enum TxnOperation {
    67      UNDEFINED = 0;
    68      VALIDATE = 1;
    69      CREATE = 2;
    70      UPDATE = 3;
    71      DELETE = 4;
    72  }
    73  
    74  message ValueStatus {
    75      string key = 1;
    76      ValueState state = 2;
    77      string error = 3; // error returned by the last operation (none if empty string)
    78      TxnOperation last_operation = 4;
    79  
    80      // - for invalid value, details is a list of invalid fields
    81      // - for pending value, details is a list of missing dependencies (labels)
    82      repeated string details = 5;
    83  }
    84  
    85  message BaseValueStatus {
    86      ValueStatus value = 1;
    87      repeated ValueStatus derived_values = 2;
    88  }