github.com/openshift-online/ocm-sdk-go@v0.1.473/openapi/service_logs/v1/openapi.json (about) 1 { 2 "openapi": "3.0.0", 3 "info": { 4 "version": "v1", 5 "title": "service_logs", 6 "license": { 7 "name": "Apache 2.0", 8 "url": "http://www.apache.org/licenses/LICENSE-2.0" 9 }, 10 "contact": { 11 "name": "OCM Feedback", 12 "email": "ocm-feedback@redhat.com" 13 } 14 }, 15 "servers": [ 16 { 17 "description": "Production", 18 "url": "https://api.openshift.com" 19 }, 20 { 21 "description": "Stage", 22 "url": "https://api.stage.openshift.com" 23 } 24 ], 25 "paths": { 26 "/api/service_logs/v1": { 27 "get": { 28 "description": "Retrieves the version metadata.", 29 "responses": { 30 "200": { 31 "description": "Success.", 32 "content": { 33 "application/json": { 34 "schema": { 35 "$ref": "#/components/schemas/Metadata" 36 } 37 } 38 } 39 }, 40 "default": { 41 "description": "Error.", 42 "content": { 43 "application/json": { 44 "schema": { 45 "$ref": "#/components/schemas/Error" 46 } 47 } 48 } 49 } 50 } 51 } 52 }, 53 "/api/service_logs/v1/cluster_logs": { 54 "post": { 55 "description": "Creates a new log entry.", 56 "requestBody": { 57 "content": { 58 "application/json": { 59 "schema": { 60 "$ref": "#/components/schemas/LogEntry" 61 } 62 } 63 } 64 }, 65 "responses": { 66 "201": { 67 "description": "Success.", 68 "content": { 69 "application/json": { 70 "schema": { 71 "$ref": "#/components/schemas/LogEntry" 72 } 73 } 74 } 75 }, 76 "default": { 77 "description": "Error.", 78 "content": { 79 "application/json": { 80 "schema": { 81 "$ref": "#/components/schemas/Error" 82 } 83 } 84 } 85 } 86 } 87 }, 88 "get": { 89 "description": "Retrieves the list of cluster logs.\nUse this endpoint to list service logs (including private logs).\nThis endpoint is limited to users who allowed to view private logs.", 90 "parameters": [ 91 { 92 "name": "order", 93 "description": "Order criteria.\n\nThe syntax of this parameter is similar to the syntax of the _order by_ clause of\na SQL statement. For example, in order to sort the\ncluster logs descending by name identifier the value should be:\n\n```sql\nname desc\n```\n\nIf the parameter isn't provided, or if the value is empty, then the order of the\nresults is undefined.", 94 "in": "query", 95 "schema": { 96 "type": "string" 97 } 98 }, 99 { 100 "name": "page", 101 "description": "Index of the requested page, where one corresponds to the first page.", 102 "in": "query", 103 "schema": { 104 "type": "integer", 105 "format": "int32" 106 } 107 }, 108 { 109 "name": "search", 110 "description": "Search criteria.\n\nThe syntax of this parameter is similar to the syntax of the _where_ clause\nof an SQL statement, but using the names of the attributes of the cluster logs\ninstead of the names of the columns of a table. For example, in order to\nretrieve cluster logs with service_name starting with my:\n\n```sql\nservice_name like 'my%'\n```\n\nIf the parameter isn't provided, or if the value is empty, then all the\nitems that the user has permission to see will be returned.", 111 "in": "query", 112 "schema": { 113 "type": "string" 114 } 115 }, 116 { 117 "name": "size", 118 "description": "Maximum number of items that will be contained in the returned page.", 119 "in": "query", 120 "schema": { 121 "type": "integer", 122 "format": "int32" 123 } 124 } 125 ], 126 "responses": { 127 "200": { 128 "description": "Success.", 129 "content": { 130 "application/json": { 131 "schema": { 132 "type": "object", 133 "properties": { 134 "items": { 135 "description": "Retrieved list of Cluster logs.", 136 "type": "array", 137 "items": { 138 "$ref": "#/components/schemas/LogEntry" 139 } 140 }, 141 "page": { 142 "description": "Index of the requested page, where one corresponds to the first page.", 143 "type": "integer", 144 "format": "int32" 145 }, 146 "size": { 147 "description": "Maximum number of items that will be contained in the returned page.", 148 "type": "integer", 149 "format": "int32" 150 }, 151 "total": { 152 "description": "Total number of items of the collection that match the search criteria,\nregardless of the size of the page.", 153 "type": "integer", 154 "format": "int32" 155 } 156 } 157 } 158 } 159 } 160 }, 161 "default": { 162 "description": "Error.", 163 "content": { 164 "application/json": { 165 "schema": { 166 "$ref": "#/components/schemas/Error" 167 } 168 } 169 } 170 } 171 } 172 } 173 }, 174 "/api/service_logs/v1/cluster_logs/{log_entry_id}": { 175 "delete": { 176 "description": "Deletes the log entry.", 177 "parameters": [ 178 { 179 "name": "log_entry_id", 180 "in": "path", 181 "schema": { 182 "type": "string" 183 }, 184 "required": true 185 } 186 ], 187 "responses": { 188 "204": { 189 "description": "Success." 190 }, 191 "default": { 192 "description": "Error.", 193 "content": { 194 "application/json": { 195 "schema": { 196 "$ref": "#/components/schemas/Error" 197 } 198 } 199 } 200 } 201 } 202 }, 203 "get": { 204 "description": "Retrieves the details of the log entry.", 205 "parameters": [ 206 { 207 "name": "log_entry_id", 208 "in": "path", 209 "schema": { 210 "type": "string" 211 }, 212 "required": true 213 } 214 ], 215 "responses": { 216 "200": { 217 "description": "Success.", 218 "content": { 219 "application/json": { 220 "schema": { 221 "$ref": "#/components/schemas/LogEntry" 222 } 223 } 224 } 225 }, 226 "default": { 227 "description": "Error.", 228 "content": { 229 "application/json": { 230 "schema": { 231 "$ref": "#/components/schemas/Error" 232 } 233 } 234 } 235 } 236 } 237 } 238 }, 239 "/api/service_logs/v1/clusters/cluster_logs": { 240 "get": { 241 "description": "Retrieves the list of cluster logs by the cluster_id and/or cluster_uuid parameters.\nUse this endpoint to list service logs for a specific cluster (excluding private logs).\nAny authenticated user is able to use this endpoint without any special permissions.", 242 "parameters": [ 243 { 244 "name": "cluster_id", 245 "description": "cluster_id parameter.", 246 "in": "query", 247 "schema": { 248 "type": "string" 249 } 250 }, 251 { 252 "name": "cluster_uuid", 253 "description": "cluster_uuid parameter.", 254 "in": "query", 255 "schema": { 256 "type": "string" 257 } 258 }, 259 { 260 "name": "order", 261 "description": "Order criteria.\n\nThe syntax of this parameter is similar to the syntax of the _order by_ clause of\na SQL statement. For example, in order to sort the\ncluster logs descending by name identifier the value should be:\n\n```sql\nname desc\n```\n\nIf the parameter isn't provided, or if the value is empty, then the order of the\nresults is undefined.", 262 "in": "query", 263 "schema": { 264 "type": "string" 265 } 266 }, 267 { 268 "name": "page", 269 "description": "Index of the requested page, where one corresponds to the first page.", 270 "in": "query", 271 "schema": { 272 "type": "integer", 273 "format": "int32" 274 } 275 }, 276 { 277 "name": "search", 278 "description": "Search criteria.\n\nThe syntax of this parameter is similar to the syntax of the _where_ clause\nof an SQL statement, but using the names of the attributes of the cluster logs\ninstead of the names of the columns of a table. For example, in order to\nretrieve cluster logs with service_name starting with my:\n\n```sql\nservice_name like 'my%'\n```\n\nIf the parameter isn't provided, or if the value is empty, then all the\nitems that the user has permission to see will be returned.", 279 "in": "query", 280 "schema": { 281 "type": "string" 282 } 283 }, 284 { 285 "name": "size", 286 "description": "Maximum number of items that will be contained in the returned page.", 287 "in": "query", 288 "schema": { 289 "type": "integer", 290 "format": "int32" 291 } 292 } 293 ], 294 "responses": { 295 "200": { 296 "description": "Success.", 297 "content": { 298 "application/json": { 299 "schema": { 300 "type": "object", 301 "properties": { 302 "items": { 303 "description": "Retrieved list of Cluster logs.", 304 "type": "array", 305 "items": { 306 "$ref": "#/components/schemas/LogEntry" 307 } 308 }, 309 "page": { 310 "description": "Index of the requested page, where one corresponds to the first page.", 311 "type": "integer", 312 "format": "int32" 313 }, 314 "size": { 315 "description": "Maximum number of items that will be contained in the returned page.", 316 "type": "integer", 317 "format": "int32" 318 }, 319 "total": { 320 "description": "Total number of items of the collection that match the search criteria,\nregardless of the size of the page.", 321 "type": "integer", 322 "format": "int32" 323 } 324 } 325 } 326 } 327 } 328 }, 329 "default": { 330 "description": "Error.", 331 "content": { 332 "application/json": { 333 "schema": { 334 "$ref": "#/components/schemas/Error" 335 } 336 } 337 } 338 } 339 } 340 } 341 }, 342 "/api/service_logs/v1/clusters/{cluster_id}/cluster_logs": { 343 "get": { 344 "description": "Retrieves the list of cluster logs by cluster uuid.", 345 "parameters": [ 346 { 347 "name": "cluster_id", 348 "in": "path", 349 "schema": { 350 "type": "string" 351 }, 352 "required": true 353 }, 354 { 355 "name": "order", 356 "description": "Order criteria.\n\nThe syntax of this parameter is similar to the syntax of the _order by_ clause of\na SQL statement. For example, in order to sort the\ncluster logs descending by name identifier the value should be:\n\n```sql\nname desc\n```\n\nIf the parameter isn't provided, or if the value is empty, then the order of the\nresults is undefined.", 357 "in": "query", 358 "schema": { 359 "type": "string" 360 } 361 }, 362 { 363 "name": "page", 364 "description": "Index of the requested page, where one corresponds to the first page.", 365 "in": "query", 366 "schema": { 367 "type": "integer", 368 "format": "int32" 369 } 370 }, 371 { 372 "name": "search", 373 "description": "Search criteria.\n\nThe syntax of this parameter is similar to the syntax of the _where_ clause\nof an SQL statement, but using the names of the attributes of the cluster logs\ninstead of the names of the columns of a table. For example, in order to\nretrieve cluster logs with service_name starting with my:\n\n```sql\nservice_name like 'my%'\n```\n\nIf the parameter isn't provided, or if the value is empty, then all the\nitems that the user has permission to see will be returned.", 374 "in": "query", 375 "schema": { 376 "type": "string" 377 } 378 }, 379 { 380 "name": "size", 381 "description": "Maximum number of items that will be contained in the returned page.", 382 "in": "query", 383 "schema": { 384 "type": "integer", 385 "format": "int32" 386 } 387 } 388 ], 389 "responses": { 390 "200": { 391 "description": "Success.", 392 "content": { 393 "application/json": { 394 "schema": { 395 "type": "object", 396 "properties": { 397 "items": { 398 "description": "Retrieved list of Cluster logs.", 399 "type": "array", 400 "items": { 401 "$ref": "#/components/schemas/LogEntry" 402 } 403 }, 404 "page": { 405 "description": "Index of the requested page, where one corresponds to the first page.", 406 "type": "integer", 407 "format": "int32" 408 }, 409 "size": { 410 "description": "Maximum number of items that will be contained in the returned page.", 411 "type": "integer", 412 "format": "int32" 413 }, 414 "total": { 415 "description": "Total number of items of the collection that match the search criteria,\nregardless of the size of the page.", 416 "type": "integer", 417 "format": "int32" 418 } 419 } 420 } 421 } 422 } 423 }, 424 "default": { 425 "description": "Error.", 426 "content": { 427 "application/json": { 428 "schema": { 429 "$ref": "#/components/schemas/Error" 430 } 431 } 432 } 433 } 434 } 435 } 436 } 437 }, 438 "components": { 439 "schemas": { 440 "Metadata": { 441 "description": "Version metadata.", 442 "properties": { 443 "server_version": { 444 "description": "Version of the server.", 445 "type": "string" 446 } 447 } 448 }, 449 "LogEntry": { 450 "properties": { 451 "kind": { 452 "description": "Indicates the type of this object. Will be 'LogEntry' if this is a complete object or 'LogEntryLink' if it is just a link.", 453 "type": "string" 454 }, 455 "id": { 456 "description": "Unique identifier of the object.", 457 "type": "string" 458 }, 459 "href": { 460 "description": "Self link.", 461 "type": "string" 462 }, 463 "cluster_id": { 464 "description": "Internal cluster ID.", 465 "type": "string" 466 }, 467 "cluster_uuid": { 468 "description": "External cluster ID.", 469 "type": "string" 470 }, 471 "created_at": { 472 "description": "The time at which the cluster log was created.", 473 "type": "string", 474 "format": "date-time" 475 }, 476 "created_by": { 477 "description": "The name of the user who created the cluster log.", 478 "type": "string" 479 }, 480 "description": { 481 "description": "Full description of the log entry content (supports Markdown format as well).", 482 "type": "string" 483 }, 484 "doc_references": { 485 "description": "The list of documentation references (i.e links) contained in the event.", 486 "type": "array", 487 "items": { 488 "type": "string" 489 } 490 }, 491 "event_stream_id": { 492 "description": "Log custom event id for a simple search of related cluster logs.", 493 "type": "string" 494 }, 495 "internal_only": { 496 "description": "A flag that indicates whether the log entry should be internal/private only.", 497 "type": "boolean" 498 }, 499 "log_type": { 500 "description": "Type of the service log entry.", 501 "$ref": "#/components/schemas/LogType" 502 }, 503 "service_name": { 504 "description": "The name of the service who created the log.", 505 "type": "string" 506 }, 507 "severity": { 508 "description": "Log severity for the specific log entry.", 509 "$ref": "#/components/schemas/Severity" 510 }, 511 "subscription_id": { 512 "description": "The related subscription id of the cluster.", 513 "type": "string" 514 }, 515 "summary": { 516 "description": "Title of the log entry.", 517 "type": "string" 518 }, 519 "timestamp": { 520 "type": "string", 521 "format": "date-time" 522 }, 523 "username": { 524 "description": "The username that triggered the event (if available).", 525 "type": "string" 526 } 527 } 528 }, 529 "LogType": { 530 "description": "Representation of the log type field used in cluster log type model.", 531 "type": "string", 532 "enum": [ 533 "clustercreate-details", 534 "clustercreate-high-level", 535 "clusterremove-details", 536 "clusterremove-high-level", 537 "cluster-state-updates" 538 ] 539 }, 540 "Severity": { 541 "type": "string", 542 "enum": [ 543 "Debug", 544 "Error", 545 "Fatal", 546 "Info", 547 "Warning" 548 ] 549 }, 550 "Error": { 551 "type": "object", 552 "properties": { 553 "kind": { 554 "description": "Indicates the type of this object. Will always be 'Error'", 555 "type": "string" 556 }, 557 "id": { 558 "description": "Numeric identifier of the error.", 559 "type": "integer", 560 "format": "int32" 561 }, 562 "href": { 563 "description": "Self link.", 564 "type": "string" 565 }, 566 "code": { 567 "description": "Globally unique code of the error, composed of the unique identifier of the API and the numeric identifier of the error. For example, for if the numeric identifier of the error is `93` and the identifier of the API is `clusters_mgmt` then the code will be `CLUSTERS-MGMT-93`.", 568 "type": "string" 569 }, 570 "reason": { 571 "description": "Human readable description of the error.", 572 "type": "string" 573 }, 574 "details": { 575 "description": "Extra information about the error.", 576 "type": "object", 577 "additionalProperties": true 578 } 579 } 580 } 581 }, 582 "securitySchemes": { 583 "bearer": { 584 "type": "http", 585 "scheme": "bearer", 586 "bearerFormat": "JWT" 587 } 588 } 589 }, 590 "security": [ 591 { 592 "bearer": [ 593 594 ] 595 } 596 ] 597 }