agones.dev/agones@v1.54.0/sdks/swagger/sdk.swagger.json (about) 1 { 2 "swagger": "2.0", 3 "info": { 4 "title": "sdk.proto", 5 "version": "version not set" 6 }, 7 "tags": [ 8 { 9 "name": "SDK" 10 } 11 ], 12 "schemes": [ 13 "http" 14 ], 15 "consumes": [ 16 "application/json" 17 ], 18 "produces": [ 19 "application/json" 20 ], 21 "paths": { 22 "/allocate": { 23 "post": { 24 "summary": "Call to self Allocation the GameServer", 25 "operationId": "Allocate", 26 "responses": { 27 "200": { 28 "description": "A successful response.", 29 "schema": { 30 "$ref": "#/definitions/sdkEmpty" 31 } 32 } 33 }, 34 "parameters": [ 35 { 36 "name": "body", 37 "in": "body", 38 "required": true, 39 "schema": { 40 "$ref": "#/definitions/sdkEmpty" 41 } 42 } 43 ], 44 "tags": [ 45 "SDK" 46 ] 47 } 48 }, 49 "/gameserver": { 50 "get": { 51 "summary": "Retrieve the current GameServer data", 52 "operationId": "GetGameServer", 53 "responses": { 54 "200": { 55 "description": "A successful response.", 56 "schema": { 57 "$ref": "#/definitions/sdkGameServer" 58 } 59 } 60 }, 61 "tags": [ 62 "SDK" 63 ] 64 } 65 }, 66 "/health": { 67 "post": { 68 "summary": "Send a Empty every d Duration to declare that this GameSever is healthy", 69 "operationId": "Health", 70 "responses": { 71 "200": { 72 "description": "A successful response.", 73 "schema": { 74 "$ref": "#/definitions/sdkEmpty" 75 } 76 } 77 }, 78 "parameters": [ 79 { 80 "name": "body", 81 "description": " (streaming inputs)", 82 "in": "body", 83 "required": true, 84 "schema": { 85 "$ref": "#/definitions/sdkEmpty" 86 } 87 } 88 ], 89 "tags": [ 90 "SDK" 91 ] 92 } 93 }, 94 "/metadata/annotation": { 95 "put": { 96 "summary": "Apply a Annotation to the backing GameServer metadata", 97 "operationId": "SetAnnotation", 98 "responses": { 99 "200": { 100 "description": "A successful response.", 101 "schema": { 102 "$ref": "#/definitions/sdkEmpty" 103 } 104 } 105 }, 106 "parameters": [ 107 { 108 "name": "body", 109 "in": "body", 110 "required": true, 111 "schema": { 112 "$ref": "#/definitions/sdkKeyValue" 113 } 114 } 115 ], 116 "tags": [ 117 "SDK" 118 ] 119 } 120 }, 121 "/metadata/label": { 122 "put": { 123 "summary": "Apply a Label to the backing GameServer metadata", 124 "operationId": "SetLabel", 125 "responses": { 126 "200": { 127 "description": "A successful response.", 128 "schema": { 129 "$ref": "#/definitions/sdkEmpty" 130 } 131 } 132 }, 133 "parameters": [ 134 { 135 "name": "body", 136 "in": "body", 137 "required": true, 138 "schema": { 139 "$ref": "#/definitions/sdkKeyValue" 140 } 141 } 142 ], 143 "tags": [ 144 "SDK" 145 ] 146 } 147 }, 148 "/ready": { 149 "post": { 150 "summary": "Call when the GameServer is ready", 151 "operationId": "Ready", 152 "responses": { 153 "200": { 154 "description": "A successful response.", 155 "schema": { 156 "$ref": "#/definitions/sdkEmpty" 157 } 158 } 159 }, 160 "parameters": [ 161 { 162 "name": "body", 163 "in": "body", 164 "required": true, 165 "schema": { 166 "$ref": "#/definitions/sdkEmpty" 167 } 168 } 169 ], 170 "tags": [ 171 "SDK" 172 ] 173 } 174 }, 175 "/reserve": { 176 "post": { 177 "summary": "Marks the GameServer as the Reserved state for Duration", 178 "operationId": "Reserve", 179 "responses": { 180 "200": { 181 "description": "A successful response.", 182 "schema": { 183 "$ref": "#/definitions/sdkEmpty" 184 } 185 } 186 }, 187 "parameters": [ 188 { 189 "name": "body", 190 "in": "body", 191 "required": true, 192 "schema": { 193 "$ref": "#/definitions/sdkDuration" 194 } 195 } 196 ], 197 "tags": [ 198 "SDK" 199 ] 200 } 201 }, 202 "/shutdown": { 203 "post": { 204 "summary": "Call when the GameServer is shutting down", 205 "operationId": "Shutdown", 206 "responses": { 207 "200": { 208 "description": "A successful response.", 209 "schema": { 210 "$ref": "#/definitions/sdkEmpty" 211 } 212 } 213 }, 214 "parameters": [ 215 { 216 "name": "body", 217 "in": "body", 218 "required": true, 219 "schema": { 220 "$ref": "#/definitions/sdkEmpty" 221 } 222 } 223 ], 224 "tags": [ 225 "SDK" 226 ] 227 } 228 }, 229 "/watch/gameserver": { 230 "get": { 231 "summary": "Send GameServer details whenever the GameServer is updated", 232 "operationId": "WatchGameServer", 233 "responses": { 234 "200": { 235 "description": "A successful response.(streaming responses)", 236 "schema": { 237 "type": "object", 238 "properties": { 239 "result": { 240 "$ref": "#/definitions/sdkGameServer" 241 } 242 }, 243 "title": "Stream result of sdkGameServer" 244 } 245 } 246 }, 247 "tags": [ 248 "SDK" 249 ] 250 } 251 } 252 }, 253 "definitions": { 254 "GameServerObjectMeta": { 255 "type": "object", 256 "properties": { 257 "name": { 258 "type": "string" 259 }, 260 "namespace": { 261 "type": "string" 262 }, 263 "uid": { 264 "type": "string" 265 }, 266 "resource_version": { 267 "type": "string" 268 }, 269 "generation": { 270 "type": "string", 271 "format": "int64" 272 }, 273 "creation_timestamp": { 274 "type": "string", 275 "format": "int64", 276 "title": "timestamp is in Epoch format, unit: seconds" 277 }, 278 "deletion_timestamp": { 279 "type": "string", 280 "format": "int64", 281 "title": "optional deletion timestamp in Epoch format, unit: seconds" 282 }, 283 "annotations": { 284 "type": "object", 285 "additionalProperties": { 286 "type": "string" 287 } 288 }, 289 "labels": { 290 "type": "object", 291 "additionalProperties": { 292 "type": "string" 293 } 294 } 295 }, 296 "title": "representation of the K8s ObjectMeta resource" 297 }, 298 "GameServerSpec": { 299 "type": "object", 300 "properties": { 301 "health": { 302 "$ref": "#/definitions/GameServerSpecHealth" 303 } 304 } 305 }, 306 "GameServerSpecHealth": { 307 "type": "object", 308 "properties": { 309 "disabled": { 310 "type": "boolean", 311 "format": "boolean" 312 }, 313 "period_seconds": { 314 "type": "integer", 315 "format": "int32" 316 }, 317 "failure_threshold": { 318 "type": "integer", 319 "format": "int32" 320 }, 321 "initial_delay_seconds": { 322 "type": "integer", 323 "format": "int32" 324 } 325 } 326 }, 327 "StatusAddress": { 328 "type": "object", 329 "properties": { 330 "type": { 331 "type": "string" 332 }, 333 "address": { 334 "type": "string" 335 } 336 } 337 }, 338 "StatusCounterStatus": { 339 "type": "object", 340 "properties": { 341 "count": { 342 "type": "string", 343 "format": "int64" 344 }, 345 "capacity": { 346 "type": "string", 347 "format": "int64" 348 } 349 }, 350 "title": "[Stage:Beta]\n[FeatureFlag:CountsAndLists]" 351 }, 352 "StatusListStatus": { 353 "type": "object", 354 "properties": { 355 "capacity": { 356 "type": "string", 357 "format": "int64" 358 }, 359 "values": { 360 "type": "array", 361 "items": { 362 "type": "string" 363 } 364 } 365 }, 366 "title": "[Stage:Beta]\n[FeatureFlag:CountsAndLists]" 367 }, 368 "StatusPlayerStatus": { 369 "type": "object", 370 "properties": { 371 "count": { 372 "type": "string", 373 "format": "int64" 374 }, 375 "capacity": { 376 "type": "string", 377 "format": "int64" 378 }, 379 "ids": { 380 "type": "array", 381 "items": { 382 "type": "string" 383 } 384 } 385 }, 386 "title": "[Stage:Alpha]\n[FeatureFlag:PlayerTracking]" 387 }, 388 "StatusPort": { 389 "type": "object", 390 "properties": { 391 "name": { 392 "type": "string" 393 }, 394 "port": { 395 "type": "integer", 396 "format": "int32" 397 } 398 } 399 }, 400 "sdkDuration": { 401 "type": "object", 402 "properties": { 403 "seconds": { 404 "type": "string", 405 "format": "int64" 406 } 407 }, 408 "title": "time duration, in seconds" 409 }, 410 "sdkEmpty": { 411 "type": "object", 412 "title": "I am Empty" 413 }, 414 "sdkGameServer": { 415 "type": "object", 416 "properties": { 417 "object_meta": { 418 "$ref": "#/definitions/GameServerObjectMeta" 419 }, 420 "spec": { 421 "$ref": "#/definitions/GameServerSpec" 422 }, 423 "status": { 424 "$ref": "#/definitions/sdkGameServerStatus" 425 } 426 }, 427 "description": "A GameServer Custom Resource Definition object\nWe will only export those resources that make the most\nsense. Can always expand to more as needed." 428 }, 429 "sdkGameServerStatus": { 430 "type": "object", 431 "properties": { 432 "state": { 433 "type": "string" 434 }, 435 "address": { 436 "type": "string" 437 }, 438 "addresses": { 439 "type": "array", 440 "items": { 441 "type": "object", 442 "$ref": "#/definitions/StatusAddress" 443 } 444 }, 445 "ports": { 446 "type": "array", 447 "items": { 448 "type": "object", 449 "$ref": "#/definitions/StatusPort" 450 } 451 }, 452 "players": { 453 "$ref": "#/definitions/StatusPlayerStatus", 454 "title": "[Stage:Alpha]\n[FeatureFlag:PlayerTracking]" 455 }, 456 "counters": { 457 "type": "object", 458 "additionalProperties": { 459 "$ref": "#/definitions/StatusCounterStatus" 460 }, 461 "title": "[Stage:Beta]\n[FeatureFlag:CountsAndLists]" 462 }, 463 "lists": { 464 "type": "object", 465 "additionalProperties": { 466 "$ref": "#/definitions/StatusListStatus" 467 }, 468 "title": "[Stage:Beta]\n[FeatureFlag:CountsAndLists]" 469 } 470 } 471 }, 472 "sdkKeyValue": { 473 "type": "object", 474 "properties": { 475 "key": { 476 "type": "string" 477 }, 478 "value": { 479 "type": "string" 480 } 481 }, 482 "title": "Key, Value entry" 483 }, 484 "googlerpcStatus": { 485 "type": "object", 486 "properties": { 487 "code": { 488 "type": "integer", 489 "format": "int32" 490 }, 491 "message": { 492 "type": "string" 493 }, 494 "details": { 495 "type": "array", 496 "items": { 497 "$ref": "#/definitions/protobufAny" 498 } 499 } 500 } 501 }, 502 "protobufAny": { 503 "type": "object", 504 "properties": { 505 "@type": { 506 "type": "string" 507 } 508 }, 509 "additionalProperties": {} 510 } 511 } 512 }