public sealed class StandardSchedule : IMessage<StandardSchedule>, IEquatable<StandardSchedule>, IDeepCloneable<StandardSchedule>, IBufferMessage, IMessage
Reference documentation and code samples for the Backup and DR Service v1 API class StandardSchedule.
StandardSchedule defines a schedule that run within the confines of a
defined window of days. We can define recurrence type for schedule as
HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY.
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.
public RepeatedField<DayOfWeek> DaysOfWeek { get; }
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.
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).
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.
public WeekDayOfMonth WeekDayOfMonth { get; set; }
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe latest version of the \u003ccode\u003eStandardSchedule\u003c/code\u003e API class is 2.1.0, providing reference documentation and code samples for the Backup and DR Service v1 API.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eStandardSchedule\u003c/code\u003e defines recurring schedules that can be configured as HOURLY, DAILY, WEEKLY, MONTHLY, or YEARLY, running within specified time windows.\u003c/p\u003e\n"],["\u003cp\u003eThe schedule properties allow for customization of backup frequency, including specifying days of the month, days of the week, hourly frequency, and months of the year, with validation rules for each recurrence type.\u003c/p\u003e\n"],["\u003cp\u003eA required \u003ccode\u003eBackupWindow\u003c/code\u003e property dictates the daily time frame for running backup jobs, and a \u003ccode\u003eTimeZone\u003c/code\u003e property must be provided to correctly interpret the defined schedule.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eStandardSchedule\u003c/code\u003e class implements several interfaces, such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, and \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and inherits members from the base \u003ccode\u003eobject\u003c/code\u003e class, allowing for enhanced functionality and compatibility.\u003c/p\u003e\n"]]],[],null,["# Backup and DR Service v1 API - Class StandardSchedule (2.2.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.2.0 (latest)](/dotnet/docs/reference/Google.Cloud.BackupDR.V1/latest/Google.Cloud.BackupDR.V1.StandardSchedule)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.BackupDR.V1/2.1.0/Google.Cloud.BackupDR.V1.StandardSchedule)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.BackupDR.V1/2.0.0/Google.Cloud.BackupDR.V1.StandardSchedule)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.BackupDR.V1/1.2.0/Google.Cloud.BackupDR.V1.StandardSchedule)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.BackupDR.V1/1.1.0/Google.Cloud.BackupDR.V1.StandardSchedule)\n- [1.0.0-beta02](/dotnet/docs/reference/Google.Cloud.BackupDR.V1/1.0.0-beta02/Google.Cloud.BackupDR.V1.StandardSchedule) \n\n public sealed class StandardSchedule : IMessage\u003cStandardSchedule\u003e, IEquatable\u003cStandardSchedule\u003e, IDeepCloneable\u003cStandardSchedule\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Backup and DR Service v1 API class StandardSchedule.\n\n`StandardSchedule` defines a schedule that run within the confines of a\ndefined window of days. We can define recurrence type for schedule as\nHOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e StandardSchedule \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[StandardSchedule](/dotnet/docs/reference/Google.Cloud.BackupDR.V1/latest/Google.Cloud.BackupDR.V1.StandardSchedule), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[StandardSchedule](/dotnet/docs/reference/Google.Cloud.BackupDR.V1/latest/Google.Cloud.BackupDR.V1.StandardSchedule), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[StandardSchedule](/dotnet/docs/reference/Google.Cloud.BackupDR.V1/latest/Google.Cloud.BackupDR.V1.StandardSchedule), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.BackupDR.V1](/dotnet/docs/reference/Google.Cloud.BackupDR.V1/latest/Google.Cloud.BackupDR.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.BackupDR.V1.dll\n\nConstructors\n------------\n\n### StandardSchedule()\n\n public StandardSchedule()\n\n### StandardSchedule(StandardSchedule)\n\n public StandardSchedule(StandardSchedule other)\n\nProperties\n----------\n\n### BackupWindow\n\n public BackupWindow BackupWindow { get; set; }\n\nRequired. A BackupWindow defines the window of day during which backup jobs\nwill run. Jobs are queued at the beginning of the window and will be marked\nas `NOT_RUN` if they do not start by the end of the window.\n\nNote: running jobs will not be cancelled at the end of the window.\n\n### DaysOfMonth\n\n public RepeatedField\u003cint\u003e DaysOfMonth { get; }\n\nOptional. Specifies days of months like 1, 5, or 14 on which jobs will run.\n\nValues for `days_of_month` are only applicable for `recurrence_type`,\n`MONTHLY` and `YEARLY`. A validation error will occur if other values are\nsupplied.\n\n### DaysOfWeek\n\n public RepeatedField\u003cDayOfWeek\u003e DaysOfWeek { get; }\n\nOptional. Specifies days of week like, MONDAY or TUESDAY, on which jobs\nwill run.\n\nThis is required for `recurrence_type`, `WEEKLY` and is not applicable\notherwise. A validation error will occur if a value is supplied and\n`recurrence_type` is not `WEEKLY`.\n\n### HourlyFrequency\n\n public int HourlyFrequency { get; set; }\n\nOptional. Specifies frequency for hourly backups. A hourly frequency of 2\nmeans jobs will run every 2 hours from start time till end time defined.\n\nThis is required for `recurrence_type`, `HOURLY` and is not applicable\notherwise. A validation error will occur if a value is supplied and\n`recurrence_type` is not `HOURLY`.\n\nValue of hourly frequency should be between 4 and 23.\n\nReason for limit : We found that there is bandwidth limitation of 3GB/S for\nGMI while taking a backup and 5GB/S while doing a restore. Given the amount\nof parallel backups and restore we are targeting, this will potentially\ntake the backup time to mins and hours (in worst case scenario).\n\n### Months\n\n public RepeatedField\u003cMonth\u003e Months { get; }\n\nOptional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on\nwhich jobs will run.\n\nThis field is only applicable when `recurrence_type` is `YEARLY`. A\nvalidation error will occur if other values are supplied.\n\n### RecurrenceType\n\n public StandardSchedule.Types.RecurrenceType RecurrenceType { get; set; }\n\nRequired. Specifies the `RecurrenceType` for the schedule.\n\n### TimeZone\n\n public string TimeZone { get; set; }\n\nRequired. The time zone to be used when interpreting the schedule.\nThe value of this field must be a time zone name from the IANA tz database.\nSee \u003chttps://en.wikipedia.org/wiki/List_of_tz_database_time_zones\u003e for the\nlist of valid timezone names. For e.g., Europe/Paris.\n\n### WeekDayOfMonth\n\n public WeekDayOfMonth WeekDayOfMonth { get; set; }\n\nOptional. Specifies a week day of the month like, FIRST SUNDAY or LAST\nMONDAY, on which jobs will run. This will be specified by two fields in\n`WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week,\ne.g. `LAST`.\n\nThis field is only applicable for `recurrence_type`, `MONTHLY` and\n`YEARLY`. A validation error will occur if other values are supplied."]]