syntax = "proto3";

import "github.com/gogo/protobuf@v1.3.1/gogoproto/gogo.proto";
import "github.com/sensu/sensu-go/api/core/v2/meta.proto";

package sensu.core.v2;

option go_package = "v2";
option (gogoproto.populate_all) = true;
option (gogoproto.equal_all) = true;
option (gogoproto.marshaler_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.testgen_all) = true;

// A KeepaliveRecord is a tuple of an entity name and the time at which the
// entity's keepalive will next expire.
message KeepaliveRecord {
  option (gogoproto.face) = true;
  option (gogoproto.goproto_getters) = false;

  // Metadata contains the name (of the entity), and namespace, labels and
  // annotations of the keepalive record
  ObjectMeta metadata = 1 [ (gogoproto.jsontag) = "metadata,omitempty", (gogoproto.embed) = true, (gogoproto.nullable) = false ];
  int64 time = 4 [ (gogoproto.jsontag) = "time" ];
}
