syntax = "proto3";

package yandex.cloud.mdb.greenplum.v1;

import "google/protobuf/timestamp.proto";

import "yandex/cloud/validation.proto";

option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/mdb/greenplum/v1;greenplum";
option java_outer_classname = "GPMONT";
option java_package = "yandex.cloud.api.mdb.greenplum.v1";

message MaintenanceWindow {
  oneof policy {
    option (exactly_one) = true;
    AnytimeMaintenanceWindow anytime = 1;
    WeeklyMaintenanceWindow weekly_maintenance_window = 2;
  }
}

message AnytimeMaintenanceWindow {}

message WeeklyMaintenanceWindow {
  enum WeekDay {
    WEEK_DAY_UNSPECIFIED = 0;
    MON = 1;
    TUE = 2;
    WED = 3;
    THU = 4;
    FRI = 5;
    SAT = 6;
    SUN = 7;
  }
  WeekDay day = 1;

  // Hour of the day in UTC.
  int64 hour = 2 [(value) = "1-24"];
}

message MaintenanceOperation {
  string info = 1 [(length) = "<=256"];
  google.protobuf.Timestamp delayed_until = 2;
}
