public sealed class RecurringTimeWindow : IMessage<RecurringTimeWindow>, IEquatable<RecurringTimeWindow>, IDeepCloneable<RecurringTimeWindow>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Kubernetes Engine v1 API class RecurringTimeWindow.
Represents an arbitrary window of time that recurs.
For example, to have something repeat every weekday, you'd use:
FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
To repeat some window daily (equivalent to the DailyMaintenanceWindow):
FREQ=DAILY
For the first weekend of every month:
FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU
This specifies how frequently the window starts. Eg, if you wanted to have
a 9-5 UTC-4 window every weekday, you'd use something like:
start time = 2019-01-01T09:00:00-0400
end time = 2019-01-01T17:00:00-0400
recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
Windows can span multiple days. Eg, to make the window encompass every
weekend from midnight Saturday till the last minute of Sunday UTC:
start time = 2019-01-05T00:00:00Z
end time = 2019-01-07T23:59:00Z
recurrence = FREQ=WEEKLY;BYDAY=SA
Note the start and end time's specific dates are largely arbitrary except
to specify duration of the window and when it first starts.
The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
[[["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\u003eThis webpage provides documentation for the \u003ccode\u003eRecurringTimeWindow\u003c/code\u003e class within the Google Kubernetes Engine v1 API, detailing its usage in defining recurring time windows.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRecurringTimeWindow\u003c/code\u003e class, found in the \u003ccode\u003eGoogle.Cloud.Container.V1\u003c/code\u003e namespace, is used to represent a recurring time window, and implements several interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe page lists numerous versions of the \u003ccode\u003eRecurringTimeWindow\u003c/code\u003e class, ranging from the latest version \u003ccode\u003e3.33.0\u003c/code\u003e down to version \u003ccode\u003e2.3.0\u003c/code\u003e, with links to documentation for each version.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRecurringTimeWindow\u003c/code\u003e class includes properties like \u003ccode\u003eRecurrence\u003c/code\u003e, which uses RRULE format to specify the recurring pattern, and \u003ccode\u003eWindow\u003c/code\u003e, which defines the initial time window for the recurrence.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRecurringTimeWindow\u003c/code\u003e has two constructors that can be used, one with no parameters and another that accepts another \u003ccode\u003eRecurringTimeWindow\u003c/code\u003e as a parameter.\u003c/p\u003e\n"]]],[],null,["# Google Kubernetes Engine v1 API - Class RecurringTimeWindow (3.35.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.35.0 (latest)](/dotnet/docs/reference/Google.Cloud.Container.V1/latest/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.34.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.34.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.33.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.33.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.32.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.32.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.31.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.31.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.30.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.30.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.29.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.29.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.28.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.28.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.27.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.27.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.26.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.26.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.25.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.25.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.24.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.24.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.23.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.23.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.22.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.22.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.21.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.21.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.20.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.20.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.19.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.19.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.18.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.18.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.17.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.17.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.16.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.16.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.15.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.15.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.14.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.14.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.13.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.13.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.12.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.12.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.11.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.11.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.10.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.9.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.8.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.7.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.6.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.5.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.4.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.3.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.2.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.1.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Container.V1/3.0.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.Container.V1/2.7.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.Container.V1/2.6.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Container.V1/2.5.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Container.V1/2.4.0/Google.Cloud.Container.V1.RecurringTimeWindow)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Container.V1/2.3.0/Google.Cloud.Container.V1.RecurringTimeWindow) \n\n public sealed class RecurringTimeWindow : IMessage\u003cRecurringTimeWindow\u003e, IEquatable\u003cRecurringTimeWindow\u003e, IDeepCloneable\u003cRecurringTimeWindow\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Kubernetes Engine v1 API class RecurringTimeWindow.\n\nRepresents an arbitrary window of time that recurs. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e RecurringTimeWindow \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[RecurringTimeWindow](/dotnet/docs/reference/Google.Cloud.Container.V1/latest/Google.Cloud.Container.V1.RecurringTimeWindow), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[RecurringTimeWindow](/dotnet/docs/reference/Google.Cloud.Container.V1/latest/Google.Cloud.Container.V1.RecurringTimeWindow), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[RecurringTimeWindow](/dotnet/docs/reference/Google.Cloud.Container.V1/latest/Google.Cloud.Container.V1.RecurringTimeWindow), [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.Container.V1](/dotnet/docs/reference/Google.Cloud.Container.V1/latest/Google.Cloud.Container.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Container.V1.dll\n\nConstructors\n------------\n\n### RecurringTimeWindow()\n\n public RecurringTimeWindow()\n\n### RecurringTimeWindow(RecurringTimeWindow)\n\n public RecurringTimeWindow(RecurringTimeWindow other)\n\nProperties\n----------\n\n### Recurrence\n\n public string Recurrence { get; set; }\n\nAn RRULE (\u003chttps://tools.ietf.org/html/rfc5545#section-3.8.5.3\u003e) for how\nthis window reccurs. They go on for the span of time between the start and\nend time.\n\nFor example, to have something repeat every weekday, you'd use:\n`FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`\n\nTo repeat some window daily (equivalent to the DailyMaintenanceWindow):\n`FREQ=DAILY`\n\nFor the first weekend of every month:\n`FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`\n\nThis specifies how frequently the window starts. Eg, if you wanted to have\na 9-5 UTC-4 window every weekday, you'd use something like: \n\n start time = 2019-01-01T09:00:00-0400\n end time = 2019-01-01T17:00:00-0400\n recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR\n\nWindows can span multiple days. Eg, to make the window encompass every\nweekend from midnight Saturday till the last minute of Sunday UTC: \n\n start time = 2019-01-05T00:00:00Z\n end time = 2019-01-07T23:59:00Z\n recurrence = FREQ=WEEKLY;BYDAY=SA\n\nNote the start and end time's specific dates are largely arbitrary except\nto specify duration of the window and when it first starts.\nThe FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.\n\n### Window\n\n public TimeWindow Window { get; set; }\n\nThe window of the first recurrence."]]