# Interface StandardScheduleOrBuilder (0.50.0)

0.50.0 (latest) 0.47.0 0.46.0 0.44.0 0.42.0 0.41.0 0.40.0 0.39.0 0.37.0 0.35.0 0.34.0 0.33.0 0.32.0 0.31.0 0.29.0 0.27.0 0.26.0 0.23.0 0.22.0 0.21.0 0.19.0 0.18.0 0.17.0 0.16.0 0.15.0 0.14.0 0.13.0 0.12.0 0.11.0 0.10.0 0.8.0 0.7.0 0.6.0 0.5.0 0.4.0 0.3.0 0.2.0 0.1.0

    public interface StandardScheduleOrBuilder extends MessageOrBuilder

## Implements

[MessageOrBuilder](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MessageOrBuilder.html)

## Methods

### getBackupWindow()

    public abstract BackupWindow getBackupWindow()

Required. A BackupWindow defines the window of day during which backup jobs
will run. Jobs are queued at the beginning of the window and will be marked
as `NOT_RUN` if they do not start by the end of the window.

Note: running jobs will not be cancelled at the end of the window.

`
.google.cloud.backupdr.v1.BackupWindow backup_window = 7 [(.google.api.field_behavior) = REQUIRED];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-backupdr/latest/com.google.cloud.backupdr.v1.BackupWindow` | The backupWindow. |

### getBackupWindowOrBuilder()

    public abstract BackupWindowOrBuilder getBackupWindowOrBuilder()

Required. A BackupWindow defines the window of day during which backup jobs
will run. Jobs are queued at the beginning of the window and will be marked
as `NOT_RUN` if they do not start by the end of the window.

Note: running jobs will not be cancelled at the end of the window.

`
.google.cloud.backupdr.v1.BackupWindow backup_window = 7 [(.google.api.field_behavior) = REQUIRED];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-backupdr/latest/com.google.cloud.backupdr.v1.BackupWindowOrBuilder` |   |

### getDaysOfMonth(int index)

    public abstract int getDaysOfMonth(int index)

Optional. Specifies days of months like 1, 5, or 14 on which jobs will run.

Values for `days_of_month` are only applicable for `recurrence_type`,
`MONTHLY` and `YEARLY`. A validation error will occur if other values are
supplied.

`repeated int32 days_of_month = 4 [(.google.api.field_behavior) = OPTIONAL];`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the element to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The daysOfMonth at the given index. |

### getDaysOfMonthCount()

    public abstract int getDaysOfMonthCount()

Optional. Specifies days of months like 1, 5, or 14 on which jobs will run.

Values for `days_of_month` are only applicable for `recurrence_type`,
`MONTHLY` and `YEARLY`. A validation error will occur if other values are
supplied.

`repeated int32 days_of_month = 4 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The count of daysOfMonth. |

### getDaysOfMonthList()

    public abstract List<Integer> getDaysOfMonthList()

Optional. Specifies days of months like 1, 5, or 14 on which jobs will run.

Values for `days_of_month` are only applicable for `recurrence_type`,
`MONTHLY` and `YEARLY`. A validation error will occur if other values are
supplied.

`repeated int32 days_of_month = 4 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html>` | A list containing the daysOfMonth. |

### getDaysOfWeek(int index)

    public abstract DayOfWeek getDaysOfWeek(int index)

Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs
will run.

This is required for `recurrence_type`, `WEEKLY` and is not applicable
otherwise. A validation error will occur if a value is supplied and
`recurrence_type` is not `WEEKLY`.

`
repeated .google.type.DayOfWeek days_of_week = 3 [(.google.api.field_behavior) = OPTIONAL];
`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the element to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.type.DayOfWeek` | The daysOfWeek at the given index. |

### getDaysOfWeekCount()

    public abstract int getDaysOfWeekCount()

Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs
will run.

This is required for `recurrence_type`, `WEEKLY` and is not applicable
otherwise. A validation error will occur if a value is supplied and
`recurrence_type` is not `WEEKLY`.

`
repeated .google.type.DayOfWeek days_of_week = 3 [(.google.api.field_behavior) = OPTIONAL];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The count of daysOfWeek. |

### getDaysOfWeekList()

    public abstract List<DayOfWeek> getDaysOfWeekList()

Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs
will run.

This is required for `recurrence_type`, `WEEKLY` and is not applicable
otherwise. A validation error will occur if a value is supplied and
`recurrence_type` is not `WEEKLY`.

`
repeated .google.type.DayOfWeek days_of_week = 3 [(.google.api.field_behavior) = OPTIONAL];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<com.google.type.DayOfWeek>` | A list containing the daysOfWeek. |

### getDaysOfWeekValue(int index)

    public abstract int getDaysOfWeekValue(int index)

Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs
will run.

This is required for `recurrence_type`, `WEEKLY` and is not applicable
otherwise. A validation error will occur if a value is supplied and
`recurrence_type` is not `WEEKLY`.

`
repeated .google.type.DayOfWeek days_of_week = 3 [(.google.api.field_behavior) = OPTIONAL];
`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the value to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The enum numeric value on the wire of daysOfWeek at the given index. |

### getDaysOfWeekValueList()

    public abstract List<Integer> getDaysOfWeekValueList()

Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs
will run.

This is required for `recurrence_type`, `WEEKLY` and is not applicable
otherwise. A validation error will occur if a value is supplied and
`recurrence_type` is not `WEEKLY`.

`
repeated .google.type.DayOfWeek days_of_week = 3 [(.google.api.field_behavior) = OPTIONAL];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html>` | A list containing the enum numeric values on the wire for daysOfWeek. |

### getHourlyFrequency()

    public abstract int getHourlyFrequency()

Optional. Specifies frequency for hourly backups. A hourly frequency of 2
means jobs will run every 2 hours from start time till end time defined.

This is required for `recurrence_type`, `HOURLY` and is not applicable
otherwise. A validation error will occur if a value is supplied and
`recurrence_type` is not `HOURLY`.

Value of hourly frequency should be between 4 and 23.

Reason for limit : We found that there is bandwidth limitation of 3GB/S for
GMI while taking a backup and 5GB/S while doing a restore. Given the amount
of parallel backups and restore we are targeting, this will potentially
take the backup time to mins and hours (in worst case scenario).

`int32 hourly_frequency = 2 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The hourlyFrequency. |

### getMonths(int index)

    public abstract Month getMonths(int index)

Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on
which jobs will run.

This field is only applicable when `recurrence_type` is `YEARLY`. A
validation error will occur if other values are supplied.

`repeated .google.type.Month months = 6 [(.google.api.field_behavior) = OPTIONAL];`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the element to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.type.Month` | The months at the given index. |

### getMonthsCount()

    public abstract int getMonthsCount()

Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on
which jobs will run.

This field is only applicable when `recurrence_type` is `YEARLY`. A
validation error will occur if other values are supplied.

`repeated .google.type.Month months = 6 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The count of months. |

### getMonthsList()

    public abstract List<Month> getMonthsList()

Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on
which jobs will run.

This field is only applicable when `recurrence_type` is `YEARLY`. A
validation error will occur if other values are supplied.

`repeated .google.type.Month months = 6 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<com.google.type.Month>` | A list containing the months. |

### getMonthsValue(int index)

    public abstract int getMonthsValue(int index)

Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on
which jobs will run.

This field is only applicable when `recurrence_type` is `YEARLY`. A
validation error will occur if other values are supplied.

`repeated .google.type.Month months = 6 [(.google.api.field_behavior) = OPTIONAL];`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the value to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The enum numeric value on the wire of months at the given index. |

### getMonthsValueList()

    public abstract List<Integer> getMonthsValueList()

Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on
which jobs will run.

This field is only applicable when `recurrence_type` is `YEARLY`. A
validation error will occur if other values are supplied.

`repeated .google.type.Month months = 6 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html>` | A list containing the enum numeric values on the wire for months. |

### getRecurrenceType()

    public abstract StandardSchedule.RecurrenceType getRecurrenceType()

Required. Specifies the `RecurrenceType` for the schedule.

`
.google.cloud.backupdr.v1.StandardSchedule.RecurrenceType recurrence_type = 1 [(.google.api.field_behavior) = REQUIRED];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-backupdr/latest/com.google.cloud.backupdr.v1.StandardSchedule.RecurrenceType` | The recurrenceType. |

### getRecurrenceTypeValue()

    public abstract int getRecurrenceTypeValue()

Required. Specifies the `RecurrenceType` for the schedule.

`
.google.cloud.backupdr.v1.StandardSchedule.RecurrenceType recurrence_type = 1 [(.google.api.field_behavior) = REQUIRED];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The enum numeric value on the wire for recurrenceType. |

### getTimeZone()

    public abstract String getTimeZone()

Required. The time zone to be used when interpreting the schedule.
The value of this field must be a time zone name from the IANA tz database.
See <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones> for the
list of valid timezone names. For e.g., Europe/Paris.

`string time_zone = 8 [(.google.api.field_behavior) = REQUIRED];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` | The timeZone. |

### getTimeZoneBytes()

    public abstract ByteString getTimeZoneBytes()

Required. The time zone to be used when interpreting the schedule.
The value of this field must be a time zone name from the IANA tz database.
See <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones> for the
list of valid timezone names. For e.g., Europe/Paris.

`string time_zone = 8 [(.google.api.field_behavior) = REQUIRED];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ByteString.html` | The bytes for timeZone. |

### getWeekDayOfMonth()

    public abstract WeekDayOfMonth getWeekDayOfMonth()

Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST
MONDAY, on which jobs will run. This will be specified by two fields in
`WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week,
e.g. `LAST`.

This field is only applicable for `recurrence_type`, `MONTHLY` and
`YEARLY`. A validation error will occur if other values are supplied.

`
.google.cloud.backupdr.v1.WeekDayOfMonth week_day_of_month = 5 [(.google.api.field_behavior) = OPTIONAL];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-backupdr/latest/com.google.cloud.backupdr.v1.WeekDayOfMonth` | The weekDayOfMonth. |

### getWeekDayOfMonthOrBuilder()

    public abstract WeekDayOfMonthOrBuilder getWeekDayOfMonthOrBuilder()

Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST
MONDAY, on which jobs will run. This will be specified by two fields in
`WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week,
e.g. `LAST`.

This field is only applicable for `recurrence_type`, `MONTHLY` and
`YEARLY`. A validation error will occur if other values are supplied.

`
.google.cloud.backupdr.v1.WeekDayOfMonth week_day_of_month = 5 [(.google.api.field_behavior) = OPTIONAL];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-backupdr/latest/com.google.cloud.backupdr.v1.WeekDayOfMonthOrBuilder` |   |

### hasBackupWindow()

    public abstract boolean hasBackupWindow()

Required. A BackupWindow defines the window of day during which backup jobs
will run. Jobs are queued at the beginning of the window and will be marked
as `NOT_RUN` if they do not start by the end of the window.

Note: running jobs will not be cancelled at the end of the window.

`
.google.cloud.backupdr.v1.BackupWindow backup_window = 7 [(.google.api.field_behavior) = REQUIRED];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | Whether the backupWindow field is set. |

### hasWeekDayOfMonth()

    public abstract boolean hasWeekDayOfMonth()

Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST
MONDAY, on which jobs will run. This will be specified by two fields in
`WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week,
e.g. `LAST`.

This field is only applicable for `recurrence_type`, `MONTHLY` and
`YEARLY`. A validation error will occur if other values are supplied.

`
.google.cloud.backupdr.v1.WeekDayOfMonth week_day_of_month = 5 [(.google.api.field_behavior) = OPTIONAL];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | Whether the weekDayOfMonth field is set. |