Skip to content

Commit

Permalink
Update imagestatus proto: add new skip cause
Browse files Browse the repository at this point in the history
Change-Id: If46bae47992ef43912e1b2a0047231f75688ccb4
  • Loading branch information
tanayam committed May 14, 2024
1 parent 38eab1b commit b75c00f
Show file tree
Hide file tree
Showing 4 changed files with 332 additions and 72 deletions.
164 changes: 164 additions & 0 deletions arista/workspace.v1/services.gen.proto
Original file line number Diff line number Diff line change
Expand Up @@ -137,13 +137,54 @@ message WorkspaceStreamResponse {
arista.subscriptions.Operation type = 3;
};

message WorkspaceBatchedStreamRequest {
// PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.
// This requires all provided fields to be equal to the response.
//
// While transparent to users, this field also allows services to optimize internal
// subscriptions if filter(s) are sufficiently specific.
repeated Workspace partial_eq_filter = 1;

// TimeRange allows limiting response data to within a specified time window.
// If this field is populated, at least one of the two time fields are required.
//
// For GetAll, the fields start and end can be used as follows:
//
// * end: Returns the state of each Workspace at end.
// * Each Workspace response is fully-specified (all fields set).
// * start: Returns the state of each Workspace at start, followed by updates until now.
// * Each Workspace response at start is fully-specified, but updates may be partial.
// * start and end: Returns the state of each Workspace at start, followed by updates
// until end.
// * Each Workspace response at start is fully-specified, but updates until end may
// be partial.
//
// This field is not allowed in the Subscribe RPC.
arista.time.TimeBounds time = 3;

// MaxMessages limits the maximum number of messages that can be contained in one batch.
// MaxMessages is required to be at least 1.
// The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)
// INTERNAL_BATCH_LIMIT is set based on the maximum message size.
google.protobuf.UInt32Value max_messages = 4;
};

message WorkspaceBatchedStreamResponse {
// Values are the values deemed relevant to the initiating request.
// The length of this structure is guaranteed to be between (inclusive) 1 and
// min(req.max_messages, INTERNAL_BATCH_LIMIT).
repeated WorkspaceStreamResponse responses = 1;
};

service WorkspaceService {
rpc GetOne (WorkspaceRequest) returns (WorkspaceResponse);
rpc GetSome (WorkspaceSomeRequest) returns (stream WorkspaceSomeResponse);
rpc GetAll (WorkspaceStreamRequest) returns (stream WorkspaceStreamResponse);
rpc Subscribe (WorkspaceStreamRequest) returns (stream WorkspaceStreamResponse);
rpc GetMeta (WorkspaceStreamRequest) returns (MetaResponse);
rpc SubscribeMeta (WorkspaceStreamRequest) returns (stream MetaResponse);
rpc GetAllBatched (WorkspaceBatchedStreamRequest) returns (stream WorkspaceBatchedStreamResponse);
rpc SubscribeBatched (WorkspaceBatchedStreamRequest) returns (stream WorkspaceBatchedStreamResponse);
}

message WorkspaceBuildRequest {
Expand Down Expand Up @@ -231,13 +272,54 @@ message WorkspaceBuildStreamResponse {
arista.subscriptions.Operation type = 3;
};

message WorkspaceBuildBatchedStreamRequest {
// PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.
// This requires all provided fields to be equal to the response.
//
// While transparent to users, this field also allows services to optimize internal
// subscriptions if filter(s) are sufficiently specific.
repeated WorkspaceBuild partial_eq_filter = 1;

// TimeRange allows limiting response data to within a specified time window.
// If this field is populated, at least one of the two time fields are required.
//
// For GetAll, the fields start and end can be used as follows:
//
// * end: Returns the state of each WorkspaceBuild at end.
// * Each WorkspaceBuild response is fully-specified (all fields set).
// * start: Returns the state of each WorkspaceBuild at start, followed by updates until now.
// * Each WorkspaceBuild response at start is fully-specified, but updates may be partial.
// * start and end: Returns the state of each WorkspaceBuild at start, followed by updates
// until end.
// * Each WorkspaceBuild response at start is fully-specified, but updates until end may
// be partial.
//
// This field is not allowed in the Subscribe RPC.
arista.time.TimeBounds time = 3;

// MaxMessages limits the maximum number of messages that can be contained in one batch.
// MaxMessages is required to be at least 1.
// The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)
// INTERNAL_BATCH_LIMIT is set based on the maximum message size.
google.protobuf.UInt32Value max_messages = 4;
};

message WorkspaceBuildBatchedStreamResponse {
// Values are the values deemed relevant to the initiating request.
// The length of this structure is guaranteed to be between (inclusive) 1 and
// min(req.max_messages, INTERNAL_BATCH_LIMIT).
repeated WorkspaceBuildStreamResponse responses = 1;
};

service WorkspaceBuildService {
rpc GetOne (WorkspaceBuildRequest) returns (WorkspaceBuildResponse);
rpc GetSome (WorkspaceBuildSomeRequest) returns (stream WorkspaceBuildSomeResponse);
rpc GetAll (WorkspaceBuildStreamRequest) returns (stream WorkspaceBuildStreamResponse);
rpc Subscribe (WorkspaceBuildStreamRequest) returns (stream WorkspaceBuildStreamResponse);
rpc GetMeta (WorkspaceBuildStreamRequest) returns (MetaResponse);
rpc SubscribeMeta (WorkspaceBuildStreamRequest) returns (stream MetaResponse);
rpc GetAllBatched (WorkspaceBuildBatchedStreamRequest) returns (stream WorkspaceBuildBatchedStreamResponse);
rpc SubscribeBatched (WorkspaceBuildBatchedStreamRequest) returns (stream WorkspaceBuildBatchedStreamResponse);
}

message WorkspaceBuildDetailsRequest {
Expand Down Expand Up @@ -325,13 +407,54 @@ message WorkspaceBuildDetailsStreamResponse {
arista.subscriptions.Operation type = 3;
};

message WorkspaceBuildDetailsBatchedStreamRequest {
// PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.
// This requires all provided fields to be equal to the response.
//
// While transparent to users, this field also allows services to optimize internal
// subscriptions if filter(s) are sufficiently specific.
repeated WorkspaceBuildDetails partial_eq_filter = 1;

// TimeRange allows limiting response data to within a specified time window.
// If this field is populated, at least one of the two time fields are required.
//
// For GetAll, the fields start and end can be used as follows:
//
// * end: Returns the state of each WorkspaceBuildDetails at end.
// * Each WorkspaceBuildDetails response is fully-specified (all fields set).
// * start: Returns the state of each WorkspaceBuildDetails at start, followed by updates until now.
// * Each WorkspaceBuildDetails response at start is fully-specified, but updates may be partial.
// * start and end: Returns the state of each WorkspaceBuildDetails at start, followed by updates
// until end.
// * Each WorkspaceBuildDetails response at start is fully-specified, but updates until end may
// be partial.
//
// This field is not allowed in the Subscribe RPC.
arista.time.TimeBounds time = 3;

// MaxMessages limits the maximum number of messages that can be contained in one batch.
// MaxMessages is required to be at least 1.
// The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)
// INTERNAL_BATCH_LIMIT is set based on the maximum message size.
google.protobuf.UInt32Value max_messages = 4;
};

message WorkspaceBuildDetailsBatchedStreamResponse {
// Values are the values deemed relevant to the initiating request.
// The length of this structure is guaranteed to be between (inclusive) 1 and
// min(req.max_messages, INTERNAL_BATCH_LIMIT).
repeated WorkspaceBuildDetailsStreamResponse responses = 1;
};

service WorkspaceBuildDetailsService {
rpc GetOne (WorkspaceBuildDetailsRequest) returns (WorkspaceBuildDetailsResponse);
rpc GetSome (WorkspaceBuildDetailsSomeRequest) returns (stream WorkspaceBuildDetailsSomeResponse);
rpc GetAll (WorkspaceBuildDetailsStreamRequest) returns (stream WorkspaceBuildDetailsStreamResponse);
rpc Subscribe (WorkspaceBuildDetailsStreamRequest) returns (stream WorkspaceBuildDetailsStreamResponse);
rpc GetMeta (WorkspaceBuildDetailsStreamRequest) returns (MetaResponse);
rpc SubscribeMeta (WorkspaceBuildDetailsStreamRequest) returns (stream MetaResponse);
rpc GetAllBatched (WorkspaceBuildDetailsBatchedStreamRequest) returns (stream WorkspaceBuildDetailsBatchedStreamResponse);
rpc SubscribeBatched (WorkspaceBuildDetailsBatchedStreamRequest) returns (stream WorkspaceBuildDetailsBatchedStreamResponse);
}

message WorkspaceConfigRequest {
Expand Down Expand Up @@ -419,6 +542,45 @@ message WorkspaceConfigStreamResponse {
arista.subscriptions.Operation type = 3;
};

message WorkspaceConfigBatchedStreamRequest {
// PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.
// This requires all provided fields to be equal to the response.
//
// While transparent to users, this field also allows services to optimize internal
// subscriptions if filter(s) are sufficiently specific.
repeated WorkspaceConfig partial_eq_filter = 1;

// TimeRange allows limiting response data to within a specified time window.
// If this field is populated, at least one of the two time fields are required.
//
// For GetAll, the fields start and end can be used as follows:
//
// * end: Returns the state of each WorkspaceConfig at end.
// * Each WorkspaceConfig response is fully-specified (all fields set).
// * start: Returns the state of each WorkspaceConfig at start, followed by updates until now.
// * Each WorkspaceConfig response at start is fully-specified, but updates may be partial.
// * start and end: Returns the state of each WorkspaceConfig at start, followed by updates
// until end.
// * Each WorkspaceConfig response at start is fully-specified, but updates until end may
// be partial.
//
// This field is not allowed in the Subscribe RPC.
arista.time.TimeBounds time = 3;

// MaxMessages limits the maximum number of messages that can be contained in one batch.
// MaxMessages is required to be at least 1.
// The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)
// INTERNAL_BATCH_LIMIT is set based on the maximum message size.
google.protobuf.UInt32Value max_messages = 4;
};

message WorkspaceConfigBatchedStreamResponse {
// Values are the values deemed relevant to the initiating request.
// The length of this structure is guaranteed to be between (inclusive) 1 and
// min(req.max_messages, INTERNAL_BATCH_LIMIT).
repeated WorkspaceConfigStreamResponse responses = 1;
};

message WorkspaceConfigSetRequest {
// WorkspaceConfig carries the value to set into the datastore.
// See the documentation on the WorkspaceConfig struct for which fields are required.
Expand Down Expand Up @@ -515,4 +677,6 @@ service WorkspaceConfigService {
rpc Delete (WorkspaceConfigDeleteRequest) returns (WorkspaceConfigDeleteResponse);
rpc DeleteSome (WorkspaceConfigDeleteSomeRequest) returns (stream WorkspaceConfigDeleteSomeResponse);
rpc DeleteAll (WorkspaceConfigDeleteAllRequest) returns (stream WorkspaceConfigDeleteAllResponse);
rpc GetAllBatched (WorkspaceConfigBatchedStreamRequest) returns (stream WorkspaceConfigBatchedStreamResponse);
rpc SubscribeBatched (WorkspaceConfigBatchedStreamRequest) returns (stream WorkspaceConfigBatchedStreamResponse);
}
Loading

0 comments on commit b75c00f

Please sign in to comment.