Openstatus sdk www.openstatus.dev

update readme.md (#3)

authored by

Thibault Le Ouay and committed by
GitHub
ee74c794 3c887e7a

+584 -192
+300 -129
README.md
··· 1 1 # OpenStatus Node.js SDK 2 2 3 3 [![JSR](https://jsr.io/badges/@openstatus/sdk-node)](https://jsr.io/@openstatus/sdk-node) 4 - [![npm](https://img.shields.io/npm/v/@openstatushq/sdk-node)](https://www.npmjs.com/package/@openstatushq/sdk-node) 4 + [![npm](https://img.shields.io/npm/v/@openstatus/sdk-node)](https://www.npmjs.com/package/@openstatus/sdk-node) 5 5 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) 6 6 7 7 Official Node.js SDK for [OpenStatus](https://openstatus.dev) - the open-source ··· 13 13 - **TCP Monitoring** - Check database connections and other TCP services 14 14 - **DNS Monitoring** - Verify DNS records and resolution 15 15 - **Global Regions** - Monitor from 28 locations worldwide 16 - - **Type-safe** - Full TypeScript support with generated types 16 + - **Type-safe** - Full TypeScript support with generated types from protobuf 17 17 18 18 ## Installation 19 19 20 20 ### JSR 21 21 22 22 ```bash 23 - npx jsr add @openstatus/node-sdk 23 + npx jsr add @openstatus/sdk-node 24 24 ``` 25 25 26 26 ### npm 27 27 28 28 ```bash 29 - npm install @openstatus/node-sdk 29 + npm install @openstatus/sdk-node 30 30 ``` 31 31 32 32 ### Deno 33 33 34 34 ```typescript 35 - import { openstatus } from "jsr:@openstatus/node-sdk"; 35 + import { openstatus } from "jsr:@openstatus/sdk-node"; 36 36 ``` 37 37 38 38 ## Quick Start 39 39 40 40 ```typescript 41 - import { openstatus } from "@openstatus/node-sdk"; 41 + import { 42 + openstatus, 43 + Periodicity, 44 + Region, 45 + HTTPMethod, 46 + NumberComparator, 47 + } from "@openstatus/sdk-node"; 42 48 43 49 const headers = { 44 - "x-openstatus-key": `Bearer ${process.env.OPENSTATUS_API_KEY}`, 50 + "x-openstatus-key": `${process.env.OPENSTATUS_API_KEY}`, 45 51 }; 46 52 47 53 // Create a monitor 48 - const monitor = await openstatus.monitor.v1.MonitorService.createHTTPMonitor( 54 + const { monitor } = await openstatus.monitor.v1.MonitorService.createHTTPMonitor( 49 55 { 50 - name: "My API", 51 - url: "https://api.example.com/health", 52 - periodicity: "1m", 53 - method: "GET", 54 - regions: ["ams", "iad", "syd"], 55 - active: true, 56 - statusCodeAssertions: [{ comparator: "EQUAL", target: 200 }], 56 + monitor: { 57 + name: "My API", 58 + url: "https://api.example.com/health", 59 + periodicity: Periodicity.PERIODICITY_1M, 60 + method: HTTPMethod.HTTP_METHOD_GET, 61 + regions: [Region.FLY_AMS, Region.FLY_IAD, Region.FLY_SYD], 62 + active: true, 63 + statusCodeAssertions: [ 64 + { comparator: NumberComparator.EQUAL, target: BigInt(200) }, 65 + ], 66 + }, 57 67 }, 58 68 { headers }, 59 69 ); 60 70 61 - console.log(`Monitor created: ${monitor.monitor?.id}`); 71 + console.log(`Monitor created: ${monitor?.id}`); 62 72 63 73 // List all monitors 64 74 const { httpMonitors, tcpMonitors, dnsMonitors, totalSize } = ··· 74 84 75 85 ```typescript 76 86 const headers = { 77 - "x-openstatus-key": `Bearer ${process.env.OPENSTATUS_API_KEY}`, 87 + "x-openstatus-key": `${process.env.OPENSTATUS_API_KEY}`, 78 88 }; 79 89 80 90 // Pass headers to any service method ··· 97 107 Create an HTTP/HTTPS monitor. 98 108 99 109 ```typescript 100 - const { monitor } = await openstatus.monitor.v1.MonitorService 101 - .createHTTPMonitor( 102 - { 110 + import { Periodicity, Region, HTTPMethod } from "@openstatus/sdk-node"; 111 + 112 + const { monitor } = await openstatus.monitor.v1.MonitorService.createHTTPMonitor( 113 + { 114 + monitor: { 103 115 name: "My Website", 104 116 url: "https://example.com", 105 - periodicity: "1m", 106 - method: "GET", 107 - regions: ["ams", "iad", "syd"], 117 + periodicity: Periodicity.PERIODICITY_1M, 118 + method: HTTPMethod.HTTP_METHOD_GET, 119 + regions: [Region.FLY_AMS, Region.FLY_IAD, Region.FLY_SYD], 108 120 active: true, 109 121 }, 110 - { headers }, 111 - ); 122 + }, 123 + { headers }, 124 + ); 125 + ``` 126 + 127 + #### `updateHTTPMonitor(request, options)` 128 + 129 + Update an existing HTTP monitor. 130 + 131 + ```typescript 132 + const { monitor } = await openstatus.monitor.v1.MonitorService.updateHTTPMonitor( 133 + { 134 + id: "mon_123", 135 + monitor: { 136 + name: "Updated Name", 137 + active: false, 138 + }, 139 + }, 140 + { headers }, 141 + ); 112 142 ``` 113 143 114 144 #### `createTCPMonitor(request, options)` ··· 118 148 ```typescript 119 149 const { monitor } = await openstatus.monitor.v1.MonitorService.createTCPMonitor( 120 150 { 121 - name: "Database", 122 - uri: "db.example.com:5432", 123 - periodicity: "5m", 124 - regions: ["ams", "iad"], 125 - active: true, 151 + monitor: { 152 + name: "Database", 153 + uri: "db.example.com:5432", 154 + periodicity: Periodicity.PERIODICITY_5M, 155 + regions: [Region.FLY_AMS, Region.FLY_IAD], 156 + active: true, 157 + }, 158 + }, 159 + { headers }, 160 + ); 161 + ``` 162 + 163 + #### `updateTCPMonitor(request, options)` 164 + 165 + Update an existing TCP monitor. 166 + 167 + ```typescript 168 + const { monitor } = await openstatus.monitor.v1.MonitorService.updateTCPMonitor( 169 + { 170 + id: "mon_123", 171 + monitor: { 172 + name: "Updated Database Monitor", 173 + }, 126 174 }, 127 175 { headers }, 128 176 ); ··· 133 181 Create a DNS resolution monitor. 134 182 135 183 ```typescript 184 + import { RecordComparator } from "@openstatus/sdk-node"; 185 + 136 186 const { monitor } = await openstatus.monitor.v1.MonitorService.createDNSMonitor( 137 187 { 138 - name: "DNS Check", 139 - uri: "example.com", 140 - periodicity: "10m", 141 - regions: ["ams"], 142 - active: true, 143 - recordAssertions: [{ 144 - recordType: "A", 145 - comparator: "EQUAL", 146 - target: "93.184.216.34", 147 - }], 188 + monitor: { 189 + name: "DNS Check", 190 + uri: "example.com", 191 + periodicity: Periodicity.PERIODICITY_10M, 192 + regions: [Region.FLY_AMS], 193 + active: true, 194 + recordAssertions: [ 195 + { 196 + record: "A", 197 + comparator: RecordComparator.EQUAL, 198 + target: "93.184.216.34", 199 + }, 200 + ], 201 + }, 202 + }, 203 + { headers }, 204 + ); 205 + ``` 206 + 207 + #### `updateDNSMonitor(request, options)` 208 + 209 + Update an existing DNS monitor. 210 + 211 + ```typescript 212 + const { monitor } = await openstatus.monitor.v1.MonitorService.updateDNSMonitor( 213 + { 214 + id: "mon_123", 215 + monitor: { 216 + name: "Updated DNS Check", 217 + }, 148 218 }, 149 219 { headers }, 150 220 ); ··· 167 237 Trigger an immediate check. 168 238 169 239 ```typescript 170 - await openstatus.monitor.v1.MonitorService.triggerMonitor( 240 + const { success } = await openstatus.monitor.v1.MonitorService.triggerMonitor( 171 241 { id: "mon_123" }, 172 242 { headers }, 173 243 ); ··· 178 248 Delete a monitor. 179 249 180 250 ```typescript 181 - await openstatus.monitor.v1.MonitorService.deleteMonitor( 251 + const { success } = await openstatus.monitor.v1.MonitorService.deleteMonitor( 182 252 { id: "mon_123" }, 183 253 { headers }, 184 254 ); ··· 189 259 Get the current status of a monitor across all configured regions. 190 260 191 261 ```typescript 192 - const { id, regions } = 193 - await openstatus.monitor.v1.MonitorService.getMonitorStatus( 194 - { id: "mon_123" }, 195 - { headers }, 196 - ); 262 + import { MonitorStatus, Region } from "@openstatus/sdk-node"; 263 + 264 + const { id, regions } = await openstatus.monitor.v1.MonitorService.getMonitorStatus( 265 + { id: "mon_123" }, 266 + { headers }, 267 + ); 197 268 198 269 // regions is an array of { region, status } 199 - // status: ACTIVE, DEGRADED, or ERROR 270 + // region: Region enum value (e.g., Region.FLY_AMS) 271 + // status: MonitorStatus.ACTIVE, MonitorStatus.DEGRADED, or MonitorStatus.ERROR 200 272 for (const { region, status } of regions) { 201 - console.log(`${region}: ${status}`); 273 + console.log(`${Region[region]}: ${MonitorStatus[status]}`); 202 274 } 203 275 ``` 204 276 ··· 207 279 Get aggregated metrics and latency percentiles for a monitor. 208 280 209 281 ```typescript 210 - import { TimeRange } from "@openstatus/node-sdk"; 282 + import { TimeRange } from "@openstatus/sdk-node"; 211 283 212 284 const summary = await openstatus.monitor.v1.MonitorService.getMonitorSummary( 213 285 { 214 286 id: "mon_123", 215 - timeRange: TimeRange.TIME_RANGE_7D, // 1D, 7D, or 14D 287 + timeRange: TimeRange.TIME_RANGE_7D, // TIME_RANGE_1D, TIME_RANGE_7D, or TIME_RANGE_14D 216 288 regions: [], // optional: filter by specific regions 217 289 }, 218 290 { headers }, ··· 223 295 console.log(`Degraded: ${summary.totalDegraded}`); 224 296 console.log(`Failed: ${summary.totalFailed}`); 225 297 console.log(`P50 latency: ${summary.p50}ms`); 298 + console.log(`P75 latency: ${summary.p75}ms`); 299 + console.log(`P90 latency: ${summary.p90}ms`); 226 300 console.log(`P95 latency: ${summary.p95}ms`); 227 301 console.log(`P99 latency: ${summary.p99}ms`); 228 302 ``` ··· 232 306 Check API health status (no authentication required). 233 307 234 308 ```typescript 309 + import { ServingStatus } from "@openstatus/sdk-node"; 310 + 235 311 const { status } = await openstatus.health.v1.HealthService.check({}); 236 - console.log(status); // "SERVING" 312 + console.log(ServingStatus[status]); // "SERVING" 237 313 ``` 238 314 239 315 ## Monitor Options 240 316 241 317 ### HTTP Monitor 242 318 243 - | Option | Type | Required | Description | 244 - | ---------------------- | -------- | -------- | ------------------------------------------------- | 245 - | `name` | string | Yes | Monitor name (max 256 chars) | 246 - | `url` | string | Yes | URL to monitor | 247 - | `periodicity` | string | No | `30s`, `1m`, `5m`, `10m`, `30m`, `1h` | 248 - | `method` | string | No | `GET`, `POST`, `HEAD`, `PUT`, `PATCH`, `DELETE` | 249 - | `body` | string | No | Request body | 250 - | `headers` | object | No | Custom headers | 251 - | `timeout` | number | No | Timeout in ms (default: 45000, max: 120000) | 252 - | `retry` | number | No | Retry attempts (default: 3, max: 10) | 253 - | `followRedirects` | boolean | No | Follow redirects (default: true) | 254 - | `regions` | string[] | No | [Regions](#regions) for checks | 255 - | `active` | boolean | No | Enable monitoring (default: false) | 256 - | `public` | boolean | No | Public visibility (default: false) | 257 - | `degradedAt` | number | No | Latency threshold (ms) for degraded status | 258 - | `statusCodeAssertions` | array | No | [Status code assertions](#status-code-assertions) | 259 - | `bodyAssertions` | array | No | [Body assertions](#body-assertions) | 260 - | `headerAssertions` | array | No | [Header assertions](#header-assertions) | 319 + | Option | Type | Required | Description | 320 + | ---------------------- | ------------------ | -------- | -------------------------------------------------------- | 321 + | `name` | string | Yes | Monitor name (max 256 chars) | 322 + | `url` | string | Yes | URL to monitor (max 2048 chars) | 323 + | `periodicity` | Periodicity | Yes | Check interval (see [Periodicity](#periodicity)) | 324 + | `method` | HTTPMethod | No | HTTP method (see [HTTP Methods](#http-methods)) | 325 + | `body` | string | No | Request body | 326 + | `headers` | Headers[] | No | Custom headers (`{ key: string, value: string }[]`) | 327 + | `timeout` | bigint | No | Timeout in ms (default: 45000, max: 120000) | 328 + | `retry` | bigint | No | Retry attempts (default: 3, max: 10) | 329 + | `followRedirects` | boolean | No | Follow redirects (default: true) | 330 + | `regions` | Region[] | No | [Regions](#regions) for checks | 331 + | `active` | boolean | No | Enable monitoring (default: false) | 332 + | `public` | boolean | No | Public visibility (default: false) | 333 + | `degradedAt` | bigint | No | Latency threshold (ms) for degraded status | 334 + | `description` | string | No | Monitor description (max 1024 chars) | 335 + | `statusCodeAssertions` | array | No | [Status code assertions](#status-code-assertions) | 336 + | `bodyAssertions` | array | No | [Body assertions](#body-assertions) | 337 + | `headerAssertions` | array | No | [Header assertions](#header-assertions) | 338 + | `openTelemetry` | OpenTelemetryConfig| No | OpenTelemetry export configuration | 261 339 262 340 ### TCP Monitor 263 341 264 - | Option | Type | Required | Description | 265 - | ------------- | -------- | -------- | ------------------------------ | 266 - | `name` | string | Yes | Monitor name | 267 - | `uri` | string | Yes | `host:port` to monitor | 268 - | `periodicity` | string | No | Check interval | 269 - | `timeout` | number | No | Timeout in ms (default: 45000) | 270 - | `retry` | number | No | Retry attempts (default: 3) | 271 - | `regions` | string[] | No | [Regions](#regions) for checks | 272 - | `active` | boolean | No | Enable monitoring | 342 + | Option | Type | Required | Description | 343 + | --------------- | ------------------ | -------- | ------------------------------------------------ | 344 + | `name` | string | Yes | Monitor name (max 256 chars) | 345 + | `uri` | string | Yes | `host:port` to monitor (max 2048 chars) | 346 + | `periodicity` | Periodicity | Yes | Check interval (see [Periodicity](#periodicity)) | 347 + | `timeout` | bigint | No | Timeout in ms (default: 45000, max: 120000) | 348 + | `retry` | bigint | No | Retry attempts (default: 3, max: 10) | 349 + | `regions` | Region[] | No | [Regions](#regions) for checks | 350 + | `active` | boolean | No | Enable monitoring (default: false) | 351 + | `public` | boolean | No | Public visibility (default: false) | 352 + | `degradedAt` | bigint | No | Latency threshold (ms) for degraded status | 353 + | `description` | string | No | Monitor description (max 1024 chars) | 354 + | `openTelemetry` | OpenTelemetryConfig| No | OpenTelemetry export configuration | 273 355 274 356 ### DNS Monitor 275 357 276 - | Option | Type | Required | Description | 277 - | ------------------ | -------- | -------- | ----------------------------------------------- | 278 - | `name` | string | Yes | Monitor name | 279 - | `uri` | string | Yes | Domain to resolve | 280 - | `periodicity` | string | No | Check interval | 281 - | `timeout` | number | No | Timeout in ms (default: 45000) | 282 - | `retry` | number | No | Retry attempts (default: 3) | 283 - | `regions` | string[] | No | [Regions](#regions) for checks | 284 - | `recordAssertions` | array | No | [DNS record assertions](#dns-record-assertions) | 358 + | Option | Type | Required | Description | 359 + | ------------------ | ------------------ | -------- | -------------------------------------------------- | 360 + | `name` | string | Yes | Monitor name (max 256 chars) | 361 + | `uri` | string | Yes | Domain to resolve (max 2048 chars) | 362 + | `periodicity` | Periodicity | Yes | Check interval (see [Periodicity](#periodicity)) | 363 + | `timeout` | bigint | No | Timeout in ms (default: 45000, max: 120000) | 364 + | `retry` | bigint | No | Retry attempts (default: 3, max: 10) | 365 + | `regions` | Region[] | No | [Regions](#regions) for checks | 366 + | `active` | boolean | No | Enable monitoring (default: false) | 367 + | `public` | boolean | No | Public visibility (default: false) | 368 + | `degradedAt` | bigint | No | Latency threshold (ms) for degraded status | 369 + | `description` | string | No | Monitor description (max 1024 chars) | 370 + | `recordAssertions` | array | No | [DNS record assertions](#dns-record-assertions) | 371 + | `openTelemetry` | OpenTelemetryConfig| No | OpenTelemetry export configuration | 372 + 373 + ### Periodicity 374 + 375 + | Enum Value | Description | 376 + | ----------------------- | ------------ | 377 + | `PERIODICITY_30S` | Every 30s | 378 + | `PERIODICITY_1M` | Every 1m | 379 + | `PERIODICITY_5M` | Every 5m | 380 + | `PERIODICITY_10M` | Every 10m | 381 + | `PERIODICITY_30M` | Every 30m | 382 + | `PERIODICITY_1H` | Every 1h | 383 + 384 + ### HTTP Methods 385 + 386 + | Enum Value | Description | 387 + | ------------------------- | ----------- | 388 + | `HTTP_METHOD_GET` | GET | 389 + | `HTTP_METHOD_POST` | POST | 390 + | `HTTP_METHOD_HEAD` | HEAD | 391 + | `HTTP_METHOD_PUT` | PUT | 392 + | `HTTP_METHOD_PATCH` | PATCH | 393 + | `HTTP_METHOD_DELETE` | DELETE | 394 + | `HTTP_METHOD_TRACE` | TRACE | 395 + | `HTTP_METHOD_CONNECT` | CONNECT | 396 + | `HTTP_METHOD_OPTIONS` | OPTIONS | 285 397 286 398 ## Assertions 399 + 400 + All assertion comparators are exported as enums from the SDK. 287 401 288 402 ### Status Code Assertions 289 403 290 - Validate HTTP response status codes. 404 + Validate HTTP response status codes using `NumberComparator`. 291 405 292 406 ```typescript 407 + import { NumberComparator } from "@openstatus/sdk-node"; 408 + 293 409 { 294 410 statusCodeAssertions: [ 295 - { comparator: "EQUAL", target: 200 }, 296 - { comparator: "LESS_THAN", target: 400 }, 411 + { comparator: NumberComparator.EQUAL, target: BigInt(200) }, 412 + { comparator: NumberComparator.LESS_THAN, target: BigInt(400) }, 297 413 ]; 298 414 } 299 415 ``` 300 416 301 - **Comparators:** `EQUAL`, `NOT_EQUAL`, `GREATER_THAN`, `GREATER_THAN_OR_EQUAL`, 302 - `LESS_THAN`, `LESS_THAN_OR_EQUAL` 417 + **NumberComparator values:** 418 + 419 + | Enum Value | Description | 420 + | ----------------------- | ------------------------ | 421 + | `EQUAL` | Equal to target | 422 + | `NOT_EQUAL` | Not equal to target | 423 + | `GREATER_THAN` | Greater than target | 424 + | `GREATER_THAN_OR_EQUAL` | Greater than or equal | 425 + | `LESS_THAN` | Less than target | 426 + | `LESS_THAN_OR_EQUAL` | Less than or equal | 303 427 304 428 ### Body Assertions 305 429 306 - Validate response body content. 430 + Validate response body content using `StringComparator`. 307 431 308 432 ```typescript 433 + import { StringComparator } from "@openstatus/sdk-node"; 434 + 309 435 { 310 436 bodyAssertions: [ 311 - { comparator: "CONTAINS", target: '"status":"ok"' }, 312 - { comparator: "NOT_EMPTY" }, 437 + { comparator: StringComparator.CONTAINS, target: '"status":"ok"' }, 438 + { comparator: StringComparator.NOT_EMPTY, target: "" }, 313 439 ]; 314 440 } 315 441 ``` 316 442 317 - **Comparators:** `CONTAINS`, `NOT_CONTAINS`, `EQUAL`, `NOT_EQUAL`, `EMPTY`, 318 - `NOT_EMPTY` 443 + **StringComparator values:** 444 + 445 + | Enum Value | Description | 446 + | ----------------------- | ---------------------------- | 447 + | `CONTAINS` | Contains target string | 448 + | `NOT_CONTAINS` | Does not contain target | 449 + | `EQUAL` | Equal to target | 450 + | `NOT_EQUAL` | Not equal to target | 451 + | `EMPTY` | Body is empty | 452 + | `NOT_EMPTY` | Body is not empty | 453 + | `GREATER_THAN` | Lexicographically greater | 454 + | `GREATER_THAN_OR_EQUAL` | Lexicographically >= target | 455 + | `LESS_THAN` | Lexicographically less | 456 + | `LESS_THAN_OR_EQUAL` | Lexicographically <= target | 319 457 320 458 ### Header Assertions 321 459 322 - Validate response headers. 460 + Validate response headers using `StringComparator`. 323 461 324 462 ```typescript 463 + import { StringComparator } from "@openstatus/sdk-node"; 464 + 325 465 { 326 466 headerAssertions: [ 327 - { key: "content-type", comparator: "CONTAINS", target: "application/json" }, 467 + { 468 + key: "content-type", 469 + comparator: StringComparator.CONTAINS, 470 + target: "application/json", 471 + }, 328 472 ]; 329 473 } 330 474 ``` 331 475 332 476 ### DNS Record Assertions 333 477 334 - Validate DNS records. 478 + Validate DNS records using `RecordComparator`. 335 479 336 480 ```typescript 481 + import { RecordComparator } from "@openstatus/sdk-node"; 482 + 337 483 { 338 484 recordAssertions: [ 339 - { recordType: "A", comparator: "EQUAL", target: "93.184.216.34" }, 340 - { recordType: "CNAME", comparator: "CONTAINS", target: "cdn" }, 485 + { record: "A", comparator: RecordComparator.EQUAL, target: "93.184.216.34" }, 486 + { record: "CNAME", comparator: RecordComparator.CONTAINS, target: "cdn" }, 341 487 ]; 342 488 } 343 489 ``` 344 490 345 - **Record types:** `A`, `AAAA`, `CNAME`, `MX`, `TXT` 491 + **RecordComparator values:** 492 + 493 + | Enum Value | Description | 494 + | -------------- | ----------------------- | 495 + | `EQUAL` | Equal to target | 496 + | `NOT_EQUAL` | Not equal to target | 497 + | `CONTAINS` | Contains target string | 498 + | `NOT_CONTAINS` | Does not contain target | 499 + 500 + **Supported record types:** `A`, `AAAA`, `CNAME`, `MX`, `TXT` 346 501 347 502 ## Regions 348 503 349 - Monitor from 28 global locations across multiple providers: 504 + Monitor from 28 global locations across multiple providers. Use the `Region` enum: 505 + 506 + ```typescript 507 + import { Region } from "@openstatus/sdk-node"; 508 + 509 + // Example: Use specific regions 510 + regions: [Region.FLY_AMS, Region.FLY_IAD, Region.KOYEB_FRA]; 511 + ``` 350 512 351 513 ### Fly.io Regions 352 514 353 - | Code | Location | Code | Location | 354 - | ----- | --------------- | ----- | ------------ | 355 - | `ams` | Amsterdam | `lax` | Los Angeles | 356 - | `arn` | Stockholm | `lhr` | London | 357 - | `bom` | Mumbai | `nrt` | Tokyo | 358 - | `cdg` | Paris | `ord` | Chicago | 359 - | `dfw` | Dallas | `sjc` | San Jose | 360 - | `ewr` | Newark | `sin` | Singapore | 361 - | `fra` | Frankfurt | `syd` | Sydney | 362 - | `gru` | São Paulo | `yyz` | Toronto | 363 - | `iad` | Washington D.C. | `jnb` | Johannesburg | 515 + | Enum Value | Location | 516 + | ---------- | --------------- | 517 + | `FLY_AMS` | Amsterdam | 518 + | `FLY_ARN` | Stockholm | 519 + | `FLY_BOM` | Mumbai | 520 + | `FLY_CDG` | Paris | 521 + | `FLY_DFW` | Dallas | 522 + | `FLY_EWR` | Newark | 523 + | `FLY_FRA` | Frankfurt | 524 + | `FLY_GRU` | São Paulo | 525 + | `FLY_IAD` | Washington D.C. | 526 + | `FLY_JNB` | Johannesburg | 527 + | `FLY_LAX` | Los Angeles | 528 + | `FLY_LHR` | London | 529 + | `FLY_NRT` | Tokyo | 530 + | `FLY_ORD` | Chicago | 531 + | `FLY_SJC` | San Jose | 532 + | `FLY_SIN` | Singapore | 533 + | `FLY_SYD` | Sydney | 534 + | `FLY_YYZ` | Toronto | 364 535 365 536 ### Koyeb Regions 366 537 367 - | Code | Location | 538 + | Enum Value | Location | 368 539 | ----------- | ------------- | 369 - | `koyeb_fra` | Frankfurt | 370 - | `koyeb_par` | Paris | 371 - | `koyeb_sfo` | San Francisco | 372 - | `koyeb_sin` | Singapore | 373 - | `koyeb_tyo` | Tokyo | 374 - | `koyeb_was` | Washington | 540 + | `KOYEB_FRA` | Frankfurt | 541 + | `KOYEB_PAR` | Paris | 542 + | `KOYEB_SFO` | San Francisco | 543 + | `KOYEB_SIN` | Singapore | 544 + | `KOYEB_TYO` | Tokyo | 545 + | `KOYEB_WAS` | Washington | 375 546 376 547 ### Railway Regions 377 548 378 - | Code | Location | 379 - | ----------------------- | -------------- | 380 - | `railway_us_west2` | US West | 381 - | `railway_us_east4` | US East | 382 - | `railway_europe_west4` | Europe West | 383 - | `railway_asia_southeast1` | Asia Southeast | 549 + | Enum Value | Location | 550 + | ------------------------ | -------------- | 551 + | `RAILWAY_US_WEST2` | US West | 552 + | `RAILWAY_US_EAST4` | US East | 553 + | `RAILWAY_EUROPE_WEST4` | Europe West | 554 + | `RAILWAY_ASIA_SOUTHEAST1`| Asia Southeast | 384 555 385 556 ## Error Handling 386 557
+1 -1
deno.json
··· 1 1 { 2 2 "name": "@openstatus/sdk-node", 3 - "version": "0.0.1", 3 + "version": "0.0.2", 4 4 "description": "SDK for openstatus", 5 5 "license": "MIT", 6 6 "exports": {
+1 -1
scripts/build_npm.ts
··· 12 12 package: { 13 13 // package.json properties 14 14 name: "@openstatus/sdk-node", 15 - version: "0.0.1", 15 + version: "0.0.2", 16 16 description: "SDK for openstatus.", 17 17 license: "MIT", 18 18 repository: {
+37 -37
src/gen/openstatus/monitor/v1/monitor_pb.ts
··· 10 10 */ 11 11 export const file_openstatus_monitor_v1_monitor: GenFile = /*@__PURE__*/ 12 12 fileDesc( 13 - "CiNvcGVuc3RhdHVzL21vbml0b3IvdjEvbW9uaXRvci5wcm90bxIVb3BlbnN0YXR1cy5tb25pdG9yLnYxKoEBCg1Nb25pdG9yU3RhdHVzEh4KGk1PTklUT1JfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGQoVTU9OSVRPUl9TVEFUVVNfQUNUSVZFEAESGwoXTU9OSVRPUl9TVEFUVVNfREVHUkFERUQQAhIYChRNT05JVE9SX1NUQVRVU19FUlJPUhADKqUBCgtQZXJpb2RpY2l0eRIbChdQRVJJT0RJQ0lUWV9VTlNQRUNJRklFRBAAEhMKD1BFUklPRElDSVRZXzMwUxABEhIKDlBFUklPRElDSVRZXzFNEAISEgoOUEVSSU9ESUNJVFlfNU0QAxITCg9QRVJJT0RJQ0lUWV8xME0QBBITCg9QRVJJT0RJQ0lUWV8zME0QBRISCg5QRVJJT0RJQ0lUWV8xSBAGKsMECgZSZWdpb24SFgoSUkVHSU9OX1VOU1BFQ0lGSUVEEAASDgoKUkVHSU9OX0FNUxABEg4KClJFR0lPTl9BUk4QAhIOCgpSRUdJT05fQk9NEAMSDgoKUkVHSU9OX0NERxAEEg4KClJFR0lPTl9ERlcQBRIOCgpSRUdJT05fRVdSEAYSDgoKUkVHSU9OX0ZSQRAHEg4KClJFR0lPTl9HUlUQCBIOCgpSRUdJT05fSUFEEAkSDgoKUkVHSU9OX0pOQhAKEg4KClJFR0lPTl9MQVgQCxIOCgpSRUdJT05fTEhSEAwSDgoKUkVHSU9OX05SVBANEg4KClJFR0lPTl9PUkQQDhIOCgpSRUdJT05fU0pDEA8SDgoKUkVHSU9OX1NJThAQEg4KClJFR0lPTl9TWUQQERIOCgpSRUdJT05fWVlaEBISFAoQUkVHSU9OX0tPWUVCX0ZSQRATEhQKEFJFR0lPTl9LT1lFQl9QQVIQFBIUChBSRUdJT05fS09ZRUJfU0ZPEBUSFAoQUkVHSU9OX0tPWUVCX1NJThAWEhQKEFJFR0lPTl9LT1lFQl9UWU8QFxIUChBSRUdJT05fS09ZRUJfV0FTEBgSGwoXUkVHSU9OX1JBSUxXQVlfVVNfV0VTVDIQGRIbChdSRUdJT05fUkFJTFdBWV9VU19FQVNUNBAaEh8KG1JFR0lPTl9SQUlMV0FZX0VVUk9QRV9XRVNUNBAbEiIKHlJFR0lPTl9SQUlMV0FZX0FTSUFfU09VVEhFQVNUMRAcQlNaUWdpdGh1Yi5jb20vb3BlbnN0YXR1c2hxL29wZW5zdGF0dXMvcGFja2FnZXMvcHJvdG8vb3BlbnN0YXR1cy9tb25pdG9yL3YxO21vbml0b3J2MWIGcHJvdG8z", 13 + "CiNvcGVuc3RhdHVzL21vbml0b3IvdjEvbW9uaXRvci5wcm90bxIVb3BlbnN0YXR1cy5tb25pdG9yLnYxKoEBCg1Nb25pdG9yU3RhdHVzEh4KGk1PTklUT1JfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGQoVTU9OSVRPUl9TVEFUVVNfQUNUSVZFEAESGwoXTU9OSVRPUl9TVEFUVVNfREVHUkFERUQQAhIYChRNT05JVE9SX1NUQVRVU19FUlJPUhADKqUBCgtQZXJpb2RpY2l0eRIbChdQRVJJT0RJQ0lUWV9VTlNQRUNJRklFRBAAEhMKD1BFUklPRElDSVRZXzMwUxABEhIKDlBFUklPRElDSVRZXzFNEAISEgoOUEVSSU9ESUNJVFlfNU0QAxITCg9QRVJJT0RJQ0lUWV8xME0QBBITCg9QRVJJT0RJQ0lUWV8zME0QBRISCg5QRVJJT0RJQ0lUWV8xSBAGKosFCgZSZWdpb24SFgoSUkVHSU9OX1VOU1BFQ0lGSUVEEAASEgoOUkVHSU9OX0ZMWV9BTVMQARISCg5SRUdJT05fRkxZX0FSThACEhIKDlJFR0lPTl9GTFlfQk9NEAMSEgoOUkVHSU9OX0ZMWV9DREcQBBISCg5SRUdJT05fRkxZX0RGVxAFEhIKDlJFR0lPTl9GTFlfRVdSEAYSEgoOUkVHSU9OX0ZMWV9GUkEQBxISCg5SRUdJT05fRkxZX0dSVRAIEhIKDlJFR0lPTl9GTFlfSUFEEAkSEgoOUkVHSU9OX0ZMWV9KTkIQChISCg5SRUdJT05fRkxZX0xBWBALEhIKDlJFR0lPTl9GTFlfTEhSEAwSEgoOUkVHSU9OX0ZMWV9OUlQQDRISCg5SRUdJT05fRkxZX09SRBAOEhIKDlJFR0lPTl9GTFlfU0pDEA8SEgoOUkVHSU9OX0ZMWV9TSU4QEBISCg5SRUdJT05fRkxZX1NZRBAREhIKDlJFR0lPTl9GTFlfWVlaEBISFAoQUkVHSU9OX0tPWUVCX0ZSQRATEhQKEFJFR0lPTl9LT1lFQl9QQVIQFBIUChBSRUdJT05fS09ZRUJfU0ZPEBUSFAoQUkVHSU9OX0tPWUVCX1NJThAWEhQKEFJFR0lPTl9LT1lFQl9UWU8QFxIUChBSRUdJT05fS09ZRUJfV0FTEBgSGwoXUkVHSU9OX1JBSUxXQVlfVVNfV0VTVDIQGRIbChdSRUdJT05fUkFJTFdBWV9VU19FQVNUNBAaEh8KG1JFR0lPTl9SQUlMV0FZX0VVUk9QRV9XRVNUNBAbEiIKHlJFR0lPTl9SQUlMV0FZX0FTSUFfU09VVEhFQVNUMRAcQlNaUWdpdGh1Yi5jb20vb3BlbnN0YXR1c2hxL29wZW5zdGF0dXMvcGFja2FnZXMvcHJvdG8vb3BlbnN0YXR1cy9tb25pdG9yL3YxO21vbml0b3J2MWIGcHJvdG8z", 14 14 ); 15 15 16 16 /** ··· 118 118 * 119 119 * Amsterdam, Netherlands 120 120 * 121 - * @generated from enum value: REGION_AMS = 1; 121 + * @generated from enum value: REGION_FLY_AMS = 1; 122 122 */ 123 - AMS = 1, 123 + FLY_AMS = 1, 124 124 125 125 /** 126 126 * Stockholm, Sweden 127 127 * 128 - * @generated from enum value: REGION_ARN = 2; 128 + * @generated from enum value: REGION_FLY_ARN = 2; 129 129 */ 130 - ARN = 2, 130 + FLY_ARN = 2, 131 131 132 132 /** 133 133 * Mumbai, India 134 134 * 135 - * @generated from enum value: REGION_BOM = 3; 135 + * @generated from enum value: REGION_FLY_BOM = 3; 136 136 */ 137 - BOM = 3, 137 + FLY_BOM = 3, 138 138 139 139 /** 140 140 * Paris, France 141 141 * 142 - * @generated from enum value: REGION_CDG = 4; 142 + * @generated from enum value: REGION_FLY_CDG = 4; 143 143 */ 144 - CDG = 4, 144 + FLY_CDG = 4, 145 145 146 146 /** 147 147 * Dallas, USA 148 148 * 149 - * @generated from enum value: REGION_DFW = 5; 149 + * @generated from enum value: REGION_FLY_DFW = 5; 150 150 */ 151 - DFW = 5, 151 + FLY_DFW = 5, 152 152 153 153 /** 154 154 * Newark, USA 155 155 * 156 - * @generated from enum value: REGION_EWR = 6; 156 + * @generated from enum value: REGION_FLY_EWR = 6; 157 157 */ 158 - EWR = 6, 158 + FLY_EWR = 6, 159 159 160 160 /** 161 161 * Frankfurt, Germany 162 162 * 163 - * @generated from enum value: REGION_FRA = 7; 163 + * @generated from enum value: REGION_FLY_FRA = 7; 164 164 */ 165 - FRA = 7, 165 + FLY_FRA = 7, 166 166 167 167 /** 168 168 * São Paulo, Brazil 169 169 * 170 - * @generated from enum value: REGION_GRU = 8; 170 + * @generated from enum value: REGION_FLY_GRU = 8; 171 171 */ 172 - GRU = 8, 172 + FLY_GRU = 8, 173 173 174 174 /** 175 175 * Ashburn, USA 176 176 * 177 - * @generated from enum value: REGION_IAD = 9; 177 + * @generated from enum value: REGION_FLY_IAD = 9; 178 178 */ 179 - IAD = 9, 179 + FLY_IAD = 9, 180 180 181 181 /** 182 182 * Johannesburg, South Africa 183 183 * 184 - * @generated from enum value: REGION_JNB = 10; 184 + * @generated from enum value: REGION_FLY_JNB = 10; 185 185 */ 186 - JNB = 10, 186 + FLY_JNB = 10, 187 187 188 188 /** 189 189 * Los Angeles, USA 190 190 * 191 - * @generated from enum value: REGION_LAX = 11; 191 + * @generated from enum value: REGION_FLY_LAX = 11; 192 192 */ 193 - LAX = 11, 193 + FLY_LAX = 11, 194 194 195 195 /** 196 196 * London, UK 197 197 * 198 - * @generated from enum value: REGION_LHR = 12; 198 + * @generated from enum value: REGION_FLY_LHR = 12; 199 199 */ 200 - LHR = 12, 200 + FLY_LHR = 12, 201 201 202 202 /** 203 203 * Tokyo, Japan 204 204 * 205 - * @generated from enum value: REGION_NRT = 13; 205 + * @generated from enum value: REGION_FLY_NRT = 13; 206 206 */ 207 - NRT = 13, 207 + FLY_NRT = 13, 208 208 209 209 /** 210 210 * Chicago, USA 211 211 * 212 - * @generated from enum value: REGION_ORD = 14; 212 + * @generated from enum value: REGION_FLY_ORD = 14; 213 213 */ 214 - ORD = 14, 214 + FLY_ORD = 14, 215 215 216 216 /** 217 217 * San Jose, USA 218 218 * 219 - * @generated from enum value: REGION_SJC = 15; 219 + * @generated from enum value: REGION_FLY_SJC = 15; 220 220 */ 221 - SJC = 15, 221 + FLY_SJC = 15, 222 222 223 223 /** 224 224 * Singapore 225 225 * 226 - * @generated from enum value: REGION_SIN = 16; 226 + * @generated from enum value: REGION_FLY_SIN = 16; 227 227 */ 228 - SIN = 16, 228 + FLY_SIN = 16, 229 229 230 230 /** 231 231 * Sydney, Australia 232 232 * 233 - * @generated from enum value: REGION_SYD = 17; 233 + * @generated from enum value: REGION_FLY_SYD = 17; 234 234 */ 235 - SYD = 17, 235 + FLY_SYD = 17, 236 236 237 237 /** 238 238 * Toronto, Canada 239 239 * 240 - * @generated from enum value: REGION_YYZ = 18; 240 + * @generated from enum value: REGION_FLY_YYZ = 18; 241 241 */ 242 - YYZ = 18, 242 + FLY_YYZ = 18, 243 243 244 244 /** 245 245 * Koyeb regions
+214 -13
src/gen/openstatus/monitor/v1/service_pb.ts
··· 30 30 */ 31 31 export const file_openstatus_monitor_v1_service: GenFile = /*@__PURE__*/ 32 32 fileDesc( 33 - "CiNvcGVuc3RhdHVzL21vbml0b3IvdjEvc2VydmljZS5wcm90bxIVb3BlbnN0YXR1cy5tb25pdG9yLnYxIlcKGENyZWF0ZUhUVFBNb25pdG9yUmVxdWVzdBI7Cgdtb25pdG9yGAEgASgLMiIub3BlbnN0YXR1cy5tb25pdG9yLnYxLkhUVFBNb25pdG9yQga6SAPIAQEiUAoZQ3JlYXRlSFRUUE1vbml0b3JSZXNwb25zZRIzCgdtb25pdG9yGAEgASgLMiIub3BlbnN0YXR1cy5tb25pdG9yLnYxLkhUVFBNb25pdG9yIlUKF0NyZWF0ZVRDUE1vbml0b3JSZXF1ZXN0EjoKB21vbml0b3IYASABKAsyIS5vcGVuc3RhdHVzLm1vbml0b3IudjEuVENQTW9uaXRvckIGukgDyAEBIk4KGENyZWF0ZVRDUE1vbml0b3JSZXNwb25zZRIyCgdtb25pdG9yGAEgASgLMiEub3BlbnN0YXR1cy5tb25pdG9yLnYxLlRDUE1vbml0b3IiVQoXQ3JlYXRlRE5TTW9uaXRvclJlcXVlc3QSOgoHbW9uaXRvchgBIAEoCzIhLm9wZW5zdGF0dXMubW9uaXRvci52MS5ETlNNb25pdG9yQga6SAPIAQEiTgoYQ3JlYXRlRE5TTW9uaXRvclJlc3BvbnNlEjIKB21vbml0b3IYASABKAsyIS5vcGVuc3RhdHVzLm1vbml0b3IudjEuRE5TTW9uaXRvciIsChVUcmlnZ2VyTW9uaXRvclJlcXVlc3QSEwoCaWQYASABKAlCB7pIBHICEAEiKQoWVHJpZ2dlck1vbml0b3JSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIisKFERlbGV0ZU1vbml0b3JSZXF1ZXN0EhMKAmlkGAEgASgJQge6SARyAhABIigKFURlbGV0ZU1vbml0b3JSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIm4KE0xpc3RNb25pdG9yc1JlcXVlc3QSIQoJcGFnZV9zaXplGAEgASgFQgm6SAYaBBhkKAFIAIgBARIXCgpwYWdlX3Rva2VuGAIgASgJSAGIAQFCDAoKX3BhZ2Vfc2l6ZUINCgtfcGFnZV90b2tlbiLwAQoUTGlzdE1vbml0b3JzUmVzcG9uc2USOQoNaHR0cF9tb25pdG9ycxgBIAMoCzIiLm9wZW5zdGF0dXMubW9uaXRvci52MS5IVFRQTW9uaXRvchI3Cgx0Y3BfbW9uaXRvcnMYAiADKAsyIS5vcGVuc3RhdHVzLm1vbml0b3IudjEuVENQTW9uaXRvchI3CgxkbnNfbW9uaXRvcnMYAyADKAsyIS5vcGVuc3RhdHVzLm1vbml0b3IudjEuRE5TTW9uaXRvchIXCg9uZXh0X3BhZ2VfdG9rZW4YBCABKAkSEgoKdG90YWxfc2l6ZRgFIAEoBSIuChdHZXRNb25pdG9yU3RhdHVzUmVxdWVzdBITCgJpZBgBIAEoCUIHukgEcgIQASJzCgxSZWdpb25TdGF0dXMSLQoGcmVnaW9uGAEgASgOMh0ub3BlbnN0YXR1cy5tb25pdG9yLnYxLlJlZ2lvbhI0CgZzdGF0dXMYAiABKA4yJC5vcGVuc3RhdHVzLm1vbml0b3IudjEuTW9uaXRvclN0YXR1cyJcChhHZXRNb25pdG9yU3RhdHVzUmVzcG9uc2USCgoCaWQYASABKAkSNAoHcmVnaW9ucxgCIAMoCzIjLm9wZW5zdGF0dXMubW9uaXRvci52MS5SZWdpb25TdGF0dXMisQEKDU1vbml0b3JDb25maWcSMgoEaHR0cBgBIAEoCzIiLm9wZW5zdGF0dXMubW9uaXRvci52MS5IVFRQTW9uaXRvckgAEjAKA3RjcBgCIAEoCzIhLm9wZW5zdGF0dXMubW9uaXRvci52MS5UQ1BNb25pdG9ySAASMAoDZG5zGAMgASgLMiEub3BlbnN0YXR1cy5tb25pdG9yLnYxLkROU01vbml0b3JIAEIICgZjb25maWcinwEKGEdldE1vbml0b3JTdW1tYXJ5UmVxdWVzdBITCgJpZBgBIAEoCUIHukgEcgIQARI0Cgp0aW1lX3JhbmdlGAIgASgOMiAub3BlbnN0YXR1cy5tb25pdG9yLnYxLlRpbWVSYW5nZRI4CgdyZWdpb25zGAMgAygOMh0ub3BlbnN0YXR1cy5tb25pdG9yLnYxLlJlZ2lvbkIIukgFkgECEBwirAIKGUdldE1vbml0b3JTdW1tYXJ5UmVzcG9uc2USCgoCaWQYASABKAkSFAoMbGFzdF9waW5nX2F0GAIgASgJEhgKEHRvdGFsX3N1Y2Nlc3NmdWwYAyABKAMSFgoOdG90YWxfZGVncmFkZWQYBCABKAMSFAoMdG90YWxfZmFpbGVkGAUgASgDEgsKA3A1MBgGIAEoAxILCgNwNzUYByABKAMSCwoDcDkwGAggASgDEgsKA3A5NRgJIAEoAxILCgNwOTkYCiABKAMSNAoKdGltZV9yYW5nZRgLIAEoDjIgLm9wZW5zdGF0dXMubW9uaXRvci52MS5UaW1lUmFuZ2USLgoHcmVnaW9ucxgMIAMoDjIdLm9wZW5zdGF0dXMubW9uaXRvci52MS5SZWdpb24qYQoJVGltZVJhbmdlEhoKFlRJTUVfUkFOR0VfVU5TUEVDSUZJRUQQABIRCg1USU1FX1JBTkdFXzFEEAESEQoNVElNRV9SQU5HRV83RBACEhIKDlRJTUVfUkFOR0VfMTREEAMyowcKDk1vbml0b3JTZXJ2aWNlEnYKEUNyZWF0ZUhUVFBNb25pdG9yEi8ub3BlbnN0YXR1cy5tb25pdG9yLnYxLkNyZWF0ZUhUVFBNb25pdG9yUmVxdWVzdBowLm9wZW5zdGF0dXMubW9uaXRvci52MS5DcmVhdGVIVFRQTW9uaXRvclJlc3BvbnNlEnMKEENyZWF0ZVRDUE1vbml0b3ISLi5vcGVuc3RhdHVzLm1vbml0b3IudjEuQ3JlYXRlVENQTW9uaXRvclJlcXVlc3QaLy5vcGVuc3RhdHVzLm1vbml0b3IudjEuQ3JlYXRlVENQTW9uaXRvclJlc3BvbnNlEnMKEENyZWF0ZUROU01vbml0b3ISLi5vcGVuc3RhdHVzLm1vbml0b3IudjEuQ3JlYXRlRE5TTW9uaXRvclJlcXVlc3QaLy5vcGVuc3RhdHVzLm1vbml0b3IudjEuQ3JlYXRlRE5TTW9uaXRvclJlc3BvbnNlEm0KDlRyaWdnZXJNb25pdG9yEiwub3BlbnN0YXR1cy5tb25pdG9yLnYxLlRyaWdnZXJNb25pdG9yUmVxdWVzdBotLm9wZW5zdGF0dXMubW9uaXRvci52MS5UcmlnZ2VyTW9uaXRvclJlc3BvbnNlEmoKDURlbGV0ZU1vbml0b3ISKy5vcGVuc3RhdHVzLm1vbml0b3IudjEuRGVsZXRlTW9uaXRvclJlcXVlc3QaLC5vcGVuc3RhdHVzLm1vbml0b3IudjEuRGVsZXRlTW9uaXRvclJlc3BvbnNlEmcKDExpc3RNb25pdG9ycxIqLm9wZW5zdGF0dXMubW9uaXRvci52MS5MaXN0TW9uaXRvcnNSZXF1ZXN0Gisub3BlbnN0YXR1cy5tb25pdG9yLnYxLkxpc3RNb25pdG9yc1Jlc3BvbnNlEnMKEEdldE1vbml0b3JTdGF0dXMSLi5vcGVuc3RhdHVzLm1vbml0b3IudjEuR2V0TW9uaXRvclN0YXR1c1JlcXVlc3QaLy5vcGVuc3RhdHVzLm1vbml0b3IudjEuR2V0TW9uaXRvclN0YXR1c1Jlc3BvbnNlEnYKEUdldE1vbml0b3JTdW1tYXJ5Ei8ub3BlbnN0YXR1cy5tb25pdG9yLnYxLkdldE1vbml0b3JTdW1tYXJ5UmVxdWVzdBowLm9wZW5zdGF0dXMubW9uaXRvci52MS5HZXRNb25pdG9yU3VtbWFyeVJlc3BvbnNlQlNaUWdpdGh1Yi5jb20vb3BlbnN0YXR1c2hxL29wZW5zdGF0dXMvcGFja2FnZXMvcHJvdG8vb3BlbnN0YXR1cy9tb25pdG9yL3YxO21vbml0b3J2MWIGcHJvdG8z", 33 + "CiNvcGVuc3RhdHVzL21vbml0b3IvdjEvc2VydmljZS5wcm90bxIVb3BlbnN0YXR1cy5tb25pdG9yLnYxIlcKGENyZWF0ZUhUVFBNb25pdG9yUmVxdWVzdBI7Cgdtb25pdG9yGAEgASgLMiIub3BlbnN0YXR1cy5tb25pdG9yLnYxLkhUVFBNb25pdG9yQga6SAPIAQEiUAoZQ3JlYXRlSFRUUE1vbml0b3JSZXNwb25zZRIzCgdtb25pdG9yGAEgASgLMiIub3BlbnN0YXR1cy5tb25pdG9yLnYxLkhUVFBNb25pdG9yIlUKF0NyZWF0ZVRDUE1vbml0b3JSZXF1ZXN0EjoKB21vbml0b3IYASABKAsyIS5vcGVuc3RhdHVzLm1vbml0b3IudjEuVENQTW9uaXRvckIGukgDyAEBIk4KGENyZWF0ZVRDUE1vbml0b3JSZXNwb25zZRIyCgdtb25pdG9yGAEgASgLMiEub3BlbnN0YXR1cy5tb25pdG9yLnYxLlRDUE1vbml0b3IiVQoXQ3JlYXRlRE5TTW9uaXRvclJlcXVlc3QSOgoHbW9uaXRvchgBIAEoCzIhLm9wZW5zdGF0dXMubW9uaXRvci52MS5ETlNNb25pdG9yQga6SAPIAQEiTgoYQ3JlYXRlRE5TTW9uaXRvclJlc3BvbnNlEjIKB21vbml0b3IYASABKAsyIS5vcGVuc3RhdHVzLm1vbml0b3IudjEuRE5TTW9uaXRvciJ1ChhVcGRhdGVIVFRQTW9uaXRvclJlcXVlc3QSEwoCaWQYASABKAlCB7pIBHICEAESOAoHbW9uaXRvchgCIAEoCzIiLm9wZW5zdGF0dXMubW9uaXRvci52MS5IVFRQTW9uaXRvckgAiAEBQgoKCF9tb25pdG9yIlAKGVVwZGF0ZUhUVFBNb25pdG9yUmVzcG9uc2USMwoHbW9uaXRvchgBIAEoCzIiLm9wZW5zdGF0dXMubW9uaXRvci52MS5IVFRQTW9uaXRvciJzChdVcGRhdGVUQ1BNb25pdG9yUmVxdWVzdBITCgJpZBgBIAEoCUIHukgEcgIQARI3Cgdtb25pdG9yGAIgASgLMiEub3BlbnN0YXR1cy5tb25pdG9yLnYxLlRDUE1vbml0b3JIAIgBAUIKCghfbW9uaXRvciJOChhVcGRhdGVUQ1BNb25pdG9yUmVzcG9uc2USMgoHbW9uaXRvchgBIAEoCzIhLm9wZW5zdGF0dXMubW9uaXRvci52MS5UQ1BNb25pdG9yInMKF1VwZGF0ZUROU01vbml0b3JSZXF1ZXN0EhMKAmlkGAEgASgJQge6SARyAhABEjcKB21vbml0b3IYAiABKAsyIS5vcGVuc3RhdHVzLm1vbml0b3IudjEuRE5TTW9uaXRvckgAiAEBQgoKCF9tb25pdG9yIk4KGFVwZGF0ZUROU01vbml0b3JSZXNwb25zZRIyCgdtb25pdG9yGAEgASgLMiEub3BlbnN0YXR1cy5tb25pdG9yLnYxLkROU01vbml0b3IiLAoVVHJpZ2dlck1vbml0b3JSZXF1ZXN0EhMKAmlkGAEgASgJQge6SARyAhABIikKFlRyaWdnZXJNb25pdG9yUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIrChREZWxldGVNb25pdG9yUmVxdWVzdBITCgJpZBgBIAEoCUIHukgEcgIQASIoChVEZWxldGVNb25pdG9yUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJuChNMaXN0TW9uaXRvcnNSZXF1ZXN0EiEKCXBhZ2Vfc2l6ZRgBIAEoBUIJukgGGgQYZCgBSACIAQESFwoKcGFnZV90b2tlbhgCIAEoCUgBiAEBQgwKCl9wYWdlX3NpemVCDQoLX3BhZ2VfdG9rZW4i8AEKFExpc3RNb25pdG9yc1Jlc3BvbnNlEjkKDWh0dHBfbW9uaXRvcnMYASADKAsyIi5vcGVuc3RhdHVzLm1vbml0b3IudjEuSFRUUE1vbml0b3ISNwoMdGNwX21vbml0b3JzGAIgAygLMiEub3BlbnN0YXR1cy5tb25pdG9yLnYxLlRDUE1vbml0b3ISNwoMZG5zX21vbml0b3JzGAMgAygLMiEub3BlbnN0YXR1cy5tb25pdG9yLnYxLkROU01vbml0b3ISFwoPbmV4dF9wYWdlX3Rva2VuGAQgASgJEhIKCnRvdGFsX3NpemUYBSABKAUiLgoXR2V0TW9uaXRvclN0YXR1c1JlcXVlc3QSEwoCaWQYASABKAlCB7pIBHICEAEicwoMUmVnaW9uU3RhdHVzEi0KBnJlZ2lvbhgBIAEoDjIdLm9wZW5zdGF0dXMubW9uaXRvci52MS5SZWdpb24SNAoGc3RhdHVzGAIgASgOMiQub3BlbnN0YXR1cy5tb25pdG9yLnYxLk1vbml0b3JTdGF0dXMiXAoYR2V0TW9uaXRvclN0YXR1c1Jlc3BvbnNlEgoKAmlkGAEgASgJEjQKB3JlZ2lvbnMYAiADKAsyIy5vcGVuc3RhdHVzLm1vbml0b3IudjEuUmVnaW9uU3RhdHVzIrEBCg1Nb25pdG9yQ29uZmlnEjIKBGh0dHAYASABKAsyIi5vcGVuc3RhdHVzLm1vbml0b3IudjEuSFRUUE1vbml0b3JIABIwCgN0Y3AYAiABKAsyIS5vcGVuc3RhdHVzLm1vbml0b3IudjEuVENQTW9uaXRvckgAEjAKA2RucxgDIAEoCzIhLm9wZW5zdGF0dXMubW9uaXRvci52MS5ETlNNb25pdG9ySABCCAoGY29uZmlnIp8BChhHZXRNb25pdG9yU3VtbWFyeVJlcXVlc3QSEwoCaWQYASABKAlCB7pIBHICEAESNAoKdGltZV9yYW5nZRgCIAEoDjIgLm9wZW5zdGF0dXMubW9uaXRvci52MS5UaW1lUmFuZ2USOAoHcmVnaW9ucxgDIAMoDjIdLm9wZW5zdGF0dXMubW9uaXRvci52MS5SZWdpb25CCLpIBZIBAhAcIqwCChlHZXRNb25pdG9yU3VtbWFyeVJlc3BvbnNlEgoKAmlkGAEgASgJEhQKDGxhc3RfcGluZ19hdBgCIAEoCRIYChB0b3RhbF9zdWNjZXNzZnVsGAMgASgDEhYKDnRvdGFsX2RlZ3JhZGVkGAQgASgDEhQKDHRvdGFsX2ZhaWxlZBgFIAEoAxILCgNwNTAYBiABKAMSCwoDcDc1GAcgASgDEgsKA3A5MBgIIAEoAxILCgNwOTUYCSABKAMSCwoDcDk5GAogASgDEjQKCnRpbWVfcmFuZ2UYCyABKA4yIC5vcGVuc3RhdHVzLm1vbml0b3IudjEuVGltZVJhbmdlEi4KB3JlZ2lvbnMYDCADKA4yHS5vcGVuc3RhdHVzLm1vbml0b3IudjEuUmVnaW9uKmEKCVRpbWVSYW5nZRIaChZUSU1FX1JBTkdFX1VOU1BFQ0lGSUVEEAASEQoNVElNRV9SQU5HRV8xRBABEhEKDVRJTUVfUkFOR0VfN0QQAhISCg5USU1FX1JBTkdFXzE0RBADMoUKCg5Nb25pdG9yU2VydmljZRJ2ChFDcmVhdGVIVFRQTW9uaXRvchIvLm9wZW5zdGF0dXMubW9uaXRvci52MS5DcmVhdGVIVFRQTW9uaXRvclJlcXVlc3QaMC5vcGVuc3RhdHVzLm1vbml0b3IudjEuQ3JlYXRlSFRUUE1vbml0b3JSZXNwb25zZRJzChBDcmVhdGVUQ1BNb25pdG9yEi4ub3BlbnN0YXR1cy5tb25pdG9yLnYxLkNyZWF0ZVRDUE1vbml0b3JSZXF1ZXN0Gi8ub3BlbnN0YXR1cy5tb25pdG9yLnYxLkNyZWF0ZVRDUE1vbml0b3JSZXNwb25zZRJzChBDcmVhdGVETlNNb25pdG9yEi4ub3BlbnN0YXR1cy5tb25pdG9yLnYxLkNyZWF0ZUROU01vbml0b3JSZXF1ZXN0Gi8ub3BlbnN0YXR1cy5tb25pdG9yLnYxLkNyZWF0ZUROU01vbml0b3JSZXNwb25zZRJ2ChFVcGRhdGVIVFRQTW9uaXRvchIvLm9wZW5zdGF0dXMubW9uaXRvci52MS5VcGRhdGVIVFRQTW9uaXRvclJlcXVlc3QaMC5vcGVuc3RhdHVzLm1vbml0b3IudjEuVXBkYXRlSFRUUE1vbml0b3JSZXNwb25zZRJzChBVcGRhdGVUQ1BNb25pdG9yEi4ub3BlbnN0YXR1cy5tb25pdG9yLnYxLlVwZGF0ZVRDUE1vbml0b3JSZXF1ZXN0Gi8ub3BlbnN0YXR1cy5tb25pdG9yLnYxLlVwZGF0ZVRDUE1vbml0b3JSZXNwb25zZRJzChBVcGRhdGVETlNNb25pdG9yEi4ub3BlbnN0YXR1cy5tb25pdG9yLnYxLlVwZGF0ZUROU01vbml0b3JSZXF1ZXN0Gi8ub3BlbnN0YXR1cy5tb25pdG9yLnYxLlVwZGF0ZUROU01vbml0b3JSZXNwb25zZRJtCg5UcmlnZ2VyTW9uaXRvchIsLm9wZW5zdGF0dXMubW9uaXRvci52MS5UcmlnZ2VyTW9uaXRvclJlcXVlc3QaLS5vcGVuc3RhdHVzLm1vbml0b3IudjEuVHJpZ2dlck1vbml0b3JSZXNwb25zZRJqCg1EZWxldGVNb25pdG9yEisub3BlbnN0YXR1cy5tb25pdG9yLnYxLkRlbGV0ZU1vbml0b3JSZXF1ZXN0Giwub3BlbnN0YXR1cy5tb25pdG9yLnYxLkRlbGV0ZU1vbml0b3JSZXNwb25zZRJnCgxMaXN0TW9uaXRvcnMSKi5vcGVuc3RhdHVzLm1vbml0b3IudjEuTGlzdE1vbml0b3JzUmVxdWVzdBorLm9wZW5zdGF0dXMubW9uaXRvci52MS5MaXN0TW9uaXRvcnNSZXNwb25zZRJzChBHZXRNb25pdG9yU3RhdHVzEi4ub3BlbnN0YXR1cy5tb25pdG9yLnYxLkdldE1vbml0b3JTdGF0dXNSZXF1ZXN0Gi8ub3BlbnN0YXR1cy5tb25pdG9yLnYxLkdldE1vbml0b3JTdGF0dXNSZXNwb25zZRJ2ChFHZXRNb25pdG9yU3VtbWFyeRIvLm9wZW5zdGF0dXMubW9uaXRvci52MS5HZXRNb25pdG9yU3VtbWFyeVJlcXVlc3QaMC5vcGVuc3RhdHVzLm1vbml0b3IudjEuR2V0TW9uaXRvclN1bW1hcnlSZXNwb25zZUJTWlFnaXRodWIuY29tL29wZW5zdGF0dXNocS9vcGVuc3RhdHVzL3BhY2thZ2VzL3Byb3RvL29wZW5zdGF0dXMvbW9uaXRvci92MTttb25pdG9ydjFiBnByb3RvMw", 34 34 [ 35 35 file_buf_validate_validate, 36 36 file_openstatus_monitor_v1_dns_monitor, ··· 191 191 messageDesc(file_openstatus_monitor_v1_service, 5); 192 192 193 193 /** 194 + * UpdateHTTPMonitorRequest is the request to update an existing HTTP monitor. 195 + * 196 + * @generated from message openstatus.monitor.v1.UpdateHTTPMonitorRequest 197 + */ 198 + export type UpdateHTTPMonitorRequest = 199 + & Message<"openstatus.monitor.v1.UpdateHTTPMonitorRequest"> 200 + & { 201 + /** 202 + * Monitor ID to update (required). 203 + * 204 + * @generated from field: string id = 1; 205 + */ 206 + id: string; 207 + 208 + /** 209 + * Updated monitor configuration (all fields optional for partial updates). 210 + * 211 + * @generated from field: optional openstatus.monitor.v1.HTTPMonitor monitor = 2; 212 + */ 213 + monitor?: HTTPMonitor; 214 + }; 215 + 216 + /** 217 + * Describes the message openstatus.monitor.v1.UpdateHTTPMonitorRequest. 218 + * Use `create(UpdateHTTPMonitorRequestSchema)` to create a new message. 219 + */ 220 + export const UpdateHTTPMonitorRequestSchema: GenMessage< 221 + UpdateHTTPMonitorRequest 222 + > = /*@__PURE__*/ 223 + messageDesc(file_openstatus_monitor_v1_service, 6); 224 + 225 + /** 226 + * UpdateHTTPMonitorResponse is the response after updating an HTTP monitor. 227 + * 228 + * @generated from message openstatus.monitor.v1.UpdateHTTPMonitorResponse 229 + */ 230 + export type UpdateHTTPMonitorResponse = 231 + & Message<"openstatus.monitor.v1.UpdateHTTPMonitorResponse"> 232 + & { 233 + /** 234 + * The updated monitor. 235 + * 236 + * @generated from field: openstatus.monitor.v1.HTTPMonitor monitor = 1; 237 + */ 238 + monitor?: HTTPMonitor; 239 + }; 240 + 241 + /** 242 + * Describes the message openstatus.monitor.v1.UpdateHTTPMonitorResponse. 243 + * Use `create(UpdateHTTPMonitorResponseSchema)` to create a new message. 244 + */ 245 + export const UpdateHTTPMonitorResponseSchema: GenMessage< 246 + UpdateHTTPMonitorResponse 247 + > = /*@__PURE__*/ 248 + messageDesc(file_openstatus_monitor_v1_service, 7); 249 + 250 + /** 251 + * UpdateTCPMonitorRequest is the request to update an existing TCP monitor. 252 + * 253 + * @generated from message openstatus.monitor.v1.UpdateTCPMonitorRequest 254 + */ 255 + export type UpdateTCPMonitorRequest = 256 + & Message<"openstatus.monitor.v1.UpdateTCPMonitorRequest"> 257 + & { 258 + /** 259 + * Monitor ID to update (required). 260 + * 261 + * @generated from field: string id = 1; 262 + */ 263 + id: string; 264 + 265 + /** 266 + * Updated monitor configuration (all fields optional for partial updates). 267 + * 268 + * @generated from field: optional openstatus.monitor.v1.TCPMonitor monitor = 2; 269 + */ 270 + monitor?: TCPMonitor; 271 + }; 272 + 273 + /** 274 + * Describes the message openstatus.monitor.v1.UpdateTCPMonitorRequest. 275 + * Use `create(UpdateTCPMonitorRequestSchema)` to create a new message. 276 + */ 277 + export const UpdateTCPMonitorRequestSchema: GenMessage< 278 + UpdateTCPMonitorRequest 279 + > = /*@__PURE__*/ 280 + messageDesc(file_openstatus_monitor_v1_service, 8); 281 + 282 + /** 283 + * UpdateTCPMonitorResponse is the response after updating a TCP monitor. 284 + * 285 + * @generated from message openstatus.monitor.v1.UpdateTCPMonitorResponse 286 + */ 287 + export type UpdateTCPMonitorResponse = 288 + & Message<"openstatus.monitor.v1.UpdateTCPMonitorResponse"> 289 + & { 290 + /** 291 + * The updated monitor. 292 + * 293 + * @generated from field: openstatus.monitor.v1.TCPMonitor monitor = 1; 294 + */ 295 + monitor?: TCPMonitor; 296 + }; 297 + 298 + /** 299 + * Describes the message openstatus.monitor.v1.UpdateTCPMonitorResponse. 300 + * Use `create(UpdateTCPMonitorResponseSchema)` to create a new message. 301 + */ 302 + export const UpdateTCPMonitorResponseSchema: GenMessage< 303 + UpdateTCPMonitorResponse 304 + > = /*@__PURE__*/ 305 + messageDesc(file_openstatus_monitor_v1_service, 9); 306 + 307 + /** 308 + * UpdateDNSMonitorRequest is the request to update an existing DNS monitor. 309 + * 310 + * @generated from message openstatus.monitor.v1.UpdateDNSMonitorRequest 311 + */ 312 + export type UpdateDNSMonitorRequest = 313 + & Message<"openstatus.monitor.v1.UpdateDNSMonitorRequest"> 314 + & { 315 + /** 316 + * Monitor ID to update (required). 317 + * 318 + * @generated from field: string id = 1; 319 + */ 320 + id: string; 321 + 322 + /** 323 + * Updated monitor configuration (all fields optional for partial updates). 324 + * 325 + * @generated from field: optional openstatus.monitor.v1.DNSMonitor monitor = 2; 326 + */ 327 + monitor?: DNSMonitor; 328 + }; 329 + 330 + /** 331 + * Describes the message openstatus.monitor.v1.UpdateDNSMonitorRequest. 332 + * Use `create(UpdateDNSMonitorRequestSchema)` to create a new message. 333 + */ 334 + export const UpdateDNSMonitorRequestSchema: GenMessage< 335 + UpdateDNSMonitorRequest 336 + > = /*@__PURE__*/ 337 + messageDesc(file_openstatus_monitor_v1_service, 10); 338 + 339 + /** 340 + * UpdateDNSMonitorResponse is the response after updating a DNS monitor. 341 + * 342 + * @generated from message openstatus.monitor.v1.UpdateDNSMonitorResponse 343 + */ 344 + export type UpdateDNSMonitorResponse = 345 + & Message<"openstatus.monitor.v1.UpdateDNSMonitorResponse"> 346 + & { 347 + /** 348 + * The updated monitor. 349 + * 350 + * @generated from field: openstatus.monitor.v1.DNSMonitor monitor = 1; 351 + */ 352 + monitor?: DNSMonitor; 353 + }; 354 + 355 + /** 356 + * Describes the message openstatus.monitor.v1.UpdateDNSMonitorResponse. 357 + * Use `create(UpdateDNSMonitorResponseSchema)` to create a new message. 358 + */ 359 + export const UpdateDNSMonitorResponseSchema: GenMessage< 360 + UpdateDNSMonitorResponse 361 + > = /*@__PURE__*/ 362 + messageDesc(file_openstatus_monitor_v1_service, 11); 363 + 364 + /** 194 365 * TriggerMonitorRequest is the request to trigger a monitor check. 195 366 * 196 367 * @generated from message openstatus.monitor.v1.TriggerMonitorRequest ··· 213 384 export const TriggerMonitorRequestSchema: GenMessage< 214 385 TriggerMonitorRequest 215 386 > = /*@__PURE__*/ 216 - messageDesc(file_openstatus_monitor_v1_service, 6); 387 + messageDesc(file_openstatus_monitor_v1_service, 12); 217 388 218 389 /** 219 390 * TriggerMonitorResponse is the response after triggering a monitor. ··· 238 409 export const TriggerMonitorResponseSchema: GenMessage< 239 410 TriggerMonitorResponse 240 411 > = /*@__PURE__*/ 241 - messageDesc(file_openstatus_monitor_v1_service, 7); 412 + messageDesc(file_openstatus_monitor_v1_service, 13); 242 413 243 414 /** 244 415 * DeleteMonitorRequest is the request to delete a monitor. ··· 263 434 export const DeleteMonitorRequestSchema: GenMessage< 264 435 DeleteMonitorRequest 265 436 > = /*@__PURE__*/ 266 - messageDesc(file_openstatus_monitor_v1_service, 8); 437 + messageDesc(file_openstatus_monitor_v1_service, 14); 267 438 268 439 /** 269 440 * DeleteMonitorResponse is the response after deleting a monitor. ··· 288 459 export const DeleteMonitorResponseSchema: GenMessage< 289 460 DeleteMonitorResponse 290 461 > = /*@__PURE__*/ 291 - messageDesc(file_openstatus_monitor_v1_service, 9); 462 + messageDesc(file_openstatus_monitor_v1_service, 15); 292 463 293 464 /** 294 465 * ListMonitorsRequest is the request to list monitors. ··· 320 491 export const ListMonitorsRequestSchema: GenMessage< 321 492 ListMonitorsRequest 322 493 > = /*@__PURE__*/ 323 - messageDesc(file_openstatus_monitor_v1_service, 10); 494 + messageDesc(file_openstatus_monitor_v1_service, 16); 324 495 325 496 /** 326 497 * ListMonitorsResponse is the response containing a list of monitors. ··· 373 544 export const ListMonitorsResponseSchema: GenMessage< 374 545 ListMonitorsResponse 375 546 > = /*@__PURE__*/ 376 - messageDesc(file_openstatus_monitor_v1_service, 11); 547 + messageDesc(file_openstatus_monitor_v1_service, 17); 377 548 378 549 /** 379 550 * GetMonitorStatusRequest is the request to get the status of all regions for a monitor. ··· 398 569 export const GetMonitorStatusRequestSchema: GenMessage< 399 570 GetMonitorStatusRequest 400 571 > = /*@__PURE__*/ 401 - messageDesc(file_openstatus_monitor_v1_service, 12); 572 + messageDesc(file_openstatus_monitor_v1_service, 18); 402 573 403 574 /** 404 575 * RegionStatus represents the status of a monitor in a specific region. ··· 426 597 * Use `create(RegionStatusSchema)` to create a new message. 427 598 */ 428 599 export const RegionStatusSchema: GenMessage<RegionStatus> = /*@__PURE__*/ 429 - messageDesc(file_openstatus_monitor_v1_service, 13); 600 + messageDesc(file_openstatus_monitor_v1_service, 19); 430 601 431 602 /** 432 603 * GetMonitorStatusResponse is the response containing the status of all regions for a monitor. ··· 458 629 export const GetMonitorStatusResponseSchema: GenMessage< 459 630 GetMonitorStatusResponse 460 631 > = /*@__PURE__*/ 461 - messageDesc(file_openstatus_monitor_v1_service, 14); 632 + messageDesc(file_openstatus_monitor_v1_service, 20); 462 633 463 634 /** 464 635 * MonitorConfig represents the type-specific configuration for a monitor. ··· 501 672 * Use `create(MonitorConfigSchema)` to create a new message. 502 673 */ 503 674 export const MonitorConfigSchema: GenMessage<MonitorConfig> = /*@__PURE__*/ 504 - messageDesc(file_openstatus_monitor_v1_service, 15); 675 + messageDesc(file_openstatus_monitor_v1_service, 21); 505 676 506 677 /** 507 678 * GetMonitorSummaryRequest is the request to get aggregated metrics for a monitor. ··· 540 711 export const GetMonitorSummaryRequestSchema: GenMessage< 541 712 GetMonitorSummaryRequest 542 713 > = /*@__PURE__*/ 543 - messageDesc(file_openstatus_monitor_v1_service, 16); 714 + messageDesc(file_openstatus_monitor_v1_service, 22); 544 715 545 716 /** 546 717 * GetMonitorSummaryResponse is the response containing aggregated metrics for a monitor. ··· 642 813 export const GetMonitorSummaryResponseSchema: GenMessage< 643 814 GetMonitorSummaryResponse 644 815 > = /*@__PURE__*/ 645 - messageDesc(file_openstatus_monitor_v1_service, 17); 816 + messageDesc(file_openstatus_monitor_v1_service, 23); 646 817 647 818 /** 648 819 * TimeRange represents the time period for metrics aggregation. ··· 720 891 methodKind: "unary"; 721 892 input: typeof CreateDNSMonitorRequestSchema; 722 893 output: typeof CreateDNSMonitorResponseSchema; 894 + }; 895 + /** 896 + * UpdateHTTPMonitor updates an existing HTTP monitor. 897 + * 898 + * @generated from rpc openstatus.monitor.v1.MonitorService.UpdateHTTPMonitor 899 + */ 900 + updateHTTPMonitor: { 901 + methodKind: "unary"; 902 + input: typeof UpdateHTTPMonitorRequestSchema; 903 + output: typeof UpdateHTTPMonitorResponseSchema; 904 + }; 905 + /** 906 + * UpdateTCPMonitor updates an existing TCP monitor. 907 + * 908 + * @generated from rpc openstatus.monitor.v1.MonitorService.UpdateTCPMonitor 909 + */ 910 + updateTCPMonitor: { 911 + methodKind: "unary"; 912 + input: typeof UpdateTCPMonitorRequestSchema; 913 + output: typeof UpdateTCPMonitorResponseSchema; 914 + }; 915 + /** 916 + * UpdateDNSMonitor updates an existing DNS monitor. 917 + * 918 + * @generated from rpc openstatus.monitor.v1.MonitorService.UpdateDNSMonitor 919 + */ 920 + updateDNSMonitor: { 921 + methodKind: "unary"; 922 + input: typeof UpdateDNSMonitorRequestSchema; 923 + output: typeof UpdateDNSMonitorResponseSchema; 723 924 }; 724 925 /** 725 926 * TriggerMonitor initiates an immediate check for a monitor.
+31 -11
src/mod.ts
··· 5 5 * 6 6 * @example Basic usage 7 7 * ```typescript 8 - * import { openstatus } from "@openstatus/node-sdk"; 8 + * import { openstatus, Periodicity, Region } from "@openstatus/sdk-node"; 9 9 * 10 10 * const headers = { 11 11 * "x-openstatus-key": `Bearer ${process.env.OPENSTATUS_API_KEY}`, ··· 17 17 * 18 18 * // Create an HTTP monitor 19 19 * const { monitor } = await openstatus.monitor.v1.MonitorService.createHTTPMonitor({ 20 - * name: "My API", 21 - * url: "https://api.example.com/health", 22 - * periodicity: "1m", 23 - * regions: ["ams", "iad", "syd"], 24 - * active: true, 20 + * monitor: { 21 + * name: "My API", 22 + * url: "https://api.example.com/health", 23 + * periodicity: Periodicity.PERIODICITY_1M, 24 + * regions: [Region.FLY_AMS, Region.FLY_IAD, Region.FLY_SYD], 25 + * active: true, 26 + * }, 25 27 * }, { headers }); 26 28 * ``` 27 29 */ ··· 49 51 HeaderAssertion, 50 52 RecordAssertion, 51 53 StatusCodeAssertion, 54 + } from "./gen/openstatus/monitor/v1/assertions_pb.ts"; 55 + 56 + // Re-export assertion comparator enums 57 + export { 58 + NumberComparator, 59 + StringComparator, 60 + RecordComparator, 52 61 } from "./gen/openstatus/monitor/v1/assertions_pb.ts"; 53 62 54 63 // Re-export enums ··· 66 75 CreateHTTPMonitorResponse, 67 76 CreateTCPMonitorRequest, 68 77 CreateTCPMonitorResponse, 78 + UpdateDNSMonitorRequest, 79 + UpdateDNSMonitorResponse, 80 + UpdateHTTPMonitorRequest, 81 + UpdateHTTPMonitorResponse, 82 + UpdateTCPMonitorRequest, 83 + UpdateTCPMonitorResponse, 69 84 DeleteMonitorRequest, 70 85 DeleteMonitorResponse, 71 86 GetMonitorStatusRequest, ··· 120 135 * - `createHTTPMonitor` - Create a new HTTP monitor 121 136 * - `createTCPMonitor` - Create a new TCP monitor 122 137 * - `createDNSMonitor` - Create a new DNS monitor 138 + * - `updateHTTPMonitor` - Update an existing HTTP monitor 139 + * - `updateTCPMonitor` - Update an existing TCP monitor 140 + * - `updateDNSMonitor` - Update an existing DNS monitor 123 141 * - `listMonitors` - List all monitors 124 142 * - `triggerMonitor` - Trigger an immediate check 125 143 * - `deleteMonitor` - Delete a monitor ··· 152 170 * 153 171 * @example 154 172 * ```typescript 155 - * import { openstatus } from "@openstatus/node-sdk"; 173 + * import { openstatus, Periodicity } from "@openstatus/sdk-node"; 156 174 * 157 175 * // Check API health (no auth required) 158 176 * const { status } = await openstatus.health.v1.HealthService.check({}); ··· 160 178 * // Create a monitor (auth required) 161 179 * const headers = { "x-openstatus-key": `Bearer ${process.env.OPENSTATUS_API_KEY}` }; 162 180 * const { monitor } = await openstatus.monitor.v1.MonitorService.createHTTPMonitor({ 163 - * name: "My Website", 164 - * url: "https://example.com", 165 - * periodicity: "1m", 166 - * active: true, 181 + * monitor: { 182 + * name: "My Website", 183 + * url: "https://example.com", 184 + * periodicity: Periodicity.PERIODICITY_1M, 185 + * active: true, 186 + * }, 167 187 * }, { headers }); 168 188 * ``` 169 189 */