game_server_deployments_service.proto 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. // Copyright 2020 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package google.cloud.gaming.v1beta;
  16. import "google/api/annotations.proto";
  17. import "google/api/client.proto";
  18. import "google/cloud/gaming/v1beta/game_server_deployments.proto";
  19. import "google/longrunning/operations.proto";
  20. option go_package = "google.golang.org/genproto/googleapis/cloud/gaming/v1beta;gaming";
  21. option java_multiple_files = true;
  22. option java_package = "com.google.cloud.gaming.v1beta";
  23. option php_namespace = "Google\\Cloud\\Gaming\\V1beta";
  24. // The game server deployment is used to control the deployment of Agones
  25. // fleets.
  26. service GameServerDeploymentsService {
  27. option (google.api.default_host) = "gameservices.googleapis.com";
  28. option (google.api.oauth_scopes) =
  29. "https://www.googleapis.com/auth/cloud-platform";
  30. // Lists game server deployments in a given project and location.
  31. rpc ListGameServerDeployments(ListGameServerDeploymentsRequest)
  32. returns (ListGameServerDeploymentsResponse) {
  33. option (google.api.http) = {
  34. get: "/v1beta/{parent=projects/*/locations/*}/gameServerDeployments"
  35. };
  36. option (google.api.method_signature) = "parent";
  37. }
  38. // Gets details of a single game server deployment.
  39. rpc GetGameServerDeployment(GetGameServerDeploymentRequest)
  40. returns (GameServerDeployment) {
  41. option (google.api.http) = {
  42. get: "/v1beta/{name=projects/*/locations/*/gameServerDeployments/*}"
  43. };
  44. option (google.api.method_signature) = "name";
  45. }
  46. // Creates a new game server deployment in a given project and location.
  47. rpc CreateGameServerDeployment(CreateGameServerDeploymentRequest)
  48. returns (google.longrunning.Operation) {
  49. option (google.api.http) = {
  50. post: "/v1beta/{parent=projects/*/locations/*}/gameServerDeployments"
  51. body: "game_server_deployment"
  52. };
  53. option (google.api.method_signature) = "parent,game_server_deployment";
  54. option (google.longrunning.operation_info) = {
  55. response_type: "GameServerDeployment"
  56. metadata_type: "OperationMetadata"
  57. };
  58. }
  59. // Deletes a single game server deployment.
  60. rpc DeleteGameServerDeployment(DeleteGameServerDeploymentRequest)
  61. returns (google.longrunning.Operation) {
  62. option (google.api.http) = {
  63. delete: "/v1beta/{name=projects/*/locations/*/gameServerDeployments/*}"
  64. };
  65. option (google.api.method_signature) = "name";
  66. option (google.longrunning.operation_info) = {
  67. response_type: "google.protobuf.Empty"
  68. metadata_type: "OperationMetadata"
  69. };
  70. }
  71. // Patches a game server deployment.
  72. rpc UpdateGameServerDeployment(UpdateGameServerDeploymentRequest)
  73. returns (google.longrunning.Operation) {
  74. option (google.api.http) = {
  75. patch: "/v1beta/{game_server_deployment.name=projects/*/locations/*/gameServerDeployments/*}"
  76. body: "game_server_deployment"
  77. };
  78. option (google.api.method_signature) = "game_server_deployment,update_mask";
  79. option (google.longrunning.operation_info) = {
  80. response_type: "GameServerDeployment"
  81. metadata_type: "OperationMetadata"
  82. };
  83. }
  84. // Gets details a single game server deployment rollout.
  85. rpc GetGameServerDeploymentRollout(GetGameServerDeploymentRolloutRequest)
  86. returns (GameServerDeploymentRollout) {
  87. option (google.api.http) = {
  88. get: "/v1beta/{name=projects/*/locations/*/gameServerDeployments/*}/rollout"
  89. };
  90. option (google.api.method_signature) = "name";
  91. }
  92. // Patches a single game server deployment rollout.
  93. // The method will not return an error if the update does not affect any
  94. // existing realms. For example - if the default_game_server_config is changed
  95. // but all existing realms use the override, that is valid. Similarly, if a
  96. // non existing realm is explicitly called out in game_server_config_overrides
  97. // field, that will also not result in an error.
  98. rpc UpdateGameServerDeploymentRollout(
  99. UpdateGameServerDeploymentRolloutRequest)
  100. returns (google.longrunning.Operation) {
  101. option (google.api.http) = {
  102. patch: "/v1beta/{rollout.name=projects/*/locations/*/gameServerDeployments/*}/rollout"
  103. body: "rollout"
  104. };
  105. option (google.api.method_signature) = "rollout,update_mask";
  106. option (google.longrunning.operation_info) = {
  107. response_type: "GameServerDeployment"
  108. metadata_type: "OperationMetadata"
  109. };
  110. }
  111. // Previews the game server deployment rollout. This API does not mutate the
  112. // rollout resource.
  113. rpc PreviewGameServerDeploymentRollout(
  114. PreviewGameServerDeploymentRolloutRequest)
  115. returns (PreviewGameServerDeploymentRolloutResponse) {
  116. option (google.api.http) = {
  117. patch: "/v1beta/{rollout.name=projects/*/locations/*/gameServerDeployments/*}/rollout:preview"
  118. body: "rollout"
  119. };
  120. }
  121. // Retrieves information about the current state of the game server
  122. // deployment. Gathers all the Agones fleets and Agones autoscalers,
  123. // including fleets running an older version of the game server deployment.
  124. rpc FetchDeploymentState(FetchDeploymentStateRequest)
  125. returns (FetchDeploymentStateResponse) {
  126. option (google.api.http) = {
  127. post: "/v1beta/{name=projects/*/locations/*/gameServerDeployments/*}:fetchDeploymentState"
  128. body: "*"
  129. };
  130. }
  131. }