CINXE.COM

DigitalOcean Status

<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- force IE browsers in compatibility mode to use their most aggressive rendering engine --> <meta charset="utf-8"> <title>DigitalOcean Status</title> <meta name="description" content="Welcome to DigitalOcean&#39;s home for real-time and historical data on system performance."> <!-- Mobile viewport optimization --> <meta name="HandheldFriendly" content="True"> <meta name="MobileOptimized" content="320"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"> <!-- Time this page was rendered - http://purl.org/dc/terms/issued --> <meta name="issued" content="1744257157"> <!-- Mobile IE allows us to activate ClearType technology for smoothing fonts for easy reading --> <meta http-equiv="cleartype" content="on"> <!-- Le fonts --> <style> @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=status.digitalocean.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=status.digitalocean.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-e642ffe82005c6208632538a557e7f5dccb835c0303b06f17f55ccf567907241.woff?host=status.digitalocean.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-0f094da9b301d03292f97db5544142a16f9f2ddf50af91d44753d9310c194c5f.ttf?host=status.digitalocean.com') format('truetype'); font-weight:300; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=status.digitalocean.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=status.digitalocean.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-2ee4c449a9ed716f1d88207bd1094e21b69e2818b5cd36b28ad809dc1924ec54.woff?host=status.digitalocean.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-a40a469edbd27b65b845b8000d47445a17def8ba677f4eb836ad1808f7495173.ttf?host=status.digitalocean.com') format('truetype'); font-weight:400; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=status.digitalocean.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=status.digitalocean.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0c394ec7a111aa7928ea470ec0a67c44ebdaa0f93d1c3341abb69656cc26cbdd.woff?host=status.digitalocean.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-9e43859f8015a4d47d9eaf7bafe8d1e26e3298795ce1f4cdb0be0479b8a4605e.ttf?host=status.digitalocean.com') format('truetype'); font-weight:400; font-style:italic; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=status.digitalocean.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=status.digitalocean.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-86724fb2152613d735ba47c3f47a9ad2424b898bea4bece213dacee40344f966.woff?host=status.digitalocean.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-cf3e4eb7fbdf6fb83e526cc2a0141e55b01097e6e1abfd4cbdc3eda75d183f74.ttf?host=status.digitalocean.com') format('truetype'); font-weight:500; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=status.digitalocean.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=status.digitalocean.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-c8dc577ff7f76d2fc199843e38c04bb2e9fd15889421358d966a9f846c2ed1cd.woff?host=status.digitalocean.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-27177fe9242acbe089276ee587feef781446667ffe9b6fdc5b7fe21ad73e12f3.ttf?host=status.digitalocean.com') format('truetype'); font-weight:700; font-style:normal; } </style> <link rel="shortcut icon" type="image/x-icon" href="//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/362055/do_favicon.png" /> <link rel="shortcut icon" href='//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/362055/do_favicon.png'> <link rel="alternate" type="application/atom+xml" href="https://status.digitalocean.com/history.atom" title="DigitalOcean Status History - Atom Feed"> <link rel="alternate" type="application/rss+xml" href="https://status.digitalocean.com/history.rss" title="DigitalOcean Status History - RSS Feed"> <!-- Canonical Link to ensure that only the custom domain is indexed when present --> <link rel="canonical" href="http://status.digitalocean.com"> <meta name="_globalsign-domain-verification" content="y_VzfckMy4iePo5oDJNivyYIjh8LffYa4jzUndm_bZ"/> <link rel="alternate" type="application/atom+xml" title="ATOM" href="https://status.digitalocean.com/history.atom" /> <!-- Le styles --> <link rel="stylesheet" media="screen" href="https://dka575ofm4ao0.cloudfront.net/packs/0.076d36a21dada6e9b8ca.css" /> <link rel="stylesheet" media="all" href="https://dka575ofm4ao0.cloudfront.net/assets/status/status_manifest-e5fd07250d5426b6c15214a184a78f72bd224c0f158f2ca1f35a3cf1ee9c1783.css" /> <script src="https://dka575ofm4ao0.cloudfront.net/assets/jquery-3.5.1.min-729e416557a365062a8a20f0562f18aa171da57298005d392312670c706c68de.js"></script> <script> window.pageColorData = {"blue":"#127C43","border":"#BEC3C3","body_background":"#FFFFFF","font":"#000000","graph":"#3498DB","green":"#127C43","light_font":"#666666","link":"#0069FF","orange":"#F56109","red":"#CA0C0C","yellow":"#6355F8","no_data":"#F3F5F9"}; </script> <style> /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ body, .layout-content.status.status-api .section .example-container .example-opener .color-secondary, .grouped-items-selector, .layout-content.status.status-full-history .history-nav a.current, div[id^="subscribe-modal"] .modal-footer, div[id^="subscribe-modal"], div[id^="updates-dropdown"] .updates-dropdown-section, #uptime-tooltip .tooltip-box { background-color:#FFFFFF; } #uptime-tooltip .pointer-container .pointer-smaller { border-bottom-color:#FFFFFF; } /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ body.status, .color-primary, .color-primary:hover, .layout-content.status-index .status-day .update-title.impact-none a, .layout-content.status-index .status-day .update-title.impact-none a:hover, .layout-content.status-index .timeframes-container .timeframe.active, .layout-content.status-full-history .month .incident-container .impact-none, .layout-content.status.status-index .incidents-list .incident-title.impact-none a, .incident-history .impact-none, .layout-content.status .grouped-items-selector.inline .grouped-item.active, .layout-content.status.status-full-history .history-nav a.current, .layout-content.status.status-full-history .history-nav a:not(.current):hover, div[id^="subscribe-modal"] .modal-header .close, .grouped-item-label, #uptime-tooltip .tooltip-box .tooltip-content .related-events .related-event a.related-event-link { color:#000000; } .layout-content.status.status-index .components-statuses .component-container .name { color:#000000; color:rgba(0,0,0,.8); } /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ small, .layout-content.status .table-row .date, .color-secondary, .layout-content.status .grouped-items-selector.inline .grouped-item, .layout-content.status.status-full-history .history-footer .pagination a.disabled, .layout-content.status.status-full-history .history-nav a, #uptime-tooltip .tooltip-box .tooltip-content .related-events #related-event-header { color:#666666; } /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ body.status .layout-content.status .border-color, hr, .tooltip-base, .markdown-display table, div[id^="subscribe-modal"], #uptime-tooltip .tooltip-box { border-color:#BEC3C3; } div[id^="subscribe-modal"] .modal-footer, .markdown-display table td { border-top-color:#BEC3C3; } .markdown-display table td + td, .markdown-display table th + th { border-left-color:#BEC3C3; } div[id^="subscribe-modal"] .modal-header, #uptime-tooltip .pointer-container .pointer-larger { border-bottom-color:#BEC3C3; } #uptime-tooltip .tooltip-box .outage-field { /* Generate the background-color for the outage-field from the css_body_background_color and css_border_color. For the default background (#ffffff) and default css_border_color (#e0e0e0), use the luminosity of the default background with a magic number to arrive at the original outage-field background color (#f4f5f7). I used the formula Target Color = Color * alpha + Background * (1 - alpha) to find the magic number of ~0.08. For darker css_body_background_color, luminosity values are lower so alpha trends toward becoming transparent (thus outage-field background becomes same as css_body_background_color). */ background-color: rgba(190,195,195,0.31); /* outage-field border-color alpha is inverse to the luminosity of css_body_background_color. That is to say, with a default white background this border is transparent, but on a black background, it's opaque css_border_color. */ border-color: rgba(190,195,195,0.0); } /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ .layout-content.status.status-index .status-day .update-title.impact-critical a, .layout-content.status.status-index .status-day .update-title.impact-critical a:hover, .layout-content.status.status-index .page-status.status-critical, .layout-content.status.status-index .unresolved-incident.impact-critical .incident-title, .flat-button.background-red { background-color:#CA0C0C; } .layout-content.status-index .components-statuses .component-container.status-red:after, .layout-content.status-full-history .month .incident-container .impact-critical, .layout-content.status-incident .incident-name.impact-critical, .layout-content.status.status-index .incidents-list .incident-title.impact-critical a, .status-red .icon-indicator, .incident-history .impact-critical, .components-container .component-inner-container.status-red .component-status, .components-container .component-inner-container.status-red .icon-indicator { color:#CA0C0C; } .layout-content.status.status-index .unresolved-incident.impact-critical .updates { border-color:#CA0C0C; } /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ .layout-content.status.status-index .status-day .update-title.impact-major a, .layout-content.status.status-index .status-day .update-title.impact-major a:hover, .layout-content.status.status-index .page-status.status-major, .layout-content.status.status-index .unresolved-incident.impact-major .incident-title { background-color:#F56109; } .layout-content.status-index .components-statuses .component-container.status-orange:after, .layout-content.status-full-history .month .incident-container .impact-major, .layout-content.status-incident .incident-name.impact-major, .layout-content.status.status-index .incidents-list .incident-title.impact-major a, .status-orange .icon-indicator, .incident-history .impact-major, .components-container .component-inner-container.status-orange .component-status, .components-container .component-inner-container.status-orange .icon-indicator { color:#F56109; } .layout-content.status.status-index .unresolved-incident.impact-major .updates { border-color:#F56109; } /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ .layout-content.status.status-index .status-day .update-title.impact-minor a, .layout-content.status.status-index .status-day .update-title.impact-minor a:hover, .layout-content.status.status-index .page-status.status-minor, .layout-content.status.status-index .unresolved-incident.impact-minor .incident-title, .layout-content.status.status-index .scheduled-incidents-container .tab { background-color:#6355F8; } .layout-content.status-index .components-statuses .component-container.status-yellow:after, .layout-content.status-full-history .month .incident-container .impact-minor, .layout-content.status-incident .incident-name.impact-minor, .layout-content.status.status-index .incidents-list .incident-title.impact-minor a, .status-yellow .icon-indicator, .incident-history .impact-minor, .components-container .component-inner-container.status-yellow .component-status, .components-container .component-inner-container.status-yellow .icon-indicator, .layout-content.status.manage-subscriptions .confirmation-infobox .fa { color:#6355F8; } .layout-content.status.status-index .unresolved-incident.impact-minor .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#6355F8; } /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ .layout-content.status.status-index .status-day .update-title.impact-maintenance a, .layout-content.status.status-index .status-day .update-title.impact-maintenance a:hover, .layout-content.status.status-index .page-status.status-maintenance, .layout-content.status.status-index .unresolved-incident.impact-maintenance .incident-title, .layout-content.status.status-index .scheduled-incidents-container .tab { background-color:#127C43; } .layout-content.status-index .components-statuses .component-container.status-blue:after, .layout-content.status-full-history .month .incident-container .impact-maintenance, .layout-content.status-incident .incident-name.impact-maintenance, .layout-content.status.status-index .incidents-list .incident-title.impact-maintenance a, .status-blue .icon-indicator, .incident-history .impact-maintenance, .components-container .component-inner-container.status-blue .component-status, .components-container .component-inner-container.status-blue .icon-indicator { color:#127C43; } .layout-content.status.status-index .unresolved-incident.impact-maintenance .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#127C43; } /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ .layout-content.status.status-index .page-status.status-none { background-color:#127C43; } .layout-content.status-index .components-statuses .component-container.status-green:after, .status-green .icon-indicator, .components-container .component-inner-container.status-green .component-status, .components-container .component-inner-container.status-green .icon-indicator { color:#127C43; } /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ a, a:hover, .layout-content.status-index .page-footer span a:hover, .layout-content.status-index .timeframes-container .timeframe:not(.active):hover, .layout-content.status-incident .subheader a:hover { color:#0069FF; } .flat-button, .masthead .updates-dropdown-container .show-updates-dropdown, .layout-content.status-full-history .show-filter.open { background-color:#0069FF; } /* CUSTOM COLOR OVERRIDES FOR UPTIME SHOWCASE */ .components-section .components-uptime-link { color: #666666; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item { color: #666666; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item.light { color: #666666; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .spacer { background: #666666; opacity: 1; } </style> <!-- custom css --> <link rel="stylesheet" type="text/css" href="//dka575ofm4ao0.cloudfront.net/page_display_customizations-custom_css_externals/361292/external20230519-27-p2ld8f.css"> <!-- polyfills --> <script crossorigin="anonymous" src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.js"></script> <!-- Le HTML5 shim --> <!--[if lt IE 9]> <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!-- injection for static --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-26573244-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-26573244-1', { 'anonymize_ip' : true}); </script> </head> <body class="status index status-none"> <div class="layout-content status status-index starter"> <div class="custom-header-container"> <script> // remove incident list from main page $(function() { $('.incidents-list').remove(); }); // remove empty uptime wrapper $(function() { $('.shared-partial').remove(); }); // remove everything-is-ok-header $(function() { if($('.page-status').length > 0) { if ($('.page-status').html().indexOf('All Systems Operational') != -1) { $('.page-status').remove(); if($('.scheduled-maintenances-container').length == 0) { $('#header-incidents-inner-container').remove(); $('#header-incidents-outer-container').remove(); } } } }); </script> <div class="header"> <div class="container"> <a href="/" class="logo"> <img src="https://s3.amazonaws.com/statuspage-production/pages-transactional_logos/normal/29246/nt165cuvSgGdvTdII44b"> </a><br><br> <h1>DigitalOcean Services Status</h1> <div id="replace-with-subscribe"></div> <div class="clearfix"></div> </div> <div id="header-incidents-outer-container"> <div id="header-incidents-inner-container" class="container"> </div> </div> </div> <div class="updates-dropdown-container" data-js-hook="updates-dropdown-container"> <a href="#" data-js-hook="show-updates-dropdown" id="show-updates-dropdown" class="show-updates-dropdown" aria-label="Subscribe to updates" aria-expanded="false" aria-haspopup="dialog" role="button"> </a> <!-- Accessibility guidelines for tabs: https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html --> <div class="updates-dropdown" data-js-hook="updates-dropdown" id="updates-dropdown" style="display:none"> <div class="updates-dropdown-nav nav-items-7" role="tablist" aria-label="Subscribe to updates"> <a href="#updates-dropdown-email" aria-controls="updates-dropdown-email" aria-label="Subscribe via email" role="tab" aria-selected="true" id="updates-dropdown-email-btn"> <span class="icon-container email"> </a> <a href="#updates-dropdown-sms" aria-controls="updates-dropdown-sms" aria-label="Subscribe via SMS" role="tab" id="updates-dropdown-sms-btn"> <span class="icon-container sms"> </a> <a href="#updates-dropdown-slack" aria-controls="updates-dropdown-slack" aria-label="Subscribe via slack" role="tab" id="updates-dropdown-slack-btn"> <span class="icon-container slack"> </a> <a href="#updates-dropdown-twitter" aria-controls="updates-dropdown-twitter" aria-label="Subscribe via twitter" role="tab" id="updates-dropdown-twitter-btn"> <span class="icon-container twitter"> </a> <a href="#updates-dropdown-support" aria-controls="updates-dropdown-support" aria-label="Contact support" role="tab" id="updates-dropdown-support-btn"> <span class="icon-container support"> </a> <a href="#updates-dropdown-atom" aria-controls="updates-dropdown-atom" aria-label="Subscribe via RSS" role="tab" id="updates-dropdown-atom-btn"> <span class="icon-container rss"> </a> <button data-js-hook="updates-dropdown-close" aria-label="Close subscribe form" id="updates-dropdown-close-btn"> x </button> </div> <div class="updates-dropdown-sections-container"> <div class="updates-dropdown-section email" id="updates-dropdown-email" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-email-btn"> <div class="directions"> Get email notifications whenever DigitalOcean <strong>creates</strong>, <strong>updates</strong> or <strong>resolves</strong> an incident. </div> <form id="subscribe-form-email" action="/subscriptions/new-email" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="email_otp_verify_flow" id="email_otp_verify_flow" value="false" autocomplete="off" /> <!-- make sure not to put cookie values in here since this gets cached --> <label for="email">Email address:</label> <input name="email" id="email" type="text" class="full-width" data-js-hook="email-notification-field" autocomplete="email"> <input name="email_otp_auth_token" type='hidden' id="email-otp-token-field"> <div class="opt-container-section" id="email-otp-container", style="display:none" > <label for="email-otp">Enter OTP:</label> <input name="otp" id="email-otp" type="text" value="" class="prepend full-width"> <p id="email-otp-timer">Resend OTP in: <span id="email-otp-countdown"></span> seconds </p> <p id="resend-email-otp"> Didn't receive the OTP? <a href="#" id="resend-email-otp-btn" >Resend OTP </a> </p> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value="Subscribe via Email" class="flat-button full-width g-recaptcha" id="subscribe-btn-email" data-disabled-text="Subscribing..." data-sitekey=6LdTS8AUAAAAAOIbCKoCAP4LQku1olYGrywPTaZz data-callback="submitNewEmailSubscriber" data-error-callback="emailSubscriberCaptchaError" > <div class="terms_and_privacy_information bottom small"> This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section phone" id="updates-dropdown-sms" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-sms-btn"> <div class="directions"> Get text message notifications whenever DigitalOcean <strong>creates</strong> or <strong>resolves</strong> an incident. </div> <form id="subscribe-form-sms" action="/subscriptions/new-sms" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="otp_verify_flow" id="otp_verify_flow" value="false" autocomplete="off" /> <input type="hidden" name="subscriber_code" id="subscriber_code" value="" autocomplete="off" /> <div class="control-group"> <div class="controls externalities-sms-container"> <!-- make sure not to put cookie values in here since this gets cached --> <label for="phone-country">Country code:</label> <div id="phone-number-country-code" class="phone-country-wrapper" data-otp-enabled="false"> <select name="phone_country" id="phone-country" data-js-hook="phone-country" class="phone-country"><option value="af" data-otp-enabled="false" >Afghanistan (+93)</option> <option value="al" data-otp-enabled="false" >Albania (+355)</option> <option value="dz" data-otp-enabled="false" >Algeria (+213)</option> <option value="as" data-otp-enabled="false" >American Samoa (+1)</option> <option value="ad" data-otp-enabled="false" >Andorra (+376)</option> <option value="ao" data-otp-enabled="false" >Angola (+244)</option> <option value="ai" data-otp-enabled="false" >Anguilla (+1)</option> <option value="ag" data-otp-enabled="false" >Antigua and Barbuda (+1)</option> <option value="ar" data-otp-enabled="false" >Argentina (+54)</option> <option value="am" data-otp-enabled="false" >Armenia (+374)</option> <option value="aw" data-otp-enabled="false" >Aruba (+297)</option> <option value="au" data-otp-enabled="false" >Australia/Cocos/Christmas Island (+61)</option> <option value="at" data-otp-enabled="false" >Austria (+43)</option> <option value="az" data-otp-enabled="false" >Azerbaijan (+994)</option> <option value="bs" data-otp-enabled="false" >Bahamas (+1)</option> <option value="bh" data-otp-enabled="false" >Bahrain (+973)</option> <option value="bd" data-otp-enabled="false" >Bangladesh (+880)</option> <option value="bb" data-otp-enabled="false" >Barbados (+1)</option> <option value="by" data-otp-enabled="false" >Belarus (+375)</option> <option value="be" data-otp-enabled="false" >Belgium (+32)</option> <option value="bz" data-otp-enabled="false" >Belize (+501)</option> <option value="bj" data-otp-enabled="false" >Benin (+229)</option> <option value="bm" data-otp-enabled="false" >Bermuda (+1)</option> <option value="bo" data-otp-enabled="false" >Bolivia (+591)</option> <option value="ba" data-otp-enabled="false" >Bosnia and Herzegovina (+387)</option> <option value="bw" data-otp-enabled="false" >Botswana (+267)</option> <option value="br" data-otp-enabled="false" >Brazil (+55)</option> <option value="bn" data-otp-enabled="false" >Brunei (+673)</option> <option value="bg" data-otp-enabled="false" >Bulgaria (+359)</option> <option value="bf" data-otp-enabled="false" >Burkina Faso (+226)</option> <option value="bi" data-otp-enabled="false" >Burundi (+257)</option> <option value="kh" data-otp-enabled="false" >Cambodia (+855)</option> <option value="cm" data-otp-enabled="false" >Cameroon (+237)</option> <option value="ca" data-otp-enabled="false" >Canada (+1)</option> <option value="cv" data-otp-enabled="false" >Cape Verde (+238)</option> <option value="ky" data-otp-enabled="false" >Cayman Islands (+1)</option> <option value="cf" data-otp-enabled="false" >Central Africa (+236)</option> <option value="td" data-otp-enabled="false" >Chad (+235)</option> <option value="cl" data-otp-enabled="false" >Chile (+56)</option> <option value="cn" data-otp-enabled="false" >China (+86)</option> <option value="co" data-otp-enabled="false" >Colombia (+57)</option> <option value="km" data-otp-enabled="false" >Comoros (+269)</option> <option value="cg" data-otp-enabled="false" >Congo (+242)</option> <option value="cd" data-otp-enabled="false" >Congo, Dem Rep (+243)</option> <option value="cr" data-otp-enabled="false" >Costa Rica (+506)</option> <option value="hr" data-otp-enabled="false" >Croatia (+385)</option> <option value="cy" data-otp-enabled="false" >Cyprus (+357)</option> <option value="cz" data-otp-enabled="false" >Czech Republic (+420)</option> <option value="dk" data-otp-enabled="false" >Denmark (+45)</option> <option value="dj" data-otp-enabled="false" >Djibouti (+253)</option> <option value="dm" data-otp-enabled="false" >Dominica (+1)</option> <option value="do" data-otp-enabled="false" >Dominican Republic (+1)</option> <option value="eg" data-otp-enabled="false" >Egypt (+20)</option> <option value="sv" data-otp-enabled="false" >El Salvador (+503)</option> <option value="gq" data-otp-enabled="false" >Equatorial Guinea (+240)</option> <option value="ee" data-otp-enabled="false" >Estonia (+372)</option> <option value="et" data-otp-enabled="false" >Ethiopia (+251)</option> <option value="fo" data-otp-enabled="false" >Faroe Islands (+298)</option> <option value="fj" data-otp-enabled="false" >Fiji (+679)</option> <option value="fi" data-otp-enabled="false" >Finland/Aland Islands (+358)</option> <option value="fr" data-otp-enabled="false" >France (+33)</option> <option value="gf" data-otp-enabled="false" >French Guiana (+594)</option> <option value="pf" data-otp-enabled="false" >French Polynesia (+689)</option> <option value="ga" data-otp-enabled="false" >Gabon (+241)</option> <option value="gm" data-otp-enabled="false" >Gambia (+220)</option> <option value="ge" data-otp-enabled="false" >Georgia (+995)</option> <option value="de" data-otp-enabled="false" >Germany (+49)</option> <option value="gh" data-otp-enabled="false" >Ghana (+233)</option> <option value="gi" data-otp-enabled="false" >Gibraltar (+350)</option> <option value="gr" data-otp-enabled="false" >Greece (+30)</option> <option value="gl" data-otp-enabled="false" >Greenland (+299)</option> <option value="gd" data-otp-enabled="false" >Grenada (+1)</option> <option value="gp" data-otp-enabled="false" >Guadeloupe (+590)</option> <option value="gu" data-otp-enabled="false" >Guam (+1)</option> <option value="gt" data-otp-enabled="false" >Guatemala (+502)</option> <option value="gn" data-otp-enabled="false" >Guinea (+224)</option> <option value="gy" data-otp-enabled="false" >Guyana (+592)</option> <option value="ht" data-otp-enabled="false" >Haiti (+509)</option> <option value="hn" data-otp-enabled="false" >Honduras (+504)</option> <option value="hk" data-otp-enabled="false" >Hong Kong (+852)</option> <option value="hu" data-otp-enabled="false" >Hungary (+36)</option> <option value="is" data-otp-enabled="false" >Iceland (+354)</option> <option value="in" data-otp-enabled="false" >India (+91)</option> <option value="id" data-otp-enabled="false" >Indonesia (+62)</option> <option value="iq" data-otp-enabled="false" >Iraq (+964)</option> <option value="ie" data-otp-enabled="false" >Ireland (+353)</option> <option value="il" data-otp-enabled="false" >Israel (+972)</option> <option value="it" data-otp-enabled="false" >Italy (+39)</option> <option value="jm" data-otp-enabled="false" >Jamaica (+1)</option> <option value="jp" data-otp-enabled="false" >Japan (+81)</option> <option value="jo" data-otp-enabled="false" >Jordan (+962)</option> <option value="ke" data-otp-enabled="false" >Kenya (+254)</option> <option value="kr" data-otp-enabled="false" >Korea, Republic of (+82)</option> <option value="xk" data-otp-enabled="false" >Kosovo (+383)</option> <option value="kw" data-otp-enabled="false" >Kuwait (+965)</option> <option value="kg" data-otp-enabled="false" >Kyrgyzstan (+996)</option> <option value="la" data-otp-enabled="false" >Laos (+856)</option> <option value="lv" data-otp-enabled="false" >Latvia (+371)</option> <option value="lb" data-otp-enabled="false" >Lebanon (+961)</option> <option value="ls" data-otp-enabled="false" >Lesotho (+266)</option> <option value="lr" data-otp-enabled="false" >Liberia (+231)</option> <option value="ly" data-otp-enabled="false" >Libya (+218)</option> <option value="li" data-otp-enabled="false" >Liechtenstein (+423)</option> <option value="lt" data-otp-enabled="false" >Lithuania (+370)</option> <option value="lu" data-otp-enabled="false" >Luxembourg (+352)</option> <option value="mo" data-otp-enabled="false" >Macao (+853)</option> <option value="mk" data-otp-enabled="false" >Macedonia (+389)</option> <option value="mg" data-otp-enabled="false" >Madagascar (+261)</option> <option value="mw" data-otp-enabled="false" >Malawi (+265)</option> <option value="my" data-otp-enabled="false" >Malaysia (+60)</option> <option value="mv" data-otp-enabled="false" >Maldives (+960)</option> <option value="ml" data-otp-enabled="false" >Mali (+223)</option> <option value="mt" data-otp-enabled="false" >Malta (+356)</option> <option value="mq" data-otp-enabled="false" >Martinique (+596)</option> <option value="mr" data-otp-enabled="false" >Mauritania (+222)</option> <option value="mu" data-otp-enabled="false" >Mauritius (+230)</option> <option value="mx" data-otp-enabled="false" >Mexico (+52)</option> <option value="mc" data-otp-enabled="false" >Monaco (+377)</option> <option value="mn" data-otp-enabled="false" >Mongolia (+976)</option> <option value="me" data-otp-enabled="false" >Montenegro (+382)</option> <option value="ms" data-otp-enabled="false" >Montserrat (+1)</option> <option value="ma" data-otp-enabled="false" >Morocco/Western Sahara (+212)</option> <option value="mz" data-otp-enabled="false" >Mozambique (+258)</option> <option value="na" data-otp-enabled="false" >Namibia (+264)</option> <option value="np" data-otp-enabled="false" >Nepal (+977)</option> <option value="nl" data-otp-enabled="false" >Netherlands (+31)</option> <option value="nz" data-otp-enabled="false" >New Zealand (+64)</option> <option value="ni" data-otp-enabled="false" >Nicaragua (+505)</option> <option value="ne" data-otp-enabled="false" >Niger (+227)</option> <option value="ng" data-otp-enabled="false" >Nigeria (+234)</option> <option value="no" data-otp-enabled="false" >Norway (+47)</option> <option value="om" data-otp-enabled="false" >Oman (+968)</option> <option value="pk" data-otp-enabled="false" >Pakistan (+92)</option> <option value="ps" data-otp-enabled="false" >Palestinian Territory (+970)</option> <option value="pa" data-otp-enabled="false" >Panama (+507)</option> <option value="py" data-otp-enabled="false" >Paraguay (+595)</option> <option value="pe" data-otp-enabled="false" >Peru (+51)</option> <option value="ph" data-otp-enabled="false" >Philippines (+63)</option> <option value="pl" data-otp-enabled="false" >Poland (+48)</option> <option value="pt" data-otp-enabled="false" >Portugal (+351)</option> <option value="pr" data-otp-enabled="false" >Puerto Rico (+1)</option> <option value="qa" data-otp-enabled="false" >Qatar (+974)</option> <option value="re" data-otp-enabled="false" >Reunion/Mayotte (+262)</option> <option value="ro" data-otp-enabled="false" >Romania (+40)</option> <option value="ru" data-otp-enabled="false" >Russia/Kazakhstan (+7)</option> <option value="rw" data-otp-enabled="false" >Rwanda (+250)</option> <option value="ws" data-otp-enabled="false" >Samoa (+685)</option> <option value="sm" data-otp-enabled="false" >San Marino (+378)</option> <option value="sa" data-otp-enabled="false" >Saudi Arabia (+966)</option> <option value="sn" data-otp-enabled="false" >Senegal (+221)</option> <option value="rs" data-otp-enabled="false" >Serbia (+381)</option> <option value="sc" data-otp-enabled="false" >Seychelles (+248)</option> <option value="sl" data-otp-enabled="false" >Sierra Leone (+232)</option> <option value="sg" data-otp-enabled="false" >Singapore (+65)</option> <option value="sk" data-otp-enabled="false" >Slovakia (+421)</option> <option value="si" data-otp-enabled="false" >Slovenia (+386)</option> <option value="za" data-otp-enabled="false" >South Africa (+27)</option> <option value="es" data-otp-enabled="false" >Spain (+34)</option> <option value="lk" data-otp-enabled="false" >Sri Lanka (+94)</option> <option value="kn" data-otp-enabled="false" >St Kitts and Nevis (+1)</option> <option value="lc" data-otp-enabled="false" >St Lucia (+1)</option> <option value="vc" data-otp-enabled="false" >St Vincent Grenadines (+1)</option> <option value="sd" data-otp-enabled="false" >Sudan (+249)</option> <option value="sr" data-otp-enabled="false" >Suriname (+597)</option> <option value="sz" data-otp-enabled="false" >Swaziland (+268)</option> <option value="se" data-otp-enabled="false" >Sweden (+46)</option> <option value="ch" data-otp-enabled="false" >Switzerland (+41)</option> <option value="tw" data-otp-enabled="false" >Taiwan (+886)</option> <option value="tj" data-otp-enabled="false" >Tajikistan (+992)</option> <option value="tz" data-otp-enabled="false" >Tanzania (+255)</option> <option value="th" data-otp-enabled="false" >Thailand (+66)</option> <option value="tg" data-otp-enabled="false" >Togo (+228)</option> <option value="to" data-otp-enabled="false" >Tonga (+676)</option> <option value="tt" data-otp-enabled="false" >Trinidad and Tobago (+1)</option> <option value="tn" data-otp-enabled="false" >Tunisia (+216)</option> <option value="tr" data-otp-enabled="false" >Turkey (+90)</option> <option value="tc" data-otp-enabled="false" >Turks and Caicos Islands (+1)</option> <option value="ug" data-otp-enabled="false" >Uganda (+256)</option> <option value="ua" data-otp-enabled="false" >Ukraine (+380)</option> <option value="ae" data-otp-enabled="false" >United Arab Emirates (+971)</option> <option value="gb" data-otp-enabled="false" >United Kingdom (+44)</option> <option value="us" data-otp-enabled="false" selected>United States (+1)</option> <option value="uy" data-otp-enabled="false" >Uruguay (+598)</option> <option value="uz" data-otp-enabled="false" >Uzbekistan (+998)</option> <option value="ve" data-otp-enabled="false" >Venezuela (+58)</option> <option value="vn" data-otp-enabled="false" >Vietnam (+84)</option> <option value="vg" data-otp-enabled="false" >Virgin Islands, British (+1)</option> <option value="vi" data-otp-enabled="false" >Virgin Islands, U.S. (+1)</option> <option value="ye" data-otp-enabled="false" >Yemen (+967)</option> <option value="zm" data-otp-enabled="false" >Zambia (+260)</option> <option value="zw" data-otp-enabled="false" >Zimbabwe (+263)</option></select> </div> <label for="phone-number">Phone number:</label> <input name="phone_number" id="phone-number" type="text" class="prepend full-width" data-js-hook="sms-notification-field"> <div class="sms-atl-error" id="sms-atl-error"></div> <div class="clearfix"></div> <div class="opt-container-section" id="otp-container" style="display:none"> <a href="#" id="btn-subcriber-change-number">Change number</a> <label for="otp">Enter OTP:</label> <input name="otp" id="otp" type="text" class="prepend full-width"> <p id="timer">Resend OTP in: <span id="countdown">30</span> seconds </p> <p id="resend"> Didn't receive the OTP? <a href="#" id="resend-otp-btn" >Resend OTP </a> </p> </div> </div> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value="Subscribe via Text Message" class="flat-button full-width g-recaptcha" id="subscribe-btn-sms" data-disabled-text="Subscribing..." data-sitekey=6LcH-b0UAAAAACVQtMb14LBhflMA9y0Nmu7l_W6d data-callback="submitNewSmsSubscriber" data-error-callback="smsSubscriberCaptchaError"> <div class="terms_and_privacy_information bottom small">Message and data rates may apply. By subscribing you agree to the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/product-specific-terms#statuspage-specific-terms">Terms of Service</a>, and the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>. This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section slack" id="updates-dropdown-slack" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-slack-btn"> <div class="directions"> Get incident updates and maintenance status messages in Slack. </div> <a value="Subscribe via Slack" class="flat-button full-width" id="subscribe-btn-slack" data-disabled-text="Subscribing..." data-revert-on-success="true" style="margin-top:.75rem" href="https://subscriptions.statuspage.io/slack_authentication/kickoff?page_code=w4cz49tckxhp">Subscribe via Slack</a> <div class="terms_and_privacy_information bottom small">By subscribing you agree to the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/cloud-terms-of-service">Cloud Terms of Service</a> and acknowledge Atlassian's <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>.</div> </div> <div class="updates-dropdown-section twitter" id="updates-dropdown-twitter" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-twitter-btn"> <a href="https://twitter.com/DOStatus" class="twitter-follow-button" data-show-count="false" data-show-screen-name="true" data-width="59px">Follow @DOStatus</a> or&nbsp; <a href="https://twitter.com/DOStatus" target="_blank">view our profile</a>. <style> .twitter-follow-button { margin-bottom: -6px; } </style> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> </div> <div class="updates-dropdown-section support" id="updates-dropdown-support" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-support-btn"> Visit our <a target="_blank" href="http://www.digitalocean.com/support">support site</a>. </div> <div class="updates-dropdown-section atom" id="updates-dropdown-atom" role="tabpanel" aria-labelledby="updates-dropdown-atom-btn"> Get the <a href="https://status.digitalocean.com/history.atom" target="_blank">Atom Feed</a> or <a href="https://status.digitalocean.com/history.rss" target="_blank">RSS Feed</a>. </div> </div> </div> </div> <script> $(function () { const phoneNumberInput = $('#phone-number'); const errorDiv = $('#sms-atl-error') if(errorDiv.length){ function checkSelectedCountry() { const selectedCountry = $('#phone-country').val(); const isOtpEnabled = $('#phone-number-country-code').attr('data-otp-enabled') === 'true'; const form = document.getElementById('subscribe-form-sms'); form.action = '/subscriptions/new-sms'; const isOtpFlow = document.getElementById('otp_verify_flow'); document.getElementById('otp-container').style.display = "none"; if(false && selectedCountry === 'sg') { // Replace 'SG' with the actual value representing Singapore in your select tag phoneNumberInput.prop('disabled', true); errorDiv.html(`Due to new Singapore government regulations, we're currently not supporting text subscriptions in Singapore.<a href="https://community.atlassian.com/t5/Statuspage-articles/Attention-SMS-notifications-will-be-disabled-on-August-1st-2023/ba-p/2424398" target="_blank"> Learn more.</a> <br> Select another method to subscribe.`); } else { phoneNumberInput.prop('readonly', false); errorDiv.html(''); if(false){ if(isOtpEnabled){ document.getElementById('subscribe-btn-sms').value = "Send OTP"; } else { isOtpFlow.value = false; document.getElementById('subscribe-btn-sms').value = "Subscribe via Text Message"; } } } } $('#phone-country').on('change', checkSelectedCountry); checkSelectedCountry(); } }); document.addEventListener('DOMContentLoaded', function() { const dropdown = document.querySelector('#phone-number-country-code .phone-country'); if (dropdown){ const wrapperDiv = document.getElementById('phone-number-country-code'); const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.setAttribute('data-otp-enabled', otpEnabled); dropdown.addEventListener('change', function() { const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.setAttribute('data-otp-enabled', otpEnabled); }); } }); var countdownTimer; var resendBtn = document.getElementById('resend'); var timer = document.getElementById('timer'); var form = document.getElementById('subscribe-form-sms'); var RESEND_TIMER = 30; $(function() { $('#subscribe-form-sms').on('ajax:success', function(e, data, status, xhr){ const form = this; const action = form.getAttribute('action'); if (data.type === 'success' && data.otp_flow === true) { document.getElementById('subscriber_code').value = data.subscriber_code document.getElementById('otp-container').style.display = "block"; $('#phone-number').prop('readonly', true); var display = document.getElementById('countdown'); disableResend(); startTimer(RESEND_TIMER, display) document.getElementById('subscribe-btn-sms').value = "Verify OTP and Subscribe"; document.getElementById('otp_verify_flow').value = true; form.action = '/subscriptions/verify-otp'; } else if (data.type === 'success' && action.includes('verify')){ document.getElementById('otp-container').style.display = "none"; $('#phone-number').val('').prop('readonly', false); $('#otp').val(''); document.getElementById('subscribe-btn-sms').value = "Send OTP"; document.getElementById('otp_verify_flow').value = false; form.action = '/subscriptions/new-sms'; SP.currentPage.updatesDropdown.hide(); } }); $("#btn-subcriber-change-number").on('click', () => { document.getElementById('otp-container').style.display = "none"; $('#phone-number').prop('readonly', false); document.getElementById('subscribe-btn-sms').value = "Send OTP"; form.action = '/subscriptions/new-sms'; return false }) $('#resend-otp-btn').on('click', function(e) { e.preventDefault(); let phoneNumber = $('#phone-number').val(); let countryCode = $('.phone-country').val(); $.ajax({ type: 'POST', url: "/subscriptions/new-sms", data: { phone_number: phoneNumber, phone_country: countryCode, type: 'resend' }, }).done(function(data) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); var display = document.getElementById('countdown'); disableResend(); timer.style.display = "none" if (data.type === 'success') { startTimer(RESEND_TIMER, display); } }) }); }) function startTimer(duration, display){ var timer = duration, seconds; clearInterval(countdownTimer); countdownTimer = setInterval(function () { seconds = parseInt(timer % 60, 10); display.textContent = seconds; if(--timer < 0){ enableResend(); clearInterval(countdownTimer); } }, 1000); disableResend(); } function enableResend(){ resendBtn.style.display = "block"; timer.style.display = "none" } function disableResend(){ resendBtn.style.display = "none"; timer.style.display = "block" } $(function() { $('#subscribe-form-email').on('submit', function() { var tokenField = document.getElementById('email-otp-token-field'); let page_code = "w4cz49tckxhp" let key = keyForEmailOtpToken($('#email').val(), page_code); tokenField.value = localStorage.getItem(key); }); }); var emailOtpCountdownTimer; var emailOtpResendBtn = document.getElementById('resend-email-otp'); var emailOtpTimer = document.getElementById('email-otp-timer'); var emailOtpForm = document.getElementById('subscribe-form-email'); var EMAIL_OTP_RESEND_TIMER = 600; $(function() { $('#subscribe-form-email').on('ajax:success', function(e, data, status, xhr){ const form = this; const action = form.getAttribute('action'); if (data.type === 'success' && data.email_otp_verify_flow === true) { document.getElementById('email-otp-container').style.display = "block"; var display = document.getElementById('email-otp-countdown'); display.textContent = EMAIL_OTP_RESEND_TIMER; disableEmailOtpResend(); startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display) document.getElementById('subscribe-btn-email').value = "Verify OTP and Subscribe"; document.getElementById('email_otp_verify_flow').value = true; form.action = '/subscriptions/verify-email-otp'; } else if (data.type === 'success' && action.includes('verify')){ let email = $('#email') let page_code = "w4cz49tckxhp" let key = keyForEmailOtpToken(email.val(), page_code); localStorage.setItem(key, data.email_otp_auth_token); document.getElementById('email-otp-container').style.display = "none"; email.val('').prop('readonly', false); $('#email-otp').val(''); document.getElementById('subscribe-btn-email').value = "Send OTP"; document.getElementById('email_otp_verify_flow').value = false; form.action = '/subscriptions/new-email'; SP.currentPage.updatesDropdown.hide(); } }); $('#resend-email-otp-btn').on('click', function(e) { e.preventDefault(); let email = $('#email').val(); $.ajax({ type: 'POST', url: "/subscriptions/new-email", data: { email: email }, }).done(function(data) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); if (data.type === 'success') { var display = document.getElementById('email-otp-countdown'); display.textContent = EMAIL_OTP_RESEND_TIMER; disableEmailOtpResend(); emailOtpTimer.style.display = "none" startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display); } }) }); }) function startEmailOtpTimer(duration, display){ var timer = duration, seconds; clearInterval(emailOtpCountdownTimer); emailOtpCountdownTimer = setInterval(function () { seconds = parseInt(timer, 10); display.textContent = seconds; if(--timer < 0){ enableEmailOtpResend(); clearInterval(emailOtpCountdownTimer); } }, 1000); disableEmailOtpResend(); } function enableEmailOtpResend(){ emailOtpResendBtn.style.display = "block"; emailOtpTimer.style.display = "none" } function disableEmailOtpResend(){ emailOtpResendBtn.style.display = "none"; emailOtpTimer.style.display = "block" } function keyForEmailOtpToken(email, pageCode) { return email + '|' + pageCode+ '|SUBSCRIBE_VIA_EMAIL'; } </script> </div> <div class="container"> <div class="page-status status-none"> <h2 class="status font-large"> All Systems Operational </h2> <span class="last-updated-stamp font-small"></span> </div> <div class="components-section font-regular"> <div class="components-container one-column"> <div class="component-container border-color"> <div data-component-id="p1x9rv4137gx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> API </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="xbsdwfbb4xx0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Billing </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="czck17wcspr5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Cloud Control Panel </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="pg9zc33244c7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Cloud Firewall </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="2p17zg8kmsyc" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Community </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="qdnryq0lymfk" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> DNS </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="hklgsphcrjq4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Support Center </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="yvh4g97h7mk7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Reserved IP </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="30fq20d840t8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> WWW </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="br95fz33h6td" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> GenAI Platform </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="jjs48vwjlqjr" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle App Platform" tabindex="0"></span> <span> App Platform </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="txysr8r0gn1n" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="65brl8m428rn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Amsterdam </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="1c2vrfy9qbvv" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Bangalore </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ttzvwy2wf0k3" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Frankfurt </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="56cjsvgf3vk4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> London </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="fkf61qj12vby" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> New York </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dn73yck15rk9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> San Francisco </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="m9ky4d5d3q4g" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Singapore </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="sz7nt917qrd8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Sydney </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="wzgnsrflzlr5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Toronto </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="nmb3bbtqfgsj" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Container Registry" tabindex="0"></span> <span> Container Registry </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="3xz669qnng8n" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="glhj9rkw3mp8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ggjq7y0mqt4y" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="sk01cyydqy7b" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="hnqx47tg75cw" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="8pntc51v5prb" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="zfnbgvbvc6bd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="k3xwyjfy34vw" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="7z4k9k6wgbsq" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="4rgs7bbljl8d" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Droplets" tabindex="0"></span> <span> Droplets </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="dkbfnt2ghbw4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="y8xkcw7m31k5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="9q2dq7jc5bk9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5wjrpc0lf1qc" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="kkg2cfkqkwj1" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="btv040v4xbdn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="fb63qt9f69m0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="9czvz44l7dp3" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="mrdxgk8b9l9m" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="86hpqb7crkzg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="d28g0q5tjlnf" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2zv8zdysz98p" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="kvrtqsmcph72" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="fp3yv6vdqkxt" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="h4ktbyxsxssg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="b3tklvcyzvh0" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Event Processing" tabindex="0"></span> <span> Event Processing </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="558h1l1q0c2w" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="vdkgf4mssd93" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="nz589c69ymyy" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ytggjm2hdb5y" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dzbtk2fkytv5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="062037558j7d" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="t2sr3808q4ry" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="f61lqt7r9fg5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ty601myjf6cj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="txy6938s4dhq" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="sczx6qbs36ps" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="pp8pv57fs5f4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="crftxywml4sx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="sf15v29bzqg2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="myqfd21mmbh9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="q6r6dg0ss2js" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Functions" tabindex="0"></span> <span> Functions </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="k96xfyczckzw" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ld7120hh6877" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="8lq3tm0cbjbs" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="pxjg9r3mkxn7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="t5yvzbwj9snn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="py0tr7dkb36t" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="d1cvx1qj7f1n" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="snksf5q3gbx9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="rm6mtm25jj2d" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="d3j48w1r55sx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="hz17hg2dwjj5" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle GPU Droplets" tabindex="0"></span> <span> GPU Droplets </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="q2c5475x69cz" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2m55tfz8n656" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="r5sr0pyxn1kb" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="kl8qv98c9brp" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Managed Databases" tabindex="0"></span> <span> Managed Databases </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="mzkgffp35tq4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="msbt8b9p1p0q" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ttltt91ldz3g" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="l8lxzfpgpc39" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="79j9sw2l27cv" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="d2m7jh32j7z1" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="vzxxv27h45m4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="gt78t0v1dx9k" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="qkrqphz8r8d0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2cvhn89gxfk8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="29xvj6jck5fm" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="y24751gr0df8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5v01jvb2gwjz" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="2d23wwyqgq6m" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Monitoring" tabindex="0"></span> <span> Monitoring </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="yht2qc1zfp6x" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dv1m7pg1ckqb" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="m0tnfvx7md2x" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="bkv5k5hnlg3q" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="tf7m45473hzd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="chy7qdrqy3tn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="kgt6s4ckl9fh" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="sdv7rfbf2w42" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="grxx637rqt5r" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="sr3cry87tnkr" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="6492wj01735w" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="vb0g5n4m2d59" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="w2pchvqc4918" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="pg1cc9tbfdlg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="kjmh0ndx26zf" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="sjlhrm4vf4pr" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Networking" tabindex="0"></span> <span> Networking </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="5rzxjrq10gb2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="6qd0crrqlstj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="4q7lkrddxdnn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="lmgn764lq04q" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="7f592f0nhxhs" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="rwfv6j4jpn2y" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dhcf7lpc5q3z" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="r2cw20w0r9zx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="4lc0zwg56npx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="btbzvrcdfjb3" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="r59jnkcnpy5w" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="pkldx6th5q38" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="4yq3sg5wrzx2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="pvrxw08f1wxj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="3hwkzd3pqd0p" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="gb3gs5vj7js2" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Kubernetes" tabindex="0"></span> <span> Kubernetes </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="ljktrzzffk6j" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="xmrt3s9p9lw7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="tzjfd82zn341" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="566bp0vk7mwx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ymz9qzqj9rxv" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="jzv4wms5qc33" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dzkmyxfh1rf0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="83tzdysp693h" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="s9txl6g88v1z" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2d91fg0js59k" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="q9wrfk6yn5m8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="xr6mrvgw7q9c" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="jg6pzd84p7bn" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Load Balancers" tabindex="0"></span> <span> Load Balancers </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="ctwhml01vvw1" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="q332gmv27njg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="k3lz9cdfxr5h" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="76vqxw3xnwh9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2tfqdy27151t" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dthxlw365zmm" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2vpzq3ytx996" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="12w0d51pyjvh" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="x94k17yvyvj7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="40f2th6p044g" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="qpfd9tcp5dp7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="9mrvzmdgkksr" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="k0svklf2hmb4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="xmjmwjbpgls5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="3k1h85kh76zy" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="fdg768pfw7v3" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Spaces" tabindex="0"></span> <span> Spaces </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="nkx0nmdx9vrs" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="z2cshz8pdgwj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="66wjtpd8ngvx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="tz43j53blsmy" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="w4m98sdz3szn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="lf2rrgctn54t" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="rf1h8gfz4ts6" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="bpchszdrvvc5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="b44h3yhj3jy5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="0fycrqvyvqf3" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Spaces CDN" tabindex="0"></span> <span> Spaces CDN </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="8cp93lvtlh32" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="vpsyj9648bv2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="gpcbys3n2v21" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ydgcz5twlr1m" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5108wr792q5m" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="23yr3tv35ld7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="mv6lb3084t43" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="0m9zj5r96xhd" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle VPC" tabindex="0"></span> <span> VPC </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="kwqnp70p9wjy" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ky2s2vlsjl0y" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="v5b8dj1kl3rh" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="x111j8zrmwrd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="jd3kx416ss80" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="vsnnjcmt3dhg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="tvs6bwzfdc2j" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="rpk174pnyr42" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="4945q9my8ycl" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="lwvmstkg3yv6" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dchd0yhfsf7p" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ldccrdgw9kp7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2ldq149jd2pd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="gsc07xtmzx06" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="0hdtqm5v59fk" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="hjz5ry9b7nl6" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Volumes" tabindex="0"></span> <span> Volumes </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="g8rttgsgxr37" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Global </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="spjc09zjy5ms" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="p2nsvdxf7vjp" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AMS3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="6xz356g340vj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> BLR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="8zd85sg0nhnc" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> FRA1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ffghd7w93zbw" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LON1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="p4l05gv4bg18" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="hlr2gdtmpmxs" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="fkzl92xwpwc9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NYC3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="b9n6frtjqnzm" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="j92cs7vmnhnc" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO2 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="kzjfhwmlkw4b" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SFO3 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="q7b6ftmzs9m9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SGP1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="4q7xqwryx8rd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SYD1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="1ftd3qnspsx6" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> TOR1 </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> </div> <div class="component-statuses-legend font-small"> <div class="legend-item status-green"> <span class="icon-indicator fa fa-check"></span> Operational </div> <div class="legend-item status-yellow"> <span class="icon-indicator fa fa-minus-square"></span> Degraded Performance </div> <div class="legend-item status-orange"> <span class="icon-indicator fa fa-exclamation-triangle"></span> Partial Outage </div> <div class="breaker"></div> <div class="legend-item status-red"> <span class="icon-indicator fa fa-times"></span> Major Outage </div> <div class="legend-item status-blue"> <span class="icon-indicator fa fa-wrench"></span> Maintenance </div> </div> </div> <div class="incidents-list format-expanded"> <h2 class="font-largest no-link" id="past-incidents">Past Incidents</h2> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Apr <var data-var="date">10</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported today.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Apr <var data-var="date"> 9</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Apr <var data-var="date"> 8</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-maintenance font-large"> <a class="whitespace-pre-wrap" href="/incidents/0mnfmcry6qdt">LON1 Network Maintenance</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular completed"> <strong>Completed</strong> - <span class="whitespace-pre-wrap">The scheduled maintenance for our core networking infrastructure in the LON1 region, originally planned for April 8, 2025, from 20:00 UTC to 23:00 UTC, has been cancelled. No changes will be made at this time, and all services will continue to operate as usual.<br /><br />We will provide an update when this maintenance has a new confirmed date. If you have any questions, please reach out to our support team via Cloud Support.<br /><br />Thank you for your understanding.</span> <br> <small> Apr <var data-var='date'> 8</var>, <var data-var='time'>18:51</var> UTC </small> </div> <div class="update font-regular scheduled"> <strong>Scheduled</strong> - <span class="whitespace-pre-wrap">Start: 2025-04-08 20:00 UTC<br />End: 2025-04-08 23:00 UTC<br /><br />During the above window, our Networking team will be making changes to the core networking infrastructure to improve performance and scalability in the LON1 region.<br /><br />Expected impact:<br /><br />During the maintenance window, users may experience delays or failures with event processing for a brief duration on Droplets and Droplet-based services, including Droplets, Managed Kubernetes, Load Balancers, Container Registry, and App Platform. We will endeavor to keep this to a minimum for the duration of the change.<br /><br />If you have any questions related to this issue, please send us a ticket from your cloud support page. <a target="_blank" href="https://cloudsupport.digitalocean.com/s/createticket">https://cloudsupport.digitalocean.com/s/createticket</a></span> <br> <small> Mar <var data-var='date'>30</var>, <var data-var='time'>20:29</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Apr <var data-var="date"> 7</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Apr <var data-var="date"> 6</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/fz0wy87t17j0">Mongo 8 Database Creation</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">Our Engineering team has resolved the issue affecting Mongo 8 Database operations. Users should be able to create new Mongo 8 Databases, and other operations such as upgrading, scaling, and forking should complete successfully now. <br /><br />If you continue to experience problems, please open a ticket with our support team. We apologize for any inconvenience.</span> <br> <small> Apr <var data-var='date'> 6</var>, <var data-var='time'>01:01</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Our Engineering team is actively investigating the issue affecting Mongo 8 Database operations. <br /><br />We apologize for the continued inconvenience. We will provide additional updates as soon as more information becomes available.</span> <br> <small> Apr <var data-var='date'> 5</var>, <var data-var='time'>22:01</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Our Engineering team is continuing to investigate the cause of the issue with Mongo 8 Database creation in our AMS3 region and is taking action to resolve this issue. In addition to the database creation, users may see failures when scaling the instance or performing any control plane operations.<br /><br />We will continue to share updates as soon as we have new information.</span> <br> <small> Apr <var data-var='date'> 5</var>, <var data-var='time'>19:54</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">Our Engineering team is investigating an issue with Mongo 8 database creation in the AMS3 region. At this time, users may experience errors while attempting to create a new Mongo 8 database instance in the AMS3 region.<br /><br />We apologize for the inconvenience and will provide another update as soon as possible.</span> <br> <small> Apr <var data-var='date'> 5</var>, <var data-var='time'>16:52</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Apr <var data-var="date"> 5</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/6rmd4yq0jlxf">Networking in LON1 Region</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">Our Engineering team has confirmed the full resolution of the networking issue affecting the LON1 region. Users should be able to access all resources without any issues.<br /><br />If you continue to experience problems, please open a ticket with our support team. We apologize for any inconvenience.</span> <br> <small> Apr <var data-var='date'> 5</var>, <var data-var='time'>13:59</var> UTC </small> </div> <div class="update font-regular monitoring"> <strong>Monitoring</strong> - <span class="whitespace-pre-wrap">Our Engineering team made routing changes to remediate the networking issue due to an impact by an upstream provider and confirmed that it has successfully mitigated the connectivity issues in the LON1 region. Users should not be seeing any issues with networking in the LON1 region. <br /><br />We will monitor this incident for a short period to confirm full resolution.</span> <br> <small> Apr <var data-var='date'> 5</var>, <var data-var='time'>13:35</var> UTC </small> </div> <div class="update font-regular identified"> <strong>Identified</strong> - <span class="whitespace-pre-wrap">Our Engineering team has identified the cause and applied a fix to mitigate the connectivity issue impacting the entire LON1 region. Users should be seeing improvements in reaching their resources in the LON1 region. <br /><br />We'll continue to monitor the situation to confirm this incident is fully resolved and will post an update soon.</span> <br> <small> Apr <var data-var='date'> 5</var>, <var data-var='time'>12:45</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">Our Engineering team is currently investigating an issue impacting networking in the LON1 region. Users may experience network connectivity loss to the resources residing in this region.<br /><br />We apologize for the inconvenience and will share an update once we have more information.</span> <br> <small> Apr <var data-var='date'> 5</var>, <var data-var='time'>12:17</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Apr <var data-var="date"> 4</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Apr <var data-var="date"> 3</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/q07s549x72cy">GenAI Platform</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">Our Engineering team has implemented a fix to resolve the issue with creating certain GenAI Platform agents. Users should now be able to create OpenAI and Llama 3.1 8B agents without issue. <br /><br />If you continue to experience any problems, please reach out to our support team by opening a ticket from within your Cloud Control Panel.</span> <br> <small> Apr <var data-var='date'> 3</var>, <var data-var='time'>23:10</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">Our Engineering team is investigating an issue affecting GenAI Platform. The GenAI platform is seeing errors creating agents with certain LLMs, specifically OpenAI and Llama 3.1 8B. The user is shown an agreement checkbox even though they have already accepted the agreement. If they try to accept the agreement, they will be thrown an error and prevented from creating the agent.<br /><br />We apologize for the inconvenience, we will share an update once we have more information.</span> <br> <small> Apr <var data-var='date'> 3</var>, <var data-var='time'>21:06</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Apr <var data-var="date"> 2</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/kpgl9791smng">GenAI Platform Agent</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">Our Engineering Team has implemented a fix to resolve the issues impacting GenAI platform agents. They have also confirmed that the issue has been fully resolved. Now, customers should be able to view and update their GenAI platform agents in the console. <br /><br />If you continue to experience any problems, please reach out to our support team by opening a ticket from within your Cloud Control Panel.</span> <br> <small> Apr <var data-var='date'> 2</var>, <var data-var='time'>04:46</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">Our Engineering Team is currently investigating an issue where some customers are unable to view their GenAI platform agent in the console. As a result, they are also unable to update their agent via the console. We are working to determine which types of agents are affected, including whether newly created agents are impacted.<br /><br />We apologize for the inconvenience and will provide another update as soon as possible.</span> <br> <small> Apr <var data-var='date'> 2</var>, <var data-var='time'>03:26</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Apr <var data-var="date"> 1</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date">31</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/7sr4m44gd75l">Managed Databases creation</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">From 00:13 UTC to 9:09 UTC, users may have experienced errors when attempting to create Managed Database Caching Clusters.<br /><br />Our Engineering team has confirmed the full resolution of the issue. Users should now be able to create Caching clusters normally.<br /><br />If you continue to experience issues, please open a support ticket from your Cloud Control Panel.</span> <br> <small> Mar <var data-var='date'>31</var>, <var data-var='time'>09:30</var> UTC </small> </div> <div class="update font-regular monitoring"> <strong>Monitoring</strong> - <span class="whitespace-pre-wrap">Our Engineering team has implemented a fix to resolve the issues impacting the creation of Managed Database Clusters.<br /><br />Users should no longer see any errors while creating a Caching Database Cluster. <br /><br />We are actively monitoring the situation and will post an update as soon as the issue is fully resolved.</span> <br> <small> Mar <var data-var='date'>31</var>, <var data-var='time'>07:58</var> UTC </small> </div> <div class="update font-regular identified"> <strong>Identified</strong> - <span class="whitespace-pre-wrap">Our Engineering team has identified the root cause of the issue affecting the creation of Managed Database Clusters and is actively working on a fix.<br /><br />Users who already have a Caching Database Cluster in their account should be able to create a new Cluster. During this time, users without an existing caching cluster in their account may still see an error while creating a new cluster.<br /><br />We apologize for the inconvenience and will provide another update as soon as possible.</span> <br> <small> Mar <var data-var='date'>31</var>, <var data-var='time'>05:41</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">As of 00:13 UTC, our Engineering team is investigating an issue with creating Managed Database clusters.<br /><br />During this time, users may face issues creating caching clusters.<br /><br />We apologize for the inconvenience and will share an update once we have more information.</span> <br> <small> Mar <var data-var='date'>31</var>, <var data-var='time'>04:09</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">30</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date">29</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-none font-large"> <a class="whitespace-pre-wrap" href="/incidents/ykgb52dj1wy2">Cloud Control Panel and API</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">From 23:31 to 23:46 UTC, users may have experienced errors when trying to use the API or while accessing our Cloud Control Panel at <a target="_blank" href="https://cloud.digitalocean.com">https://cloud.digitalocean.com</a>. CRUD operations for all products would have been unavailable, but deployed services continue running without issue.<br /><br />Our Engineering team has implemented a fix and confirmed full resolution of the issue. Users should be able to access the API and Cloud Control Panel without issue now.<br /><br />If you continue to experience problems, please open a ticket with our support team. We apologize for any inconvenience.</span> <br> <small> Mar <var data-var='date'>29</var>, <var data-var='time'>00:01</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">28</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date">27</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/n1thbjvytfqw">Cloud Control Panel and API</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">Beginning at 17:56 UTC, users experienced issues with the using the Cloud Control Panel and the API. By 18:10 UTC, we started seeing signs of recovery and users would've been able to access the Cloud Control and API normally. <br /><br />We noticed a brief recurrence of the issue at 18:58 UTC in which users would've experienced latency, with recovery starting at around 19:02 UTC. <br /><br />At 19:02 UTC, our Engineering team has confirmed full resolution of the issue, the Cloud Control Panel and the API should be functioning normally now. <br /><br />If you continue to experience problems, please open a ticket with our support team. We apologize for any inconvenience.</span> <br> <small> Mar <var data-var='date'>27</var>, <var data-var='time'>20:48</var> UTC </small> </div> <div class="update font-regular monitoring"> <strong>Monitoring</strong> - <span class="whitespace-pre-wrap">Our Engineering team has implemented a fix regarding the issue impacting our Cloud Control Panel and API. We are monitoring the situation to ensure there is no recurrence.<br /><br />We will post another update once we confirm the issue is fully resolved.</span> <br> <small> Mar <var data-var='date'>27</var>, <var data-var='time'>19:34</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Our Engineering team observed a recurrence of this issue from 18:58 to 19:02 UTC. During that time, API requests and navigating the Cloud Control Panel would have failed/experienced latency. As of 19:02 UTC, users should be able to access services normally, but until our team has confirmed a full resolution, there may be periods of instability.<br /><br />Our team is looking into this issue further and we will share an update as soon as we have more information.</span> <br> <small> Mar <var data-var='date'>27</var>, <var data-var='time'>19:11</var> UTC </small> </div> <div class="update font-regular identified"> <strong>Identified</strong> - <span class="whitespace-pre-wrap">As of 18:10 UTC, our Engineering team has identified the cause of the issue impacting our Cloud Control Panel and API to be a backend deployment and has rolled back the breaking change. We are already seeing signs of recovery, and users should now have access to the Cloud Control Panel and API.<br /><br />We will post an update as soon as additional information is available.</span> <br> <small> Mar <var data-var='date'>27</var>, <var data-var='time'>18:27</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">As of 17:56 UTC, our Engineering team is investigating an issue impacting our Cloud Control Panel and API.<br /><br />During this time, users will experience errors when trying to use the public API at api.digitalocean.com or while accessing our Cloud Control Panel at <a target="_blank" href="https://cloud.digitalocean.com">https://cloud.digitalocean.com</a>. <br /><br />We are now confirming the full impact. We regret any inconvenience and will let you know as soon as more information is available.</span> <br> <small> Mar <var data-var='date'>27</var>, <var data-var='time'>18:07</var> UTC </small> </div> </div> </div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/r22g7bhs316q">Managed Databases Metrics</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">Our Engineering team has confirmed the full resolution of the issue affecting database engine metrics in the Cloud Control Panel for Managed Databases.<br /><br />Users with PostgreSQL, MySQL, Kafka, OpenSearch, or Caching database clusters should now be able to see the metrics.<br /><br />Thank you for your patience, and we apologize for any inconvenience. If you continue to experience any issues, please open a Support ticket right away.</span> <br> <small> Mar <var data-var='date'>27</var>, <var data-var='time'>16:31</var> UTC </small> </div> <div class="update font-regular monitoring"> <strong>Monitoring</strong> - <span class="whitespace-pre-wrap">Our Engineering team continues to monitor the issue affecting Database Engine metrics in the Cloud Control Panel for Managed Databases. The impact is mitigated and we are rolling out the update gradually during scheduled maintenance windows to avoid disruptions. <br /><br />We will post another update once we confirm the full resolution. We apologize for the inconvenience and will share an update once we have more information.</span> <br> <small> Mar <var data-var='date'>27</var>, <var data-var='time'>05:44</var> UTC </small> </div> <div class="update font-regular identified"> <strong>Identified</strong> - <span class="whitespace-pre-wrap">Our Engineering team has identified and is currently repairing an issue affecting database engine metrics in the Cloud Control Panel for Managed Databases.<br /><br />Users with PostgreSQL, MySQL, Kafka, OpenSearch, or Caching database clusters may be unable to see metrics. Mongo database clusters are not impacted. Additionally, storage metrics and alerts are not impacted and continue to function normally.<br /><br />While we are working to correct this issue as quickly as possible, we anticipate that a resolution will take multiple days. We will post an update once we have a more definite ETA or additional information becomes available.<br /><br />We apologize for the inconvenience. If you have any questions, please feel free to reach out to our Support team from within your account.</span> <br> <small> Mar <var data-var='date'>26</var>, <var data-var='time'>22:24</var> UTC </small> </div> </div> </div> </div> </div> <div class="page-footer border-color font-small"> <a href="/history" class="history-footer-link"><span style="font-family:arial">&larr;</span> Incident History</a> <span class="color-secondary powered-by"><a class="color-secondary" target="_blank" rel="noopener noreferrer nofollow" href="https://www.atlassian.com/software/statuspage?utm_campaign=status.digitalocean.com&amp;utm_content=SP-notifications&amp;utm_medium=powered-by&amp;utm_source=inapp">Powered by Atlassian Statuspage</a></span> </div> </div> <div class="custom-footer-container"> <div class="footer-links"> <a href="https://www.digitalocean.com">DigitalOcean Home</a> <a href="https://developers.digitalocean.com/documentation/v2/">API Docs</a> <a href="https://www.digitalocean.com/community/">Community</a> </div> <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.6/cookieconsent.min.css" /> <script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.6/cookieconsent.min.js"></script> <style> .cc-window {font-family: proxima-nova, 'proxima nova', 'helvetica neue', helvetica, arial, sans-serif; font-size: 13px; line-height: 17px} .cc-bottom {bottom: 20px} .cc-right {right: 20px} .cc-window a {text-decoration: none} .cc-window.cc-floating {max-width: 461px; padding: 20px 35px 20px 20px;} .cc-floating .cc-message {margin-bottom: 0;} .cc-floating .cc-message a {color: #0069ff;} .cc-message .cc-compliance {position: absolute; top: 5px; right: 0; font-weight: bold; font-size: 15px;} .cc-message .cc-compliance .cc-btn {border-width: 0; color: #999;} .cc-message + .cc-compliance {display: none;} @media only screen and (min-width: 420px) { .cc-window {font-size: 14px; line-height: 20px; border-radius: 4px;} .cc-message .cc-compliance {top: 1px; right: 1px;} } </style> <script> (function () { if(typeof window.CustomEvent === 'function') { return false; } function CustomEvent(event, params) { params = params || { bubbles: false, cancelable: false, detail: undefined }; var evt = document.createEvent( 'CustomEvent' ); evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail ); return evt; } CustomEvent.prototype = window.Event.prototype; window.CustomEvent = CustomEvent; })(); (function () { var TIMEOUT_INTERVAL = 5000; var SCROLL_RANGE = 20; function getCookie(name) { var value = "; " + document.cookie; var parts = value.split("; " + name + "="); if (parts.length == 2) return parts.pop().split(";").shift(); } function onCookieConsentStatusChange(status) { if(window.cookieconsent_status !== status) { window.cookieconsent_status = status; window.dispatchEvent(new CustomEvent('cookieconsent_statuschange', { detail: { status: status } })); } } function setCookie(status) { var expiresDate = new Date(); expiresDate.setFullYear(expiresDate.getFullYear() + 1); var cookie = [ 'cookieconsent_status=' + status, 'expires=' + expiresDate.toUTCString(), 'path=/', 'domain=.digitalocean.com' ]; document.cookie = cookie.join('; '); } function onDocumentClick(e) { var elt = e.target; while((elt = elt.parentElement) && !elt.classList.contains('cc-window')); if(!elt || e.target.classList.contains('cc-dismiss')) { onCookieConsentStatusChange('dismiss'); setCookie('dismiss'); document.body.removeEventListener('click', onDocumentClick); hideBannerOnDelay(); } } function onDocumentKeyUp(e) { if(e.which === 9) { onCookieConsentStatusChange('dismiss'); setCookie('dismiss'); document.body.removeEventListener('keyup', onDocumentKeyUp); hideBannerOnDelay(); } } function onWindowScroll() { if(window.pageYOffset > Math.floor(SCROLL_RANGE)) { onCookieConsentStatusChange('dismiss'); setCookie('dismiss'); window.removeEventListener('scroll', onWindowScroll); hideBannerOnDelay(); } } function hideBannerOnDelay() { var timeout = setTimeout(function() { document.querySelector('.cc-window .cc-message > .cc-compliance > .cc-dismiss').click(); clearTimeout(timeout); }, TIMEOUT_INTERVAL); } var cookieconsent_status = getCookie('cookieconsent_status'); if(cookieconsent_status && cookieconsent_status != 'deny') { window.addEventListener('DOMContentLoaded', function() { window.cookieconsent_status = cookieconsent_status; window.dispatchEvent(new CustomEvent('cookieconsent_statuschange', { detail: { status: cookieconsent_status} })); }); } else { window.addEventListener('load', function() { var timeout = setTimeout(function() { document.body.addEventListener('click', onDocumentClick); document.body.addEventListener('keyup', onDocumentKeyUp); window.addEventListener('scroll', onWindowScroll); clearTimeout(timeout); }, TIMEOUT_INTERVAL); }); window.addEventListener('DOMContentLoaded', function() { window.cookieconsent.initialise({ palette: { popup: { background: 'rgba(243,245,249,0.94)', text: '#4a4a4a' } }, position: 'bottom-right', elements: { message: '<div class="cc-message">We use cookies to provide our services and for analytics and marketing. To find out more about our use of cookies and how you can disable them, please see our <a aria-label="DigitalOcean Privacy Policy" role="button" tabindex="0" target="_blank" href="https://www.digitalocean.com/legal/privacy/">Privacy Policy</a>. By continuing to browse our website, you agree to our use of cookies.<div class="cc-compliance"><a aria-label="dismiss cookie message" role="button" tabindex="0" class="cc-btn cc-dismiss">✕</a></div></div>' }, showLink: false, cookie: { domain: '.digitalocean.com', expiryDays: '-1' }, onStatusChange: function(status) { onCookieConsentStatusChange(status); } }); }); } })(); const incidentStates = [ 'investigating' , 'identified' , 'monitoring' , 'resolved' ]; $(function() { // Add the twitter button $('<a class="button twitter" href="https://twitter.com/dostatus" target="_blank">@dostatus</a>').appendTo('.updates-dropdown-container'); if ($('.status.incident').length == 1) { $('.components-affected').insertAfter('.page-title'); } if ($('.status.status-index').length == 1) { // Make the incident titles h3s and add links below the bodies $('.incident-container').each(function() { updateTitle($(this), 'h3', 'Incident Details'); }); $('.scheduled-maintenance').each(function() { $(this). children('.incident-title'). prepend('<div class="icon-indicator maintenance"></div>'); updateTitle($(this), 'h3', 'Maintenance Details'); }); // move the outage to the header $('.page-status').appendTo('#header-incidents-inner-container'); // move the incidents to the header $('.unresolved-incidents').appendTo('#header-incidents-inner-container').removeClass('unresolved-incidents'); // move the scheduled maintenance to the header $('.scheduled-maintenances-container').appendTo('#header-incidents-inner-container'); // set the border-radius on second group $('.component-container').attr('style','border-radius:3px !important'); // add the icon div $('.unresolved-incident').each(function() { var state; $(this).children('.updates').children('.update').each(function() { state = $(this). children('strong'). text(). toLowerCase(); if (incidentStates.indexOf(state) !== -1) { return false; } }); $(this). children('.incident-title'). prepend('<div class="icon-indicator '+state+'"></div>'); updateTitle($(this), 'h2', 'Incident Details'); }); // rename "Past Incidents" to "Status History" $('.incidents-list .font-largest').html('Status History'); // rename "Incident History" to "Show History" $('.history-footer-link').html('Show History') // weird opacity trick i'm doing don't touch $('.layout-content').css('opacity',1); } else { $('#header-incidents-outer-container').remove(); $('.custom-header-container').addClass('bottom-padded'); } }); function updateTitle(element, type, linkText) { var titleCont = element.children('.incident-title'); var link = titleCont.children('a:not(.subscribe)'); var title = link.html(); $('<'+type+' class="title">'+title+'</'+type+'>').prependTo(titleCont); link.html(linkText); link.removeClass('actual-title'). removeClass('with-ellipsis'). addClass('incident-details'); link.appendTo(element); } $(function() { $('.component-container').toggleClass('closed') }); // Regional services layout $('<div class="regional">').prependTo('.components-section') $('<br><br><h2 class="font-large">Regional Services Status</h2>').appendTo('.regional') $('.components-container').appendTo('.regional') // Global services layout $('<div class="global">').prependTo('.components-section') $('<h2 class="font-large">Global Services Status</h2>').appendTo('.global') $('.components-container').clone().appendTo('.global') // build layout table for global services with three rows var global_containers = $('.global > .components-container').find('.component-container'); global_containers.each(function(){ if($(this).find('.status-red').length || $(this).find('.status-yellow').length || $(this).find('.status-orange').length || $(this).find('.status-blue').length){ $(this).prependTo('.global > .components-container'); } if($(this).find('.child-components-container').length){ $(this).remove(); } }); $(function() { $('.components-container').toggleClass('one-column').toggleClass('three-columns') }); // build layout table for regional services var regional_containers = $('.regional > .components-container').find('.component-container'); regional_containers.each(function(){ if($(this).find('.status-red').length || $(this).find('.status-yellow').length || $(this).find('.status-orange').length || $(this).find('.status-blue').length){ $(this).find('.child-components-container > .component-inner-container').each(function(){ if(!$(this).hasClass('status-green')) { this.style.setProperty('background-color', 'rgba(243, 245, 249, 0.97)','important'); this.style.setProperty('margin-bottom', '0','important'); } }); $(this).prependTo('.regional > .components-container'); } if($(this).find('.child-components-container').length == 0){ $(this).remove(); } }) // remove uptime $(function() { $('.components-section > .components-uptime-link').remove(); }); // tooltips for status images in incident header $(function() { $('.icon-indicator.investigating').attr('title','Investigating'); $('.icon-indicator.identified').attr('title','Issue Identified'); $('.icon-indicator.monitoring').attr('title','Monitoring'); $('.icon-indicator.maintenance').attr('title','Maintenance'); }); // add aria-labels $(function() { $('.fa-check').attr('aria-label','Operational'); $('.fa-minus-square').attr('aria-label','Degraded Performance'); $('.fa-exclamation-triangle').attr('aria-label','Partial Outage'); $('.fa-times').attr('aria-label','Major Outage'); $('.fa-wrench').attr('aria-label','Maintenance'); $('.component-statuses-legend').attr('aria-label','Statuses Legend'); $('.container > .logo > img').attr('alt','DigitalOcean logo'); }); // spacer to visually separate main page legend $(function() { $('<span><hr></span>').prependTo('.container > .components-section > .component-statuses-legend'); }); // add legend to history page $(function() { if ($('[data-react-class=HistoryIndex]').length) { $('<br><fieldset class="impact-fieldset color-secondary"><legend class="impact-legend">Impact levels</legend><span class="do-critical">&bull; Critical </span><span class="do-major">&bull; Major </span><span class="do-minor">&bull; Minor </span><span class="do-maintenance">&bull; Maintenance </span><span>&bull; Retroactive </span></fieldset>').insertAfter('.pagination'); } }); // Filter button UX improvements function resetSelection() { $("input:checkbox").each(function() { if(this.checked == true) { this.click(); } }); } $(function() { if ($('[data-react-class=HistoryIndex]').length) { window.addEventListener('click', function(e) { if($(event.target).closest('.grouped-items-selector').length === 0 && $(event.target).closest('.component-selector').length === 0 && $(event.target).closest('.cc-window').length === 0 ){ if ($('.grouped-items-selector').length) { $('.component-selector > span').click(); e.stopImmediatePropagation(); } } else { if ($('.grouped-items-selector').length && !$('#reset-selection').length) { $('<div id="reset-selection" style="color: #666">&#160;&#160;- Clear selection</div>').prependTo('.grouped-items-selector'); $('#reset-selection').click(resetSelection); e.stopImmediatePropagation(); } } }); } }); $(function() { $('<span class="note">* Note: Incidents before May 10th, 2023 were backfilled and don\'t support the filter feature.</span>').prependTo('.months-container'); }); $(function() { if (/Android|iPhone/i.test(navigator.userAgent)) { $( '.component-container' ).each(function () { this.style.setProperty( 'width', '95%', 'important' ); }); } }); // Shorten header incident describtions function revealTruncated (incidentID) { let truncateDivName = "#truncate_" + incidentID; let expandLinkDivName = "#expand_" + incidentID; let truncateLink = "&#160;<a style='color:#3686be;' href='javascript:onclick=hideTruncated(\""+ incidentID +"\");'>[less]</a>&#160;" $(truncateDivName).css('display','inline'); $(expandLinkDivName).insertAfter(truncateDivName) $(expandLinkDivName).html(truncateLink); } function hideTruncated (incidentID) { let truncateDivName = "#truncate_" + incidentID; let expandLinkDivName = "#expand_" + incidentID; let truncateLink = "&#160;<a style='color:#3686be' href='javascript:onclick=revealTruncated(\"" + incidentID +"\");'>[...]</a>&#160;" $(truncateDivName).css('display','None'); $(expandLinkDivName).insertBefore(truncateDivName) $(expandLinkDivName).html(truncateLink); } $('.update > span.whitespace-pre-wrap').each(function() { let textLength = $(this).text().split(/\s+/).length; if (textLength > 81){ // get incident ID let incidentUrl = $(this).closest('.unresolved-incident').find('a')[0]; let incidentID = (String(incidentUrl)).split("incidents/")[1]; let firstPart = $(this).html().split(/\s+/).slice(0,80).join(' '); let secondPart = '<div id="truncate_' + incidentID +'" style="display:None"> ' + $(this).html().split(/\s+/).slice(80,textLength).join(' ') + '</div>'; let expandLink = "<div id='expand_" + incidentID +"' style='display: inline;'>&#160;<a style='color:#3686be;' href='javascript:onclick=revealTruncated(\"" + incidentID+ "\");'>[...]</a>&#160;</div>" $(this).html(firstPart + expandLink + secondPart); } }); </script> </div> </div> <script src="https://dka575ofm4ao0.cloudfront.net/assets/status_manifest-6a7ae3a8e2e1b1e1d9466495faa0851c3f5fff938743f6501c900aa2a8792e8c.js"></script> <div id="cpt-notification-container"></div> <!-- all of the content_for stuff --> <script src="https://dka575ofm4ao0.cloudfront.net/assets/register_subscription_form-589b657fec607087fc5c740c568270907310bc4f6aaa20256e70f01b103025ca.js"></script> <script type="text/javascript"> $(function() { SP.currentPage.registerSubscriptionForm('email'); SP.currentPage.registerSubscriptionForm('sms'); }); </script> <script src="https://dka575ofm4ao0.cloudfront.net/assets/status_common-c1b99d73ee7ab0fea796bd170723c1daac1381095a7dd7501a38ce6f333d86b3.js"></script> <script> SP.pollForChanges('/api/v2/status.json'); </script> <script> $(function() { $('.tool').tooltipster({ animationDuration: 100, contentAsHTML: true, delay: 100, theme: 'tooltipster-borderless', functionInit: function (instance, helper) { var $origin = $(helper.origin), dataOptions = $origin.attr('data-tooltip-config'); if (dataOptions){ dataOptions = JSON.parse(dataOptions); $.each(dataOptions, function(name, option){ instance.option(name, option); }); } } }); // clicks on first tab in subscribe popout since we won't know which is first // upon construction in the ruby code $('.updates-dropdown-nav > a').eq(0).click(); // twitter follow button needs some margin $('.twitter-follow-button').css('margin-right', '6px'); }); $(function() { // open/close component groups HRB.utils.djshook('component-group-opener').on('click', function() { var groupParentIndicator = $(this).find('.group-parent-indicator'); groupParentIndicator.toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o').end().parent().toggleClass('open'); toggleGroup(groupParentIndicator) }); }); $(function() { HRB.utils.djshook('component-group-opener').on('keydown', function(event) { if (event.key !== "Enter" && event.key !== " ") { return; } event.preventDefault() var groupParentIndicator = $(this).find('.group-parent-indicator'); groupParentIndicator.toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o').end().parent().toggleClass('open'); toggleGroup(groupParentIndicator) }); }); function toggleGroup(groupParentIndicator) { var isOpen = groupParentIndicator.attr('aria-expanded') if (isOpen == 'false') { groupParentIndicator.attr('aria-expanded', 'true'); } else { groupParentIndicator.attr('aria-expanded', 'false'); } } $(function() { $(document).on('ajax:complete', '.modal.in', function(e) { // Close the active modal. $('.modal.in').modal('hide'); }); }); </script> <script> /** INITIALIZATION **/ var recaptchaIds = {} // Unfortunately there's no unique selectors on the parent divs that recaptcha adds. The first unique selector // is the iframe rendered 2 levels deep. So this waits until the iframes are added to the page, then finds // the parent div and sets the z index so that it'll render above our modals & dropdowns from the start. function setZIndex(captchaCount, startTime) { // bail after 10s just in case so we don't do this forever if something whaky happens if (new Date() - startTime > 10000) { return; } var iframes = document.querySelectorAll('iframe[title="recaptcha challenge"]'); if (iframes.length != captchaCount) { setTimeout(function() { setZIndex(captchaCount, startTime); }, 500); } for (var i = 0; i < iframes.length; i++) { // incident subscribe modal is 1050, so this has to be above that iframes[i].parentElement.parentElement.style.zIndex = "1100"; } } function updateCaptchaIframeTitle(captchaCount, startTime, updates=0) { if (new Date() - startTime > 10000 || captchaCount === updates) { return; } var iframesWithTitle = document.querySelectorAll('iframe[title="recaptcha challenge expires in two minutes"]'); if (iframesWithTitle.length != captchaCount) { setTimeout(function() { updateCaptchaIframeTitle(captchaCount, startTime, iframesWithTitle.length + updates); }, 500); } for (var i = 0; i < iframesWithTitle.length; i++) { iframesWithTitle[i].title = "recaptcha"; } } function addIncidentCaptcha() { var incidentCaptcha = document.createElement('div'); incidentCaptcha.setAttribute('id', 'subscribe-incident-recaptcha'); incidentCaptcha.setAttribute('class', 'g-recaptcha'); incidentCaptcha.setAttribute('data-sitekey', '6LcZ-b0UAAAAAENi956aWzynTT2ZJ80dGU3F80Op'); incidentCaptcha.setAttribute('data-callback', 'submitIncidentSubscriberSuccess'); incidentCaptcha.setAttribute('data-error-callback', 'submitIncidentSubscriberError'); incidentCaptcha.setAttribute('data-size', 'invisible'); document.body.appendChild(incidentCaptcha); var incidentCode = document.createElement('input'); incidentCode.setAttribute('type', 'hidden'); incidentCode.setAttribute('id', 'submit_incident_code'); document.body.appendChild(incidentCode); } var onloadCallback = function() { // if there is an incident, then add incident captcha element if (document.getElementsByClassName('modal-open-incident-subscribe').length > 0) { addIncidentCaptcha(); } var captchas = document.getElementsByClassName("g-recaptcha"); for(var i = 0; i < captchas.length; i++) { var elId = captchas[i].id; recaptchaIds[elId] = grecaptcha.enterprise.render(elId); } setZIndex(captchas.length, new Date()); updateCaptchaIframeTitle(captchas.length, new Date()); } /** SUBSCRIBE DROPDOWN */ // callbacks for captcha success function submitNewSubscriber(type, error) { if (error) document.querySelector('#subscribe-form-' + type + ' #captcha_error').value = 'true'; document.getElementById('subscribe-form-' + type).dispatchEvent(new Event('submit', {bubbles: true, cancelable: true})); grecaptcha.enterprise.reset(recaptchaIds['subscribe-btn-' + type]); } function submitNewEmailSubscriber(token) { submitNewSubscriber('email'); } function submitNewSmsSubscriber(token) { submitNewSubscriber('sms'); } function submitNewWebhookSubscriber(token) { submitNewSubscriber('webhook'); } function submitIncidentSubscriber(token, error) { var incidentCode = document.getElementById('submit_incident_code').value; var incidentForm = document.getElementById('subscribe-form-' + incidentCode); incidentForm.querySelector('input[name="captcha_error"]').value = error; incidentForm.querySelector('input[name="g-recaptcha-response"]').value = token; incidentForm.dispatchEvent(new Event('submit', {bubbles: true, cancelable: true})); grecaptcha.enterprise.reset(recaptchaIds['subscribe-incident-recaptcha']); } function submitIncidentSubscriberSuccess(token) { submitIncidentSubscriber(token, 'false'); } // callbacks if we get captcha network errors function emailSubscriberCaptchaError(token) { submitNewSubscriber('email', true); } function smsSubscriberCaptchaError(token) { submitNewSubscriber('sms', true); } function webhookSubscriberCaptchaError(token) { submitNewSubscriber('webhook', true); } function submitIncidentSubscriberError(token) { submitIncidentSubscriber(token, 'true'); } // tracking clicks ['email', 'sms', 'webhook'].forEach(function(type) { var el = document.getElementById('subscribe-btn-' + type); el && el.addEventListener("click", function() { $.ajax({ type: "POST", url: "/subscriptions/track_attempt", data: { type: type } }) }) }) // form submission success callbacks $('#subscribe-form-email').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success') { SP.currentPage.updatesDropdown.hide(); document.getElementById('email').value = ''; } }); $('#subscribe-form-sms').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success' && data.otp_flow !== true) { SP.currentPage.updatesDropdown.hide(); document.getElementById('phone-number').value = ''; } }); $('#subscribe-form-webhook').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success') { SP.currentPage.updatesDropdown.hide(); document.getElementById('endpoint-webhooks').value = ''; document.getElementById('email-webhooks').value = ''; } }); $('a.subscribe').on('click', function() { document.body.style.overflow = "hidden"; document.body.style.height = "100vh"; }); $('div.modal-open-incident-subscribe').on('hidden', function(){ document.body.style.overflow = ""; document.body.style.height = ""; }); function submitCaptchaIncidentSubscribe(event) { var incidentCode = event.target.id.split('-')[2]; event.preventDefault(); $.ajax({ type: "POST", url: "/subscriptions/track_attempt", data: { type: 'incident' } }) document.getElementById('submit_incident_code').value = incidentCode; grecaptcha.enterprise.execute(recaptchaIds['subscribe-incident-recaptcha']); } </script> <script src='https://www.recaptcha.net/recaptcha/enterprise.js?onload=onloadCallback&render=explicit' async defer></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/common-4d053c18cbeef079deb0.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/globals-f39f1afbe40d8b149e0b.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/runtime-315523c15b4d55375eca.js"></script> <script> window.addEventListener('load', function () { const urlParams = new URLSearchParams(window.location.search); const messageToken = urlParams.get('slack_message_token'); const channelName = escape(urlParams.get('channel_name')); if(!!messageToken) { switch(messageToken) { case 'slack_auth_error': HRB.utils.notify('The Slack authorization attempt was unsuccessful. Try again.', {cssClass:'error'}); break; case 'subscribers_disabled_error': HRB.utils.notify('Slack subscriptions are not enabled on this page.', {cssClass:'error'}); break; case 'direct_message_channel_error': HRB.utils.notify('Subscriptions aren’t supported in direct messages. Try subscribing again and choose a channel instead.', {cssClass:'error'}); break case 'duplicate_error': HRB.utils.notify("You're already subscribed to get Slack notifications in that channel.", {cssClass:'error'}); break; case 'duplicate_private_channel_error': HRB.utils.notify(`You're already subscribed to get Slack notifications in #${channelName}. Invite the @Statuspage app to that channel to start getting status updates.`, {cssClass: 'error'}); break; case 'default_success': HRB.utils.notify("You're now subscribed to get Statuspage updates in Slack!", {cssClass:'success'}); break; case 'private_channel_success': HRB.utils.notify(`IMPORTANT: Invite the @Statuspage app to your Slack channel #${channelName} to start getting status updates.`, {cssClass:'success'}); break; } } }); </script> <!-- FOR FLASH NOTICES --> <!-- FOR ERROR --> <script> $(function() { var $link = $('<span class="color-secondary powered-by"><a class="color-secondary" target="_blank" rel="noopener noreferrer nofollow" href="https://www.atlassian.com/software/statuspage?utm_campaign=status.digitalocean.com&amp;utm_content=SP-notifications&amp;utm_medium=powered-by&amp;utm_source=inapp">Powered by Atlassian Statuspage</a></span>'); var setPoweredByStyles = function() { if (!$('.powered-by').length) { $link.appendTo($('.page-footer')) } $('.powered-by').attr('style', 'display: inline !important; visibility:visible !important; opacity: 1 !important; position:static !important; text-indent:0px !important; transform:scale(1) !important'); } setInterval(setPoweredByStyles, 1000); }); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10