github.com/percona/percona-xtradb-cluster-operator@v1.14.0/version/version.swagger.yaml (about) 1 swagger: "2.0" 2 info: 3 title: api/version.proto 4 version: "1.0" 5 schemes: 6 - http 7 - https 8 consumes: 9 - application/json 10 produces: 11 - application/json 12 paths: 13 /versions/v1/{product}: 14 get: 15 summary: Product versions for all operator version 16 description: Return product versions for all operator 17 operationId: VersionService_Product 18 responses: 19 "200": 20 description: A successful response. 21 schema: 22 $ref: '#/definitions/versionProductResponse' 23 default: 24 description: An unexpected error response 25 schema: 26 $ref: '#/definitions/googlerpcStatus' 27 parameters: 28 - name: product 29 in: path 30 required: true 31 type: string 32 - name: databaseVersion 33 in: query 34 required: false 35 type: string 36 - name: kubeVersion 37 in: query 38 required: false 39 type: string 40 - name: platform 41 in: query 42 required: false 43 type: string 44 - name: pmmVersion 45 in: query 46 required: false 47 type: string 48 - name: backupVersion 49 in: query 50 required: false 51 type: string 52 - name: proxysqlVersion 53 in: query 54 required: false 55 type: string 56 - name: haproxyVersion 57 in: query 58 required: false 59 type: string 60 - name: namespaceUid 61 in: query 62 required: false 63 type: string 64 - name: customResourceUid 65 in: query 66 required: false 67 type: string 68 - name: logCollectorVersion 69 in: query 70 required: false 71 type: string 72 - name: shardingEnabled 73 in: query 74 required: false 75 type: boolean 76 format: boolean 77 - name: hashicorpVaultEnabled 78 in: query 79 required: false 80 type: boolean 81 format: boolean 82 - name: clusterWideEnabled 83 in: query 84 required: false 85 type: boolean 86 format: boolean 87 tags: 88 - VersionService 89 /versions/v1/{product}/{operatorVersion}: 90 get: 91 summary: Product versions for specific operator version 92 description: Return product versions for specific operator 93 operationId: VersionService_Operator 94 responses: 95 "200": 96 description: A successful response. 97 schema: 98 $ref: '#/definitions/versionOperatorResponse' 99 default: 100 description: An unexpected error response 101 schema: 102 $ref: '#/definitions/googlerpcStatus' 103 parameters: 104 - name: product 105 in: path 106 required: true 107 type: string 108 - name: operatorVersion 109 in: path 110 required: true 111 type: string 112 - name: databaseVersion 113 in: query 114 required: false 115 type: string 116 - name: kubeVersion 117 in: query 118 required: false 119 type: string 120 - name: platform 121 in: query 122 required: false 123 type: string 124 - name: pmmVersion 125 in: query 126 required: false 127 type: string 128 - name: backupVersion 129 in: query 130 required: false 131 type: string 132 - name: proxysqlVersion 133 in: query 134 required: false 135 type: string 136 - name: haproxyVersion 137 in: query 138 required: false 139 type: string 140 - name: namespaceUid 141 in: query 142 required: false 143 type: string 144 - name: customResourceUid 145 in: query 146 required: false 147 type: string 148 - name: logCollectorVersion 149 in: query 150 required: false 151 type: string 152 - name: shardingEnabled 153 in: query 154 required: false 155 type: boolean 156 format: boolean 157 - name: hashicorpVaultEnabled 158 in: query 159 required: false 160 type: boolean 161 format: boolean 162 - name: clusterWideEnabled 163 in: query 164 required: false 165 type: boolean 166 format: boolean 167 tags: 168 - VersionService 169 /versions/v1/{product}/{operatorVersion}/{apply}: 170 get: 171 summary: Specific version 172 description: Return specific product version 173 operationId: VersionService_Apply 174 responses: 175 "200": 176 description: A successful response. 177 schema: 178 $ref: '#/definitions/versionVersionResponse' 179 default: 180 description: An unexpected error response 181 schema: 182 $ref: '#/definitions/googlerpcStatus' 183 parameters: 184 - name: product 185 in: path 186 required: true 187 type: string 188 - name: operatorVersion 189 in: path 190 required: true 191 type: string 192 - name: apply 193 in: path 194 required: true 195 type: string 196 - name: databaseVersion 197 in: query 198 required: false 199 type: string 200 - name: kubeVersion 201 in: query 202 required: false 203 type: string 204 - name: platform 205 in: query 206 required: false 207 type: string 208 - name: pmmVersion 209 in: query 210 required: false 211 type: string 212 - name: backupVersion 213 in: query 214 required: false 215 type: string 216 - name: proxysqlVersion 217 in: query 218 required: false 219 type: string 220 - name: haproxyVersion 221 in: query 222 required: false 223 type: string 224 - name: namespaceUid 225 in: query 226 required: false 227 type: string 228 - name: customResourceUid 229 in: query 230 required: false 231 type: string 232 - name: logCollectorVersion 233 in: query 234 required: false 235 type: string 236 - name: shardingEnabled 237 in: query 238 required: false 239 type: boolean 240 format: boolean 241 - name: hashicorpVaultEnabled 242 in: query 243 required: false 244 type: boolean 245 format: boolean 246 - name: clusterWideEnabled 247 in: query 248 required: false 249 type: boolean 250 format: boolean 251 tags: 252 - VersionService 253 definitions: 254 googlerpcStatus: 255 type: object 256 properties: 257 code: 258 type: integer 259 format: int32 260 message: 261 type: string 262 details: 263 type: array 264 items: 265 $ref: '#/definitions/protobufAny' 266 protobufAny: 267 type: object 268 properties: 269 typeUrl: 270 type: string 271 description: |- 272 A URL/resource name that uniquely identifies the type of the serialized 273 protocol buffer message. This string must contain at least 274 one "/" character. The last segment of the URL's path must represent 275 the fully qualified name of the type (as in 276 `path/google.protobuf.Duration`). The name should be in a canonical form 277 (e.g., leading "." is not accepted). 278 279 In practice, teams usually precompile into the binary all types that they 280 expect it to use in the context of Any. However, for URLs which use the 281 scheme `http`, `https`, or no scheme, one can optionally set up a type 282 server that maps type URLs to message definitions as follows: 283 284 * If no scheme is provided, `https` is assumed. 285 * An HTTP GET on the URL must yield a [google.protobuf.Type][] 286 value in binary format, or produce an error. 287 * Applications are allowed to cache lookup results based on the 288 URL, or have them precompiled into a binary to avoid any 289 lookup. Therefore, binary compatibility needs to be preserved 290 on changes to types. (Use versioned type names to manage 291 breaking changes.) 292 293 Note: this functionality is not currently available in the official 294 protobuf release, and it is not used for type URLs beginning with 295 type.googleapis.com. 296 297 Schemes other than `http`, `https` (or the empty scheme) might be 298 used with implementation specific semantics. 299 value: 300 type: string 301 format: byte 302 description: Must be a valid serialized protocol buffer of the above specified type. 303 description: |- 304 `Any` contains an arbitrary serialized protocol buffer message along with a 305 URL that describes the type of the serialized message. 306 307 Protobuf library provides support to pack/unpack Any values in the form 308 of utility functions or additional generated methods of the Any type. 309 310 Example 1: Pack and unpack a message in C++. 311 312 Foo foo = ...; 313 Any any; 314 any.PackFrom(foo); 315 ... 316 if (any.UnpackTo(&foo)) { 317 ... 318 } 319 320 Example 2: Pack and unpack a message in Java. 321 322 Foo foo = ...; 323 Any any = Any.pack(foo); 324 ... 325 if (any.is(Foo.class)) { 326 foo = any.unpack(Foo.class); 327 } 328 329 Example 3: Pack and unpack a message in Python. 330 331 foo = Foo(...) 332 any = Any() 333 any.Pack(foo) 334 ... 335 if any.Is(Foo.DESCRIPTOR): 336 any.Unpack(foo) 337 ... 338 339 Example 4: Pack and unpack a message in Go 340 341 foo := &pb.Foo{...} 342 any, err := ptypes.MarshalAny(foo) 343 ... 344 foo := &pb.Foo{} 345 if err := ptypes.UnmarshalAny(any, foo); err != nil { 346 ... 347 } 348 349 The pack methods provided by protobuf library will by default use 350 'type.googleapis.com/full.type.name' as the type URL and the unpack 351 methods only use the fully qualified type name after the last '/' 352 in the type URL, for example "foo.bar.com/x/y.z" will yield type 353 name "y.z". 354 355 356 JSON 357 ==== 358 The JSON representation of an `Any` value uses the regular 359 representation of the deserialized, embedded message, with an 360 additional field `@type` which contains the type URL. Example: 361 362 package google.profile; 363 message Person { 364 string first_name = 1; 365 string last_name = 2; 366 } 367 368 { 369 "@type": "type.googleapis.com/google.profile.Person", 370 "firstName": <string>, 371 "lastName": <string> 372 } 373 374 If the embedded message type is well-known and has a custom JSON 375 representation, that representation will be embedded adding a field 376 `value` which holds the custom JSON in addition to the `@type` 377 field. Example (for message [google.protobuf.Duration][]): 378 379 { 380 "@type": "type.googleapis.com/google.protobuf.Duration", 381 "value": "1.212s" 382 } 383 versionOperatorResponse: 384 type: object 385 properties: 386 versions: 387 type: array 388 items: 389 $ref: '#/definitions/versionOperatorVersion' 390 versionOperatorVersion: 391 type: object 392 properties: 393 product: 394 type: string 395 operator: 396 type: string 397 matrix: 398 $ref: '#/definitions/versionVersionMatrix' 399 description: OperatorVersion represents operator version. 400 versionProductResponse: 401 type: object 402 properties: 403 versions: 404 type: array 405 items: 406 $ref: '#/definitions/versionOperatorVersion' 407 versionStatus: 408 type: string 409 enum: 410 - status_invalid 411 - recommended 412 - available 413 - required 414 - disabled 415 default: status_invalid 416 description: Status describes the current version status. 417 versionVersion: 418 type: object 419 properties: 420 imagePath: 421 type: string 422 imageHash: 423 type: string 424 status: 425 $ref: '#/definitions/versionStatus' 426 critical: 427 type: boolean 428 format: boolean 429 description: Version represents product version information. 430 versionVersionMatrix: 431 type: object 432 properties: 433 mongod: 434 type: object 435 additionalProperties: 436 $ref: '#/definitions/versionVersion' 437 pxc: 438 type: object 439 additionalProperties: 440 $ref: '#/definitions/versionVersion' 441 pmm: 442 type: object 443 additionalProperties: 444 $ref: '#/definitions/versionVersion' 445 proxysql: 446 type: object 447 additionalProperties: 448 $ref: '#/definitions/versionVersion' 449 haproxy: 450 type: object 451 additionalProperties: 452 $ref: '#/definitions/versionVersion' 453 backup: 454 type: object 455 additionalProperties: 456 $ref: '#/definitions/versionVersion' 457 operator: 458 type: object 459 additionalProperties: 460 $ref: '#/definitions/versionVersion' 461 logCollector: 462 type: object 463 additionalProperties: 464 $ref: '#/definitions/versionVersion' 465 postgresql: 466 type: object 467 additionalProperties: 468 $ref: '#/definitions/versionVersion' 469 pgbackrest: 470 type: object 471 additionalProperties: 472 $ref: '#/definitions/versionVersion' 473 pgbackrestRepo: 474 type: object 475 additionalProperties: 476 $ref: '#/definitions/versionVersion' 477 pgbadger: 478 type: object 479 additionalProperties: 480 $ref: '#/definitions/versionVersion' 481 pgbouncer: 482 type: object 483 additionalProperties: 484 $ref: '#/definitions/versionVersion' 485 pxcOperator: 486 type: object 487 additionalProperties: 488 $ref: '#/definitions/versionVersion' 489 psmdbOperator: 490 type: object 491 additionalProperties: 492 $ref: '#/definitions/versionVersion' 493 pgOperatorApiserver: 494 type: object 495 additionalProperties: 496 $ref: '#/definitions/versionVersion' 497 pgOperatorEvent: 498 type: object 499 additionalProperties: 500 $ref: '#/definitions/versionVersion' 501 pgOperatorRmdata: 502 type: object 503 additionalProperties: 504 $ref: '#/definitions/versionVersion' 505 pgOperatorScheduler: 506 type: object 507 additionalProperties: 508 $ref: '#/definitions/versionVersion' 509 pgOperator: 510 type: object 511 additionalProperties: 512 $ref: '#/definitions/versionVersion' 513 pgOperatorDeployer: 514 type: object 515 additionalProperties: 516 $ref: '#/definitions/versionVersion' 517 psOperator: 518 type: object 519 additionalProperties: 520 $ref: '#/definitions/versionVersion' 521 mysql: 522 type: object 523 additionalProperties: 524 $ref: '#/definitions/versionVersion' 525 router: 526 type: object 527 additionalProperties: 528 $ref: '#/definitions/versionVersion' 529 orchestrator: 530 type: object 531 additionalProperties: 532 $ref: '#/definitions/versionVersion' 533 description: VersionMatrix represents set of possible product versions. 534 versionVersionResponse: 535 type: object 536 properties: 537 versions: 538 type: array 539 items: 540 $ref: '#/definitions/versionOperatorVersion' 541 externalDocs: 542 description: This service provides version information and image paths for supporting the use of Percona Kubernetes Operators in a variety of scenarios while enabling specific version deployments and automated upgrades. 543 url: https://github.com/Percona-Lab/percona-version-service