The ability to write oplog entries using a ticket based system to ensure serialization. Uses a go-kms-wrapper for encrypting/decrypting entries. Co-authored-by: Jim Lambert <jlm.lambert@gmail.com> Co-authored-by: Michael Gaffney <mgaffney@users.noreply.github.com> Co-authored-by: Todd Knight <T.Alan.Knight@gmail.com> Co-authored-by: Jeff Mitchell <jeffrey.mitchell@gmail.com>
29 lines
806 B
Protocol Buffer
29 lines
806 B
Protocol Buffer
syntax = "proto3";
|
|
|
|
import "google/protobuf/field_mask.proto";
|
|
|
|
package hashicorp.watchtower.controller.oplog.v1;
|
|
option go_package = "github.com/hashicorp/watchtower/internal/oplog/oplog;oplog";
|
|
|
|
// OpType provides the type of operation the Any message represents (create,
|
|
// update, delete)
|
|
enum OpType {
|
|
// UNKNOWN_OP is an unknown operation
|
|
UNKNOWN_OP = 0;
|
|
// CREATE_OP is a create operation
|
|
CREATE_OP = 1;
|
|
// UPDATE_OP is an update operation
|
|
UPDATE_OP = 2;
|
|
// DELETE_OP is a delete operation
|
|
DELETE_OP = 3;
|
|
}
|
|
|
|
// AnyOperation provides a message for anything and the type of operation it
|
|
// represents.
|
|
message AnyOperation {
|
|
string type_name = 1;
|
|
bytes value = 2;
|
|
OpType operation_type = 3;
|
|
// mask is the mask of fields to update.
|
|
google.protobuf.FieldMask field_mask = 4;
|
|
} |