blob: c49dfdd34f4f9517908cd0a501b2d93ac8562961 [file] [log] [blame]
syntax = "proto3";
package cycler;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/cycler";
// Like it says on the tin, will run stats only.
message NoopEffectConfiguration {}
// Move objects that match the configuration to another bucket + prefix.
// If the destination is within the configured bucket/prefix the behavior
// on those objects created via the move is undefined. They may or may not
// exist in whole or in part at the time the prefix is iterated.
message MoveEffectConfiguration {
// The destination bucket for the moved objects (e.g. 'engeg-testing-bucket').
string destination_bucket = 1;
// The destination prefix for the moved objects (e.g. 'moved-files-prefix/').
// Note: Prefixes are literal, and no '/' will be infered/appended.
string destination_prefix = 2;
}
// Duplicate objects that match the configuration to another bucket + prefix.
// If the destination is within the configured bucket/prefix the behavior
// on those objects created via the duplicate is undefined. They may or may not
// exist in whole or in part at the time the prefix is iterated.
message DuplicateEffectConfiguration {
// The destination bucket for the copied objects (e.g. 'engeg-testing-bucket').
string destination_bucket = 1;
// The destination prefix for the copied objects (e.g. 'copied-files-prefix/').
// Note: Prefixes are literal, and no '/' will be infered/appended.
string destination_prefix = 2;
}
// Change the storage class of an object in place.
message ChillEffectConfiguration {
// The existing storage classes.
enum EnumStorageClass {
UNKNOWN = 0;
STANDARD = 1;
NEARLINE = 2;
COLDLINE = 3;
ARCHIVE = 4;
}
// The desired destination storage class.
EnumStorageClass to_storage_class = 1;
}
// Delete the objects that match the configuration.
message DeleteEffectConfiguration { }