blob: 080f207334fa24acaa3da487ed600d673af27412 [file] [log] [blame] [edit]
syntax = "proto3";
package platforms_syshealth.collection.feed;
import "google/protobuf/timestamp.proto";
import "entity.proto";
import "hft_payload.proto";
import "client_subscription.proto";
message MetricSet {
Entity entity = 1;
string policy_id = 2;
// Payload depends on the source type, needs a flexible structure.
oneof data_payload {
HftPayload hft_payload = 4;
}
}
message WriteMetricsMetadata {
// The time at which the endpoint was started.
optional google.protobuf.Timestamp endpoint_client_start_timestamp = 1;
// The time at which the endpoint wrote the data to the Feed Forward server.
optional google.protobuf.Timestamp endpoint_client_write_timestamp = 2;
// The CDPush version ID of the feed config used by the endpoint.
optional string cdpush_version_id = 3;
}
message WriteMetricsRequest {
repeated MetricSet metric_sets = 1;
optional WriteMetricsMetadata metadata = 2;
}
message WriteMetricsResponse {
// Optional status, errors, etc.
}
message EndpointIdentifier {
enum EndpointType {
ENDPOINT_TYPE_UNSPECIFIED = 0;
ENDPOINT_TYPE_ICID = 1;
ENDPOINT_TYPE_BMCWEB = 2;
ENDPOINT_TYPE_GSYS = 3;
ENDPOINT_TYPE_PICTOR = 4;
ENDPOINT_TYPE_UHMM = 5;
ENDPOINT_TYPE_HIGHLANDER = 6;
ENDPOINT_TYPE_PUBSUB = 7;
ENDPOINT_TYPE_PRODICUS = 8;
ENDPOINT_TYPE_BORGLET = 9;
ENDPOINT_TYPE_BORG = 10;
ENDPOINT_TYPE_ARISTOTLE = 11;
// Add more endpoint types here.
}
optional EndpointType endpoint_type = 1;
}
message GetPoliciesMetadata {
optional string cdpush_version_id = 1;
}
message GetPoliciesRequest {
optional Entity entity = 1;
optional EndpointIdentifier endpoint_identifier = 2;
}
message GetPoliciesResponse {
repeated ClientSubscriptionPolicy subscription_policies = 1;
optional GetPoliciesMetadata metadata = 2;
}