Build Cloud SQL maintenance window configurations with preferred schedules and deny periods.
Build Cloud SQL maintenance window configurations with preferred schedules, deny periods, and backup settings.
Required Fields
instanceprojectsettings.maintenanceWindow.daysettings.maintenanceWindow.hoursettings.maintenanceWindow.updateTrackOutput will appear here...Build a Cloud SQL maintenance window and deny-period configuration that controls when Google is allowed to apply instance updates, kernel patches, and minor version upgrades. The day field is ISO 8601 (1=Monday through 7=Sunday) and hour is a 0-23 UTC value, not your instance's local timezone, which is the single most common misconfiguration teams hit when they schedule a '2am maintenance' window that actually fires during business hours. denyMaintenancePeriods let you block maintenance entirely for date ranges like a holiday freeze, up to 90 days per period.
An SRE sets what they believe is a Sunday 2am maintenance window for a US Eastern Cloud SQL instance, using hour: 2, and three weeks later a scheduled patch restarts the primary at 2am UTC, which is 9pm Saturday Eastern, right in the middle of a weekend batch job that assumed the database wouldn't restart until after 2am local. They rebuild the config with the builder, setting hour: 6 to correctly land the window at 2am Eastern (standard time) and add a denyMaintenancePeriods block around the batch job's known runtime windows so future overlaps are blocked outright instead of relying on getting the UTC math right by hand.
hour is UTC, always — a team in US Eastern time wanting a true 2am local maintenance window needs hour: 6 (EST) or hour: 7 (EDT), and this shifts twice a year with DST if you don't account for it.
updateTrack: "week5" delays rollout roughly five weeks after canary but isn't a guarantee of avoiding a bad patch, it's a documented best-effort delay tier, not a hold-for-manual-approval gate.
pointInTimeRecoveryEnabled requires binary logging (MySQL) or WAL archiving (PostgreSQL) to already be on; enabling PITR on an instance that had it off starts the recovery window from that moment forward, it doesn't retroactively cover data written before you flipped the flag.
The builder checks that instance, project, and the three maintenanceWindow fields (day, hour, updateTrack) resolve before treating the config as a valid Cloud SQL Admin API patch body — those are the fields the API actually rejects a request over if they're missing or out of range (day must be 1-7, hour must be 0-23).
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.