134 lines
5.6 KiB
Protocol Buffer
134 lines
5.6 KiB
Protocol Buffer
// Copyright 2020 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto3";
|
|
|
|
package google.cloud.gaming.v1beta;
|
|
|
|
import "google/api/annotations.proto";
|
|
import "google/api/client.proto";
|
|
import "google/cloud/gaming/v1beta/game_server_deployments.proto";
|
|
import "google/longrunning/operations.proto";
|
|
|
|
option go_package = "google.golang.org/genproto/googleapis/cloud/gaming/v1beta;gaming";
|
|
|
|
option java_multiple_files = true;
|
|
option java_package = "com.google.cloud.gaming.v1beta";
|
|
|
|
// The game server deployment is used to control the deployment of Agones
|
|
// fleets.
|
|
service GameServerDeploymentsService {
|
|
option (google.api.default_host) = "gameservices.googleapis.com";
|
|
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
|
|
|
|
// Lists game server deployments in a given project and location.
|
|
rpc ListGameServerDeployments(ListGameServerDeploymentsRequest) returns (ListGameServerDeploymentsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1beta/{parent=projects/*/locations/*}/gameServerDeployments"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Gets details of a single game server deployment.
|
|
rpc GetGameServerDeployment(GetGameServerDeploymentRequest) returns (GameServerDeployment) {
|
|
option (google.api.http) = {
|
|
get: "/v1beta/{name=projects/*/locations/*/gameServerDeployments/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Creates a new game server deployment in a given project and location.
|
|
rpc CreateGameServerDeployment(CreateGameServerDeploymentRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1beta/{parent=projects/*/locations/*}/gameServerDeployments"
|
|
body: "game_server_deployment"
|
|
};
|
|
option (google.api.method_signature) = "parent,game_server_deployment";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "GameServerDeployment"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Deletes a single game server deployment.
|
|
rpc DeleteGameServerDeployment(DeleteGameServerDeploymentRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
delete: "/v1beta/{name=projects/*/locations/*/gameServerDeployments/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "google.protobuf.Empty"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Patches a game server deployment.
|
|
rpc UpdateGameServerDeployment(UpdateGameServerDeploymentRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
patch: "/v1beta/{game_server_deployment.name=projects/*/locations/*/gameServerDeployments/*}"
|
|
body: "game_server_deployment"
|
|
};
|
|
option (google.api.method_signature) = "game_server_deployment,update_mask";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "GameServerDeployment"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Gets details a single game server deployment rollout.
|
|
rpc GetGameServerDeploymentRollout(GetGameServerDeploymentRolloutRequest) returns (GameServerDeploymentRollout) {
|
|
option (google.api.http) = {
|
|
get: "/v1beta/{name=projects/*/locations/*/gameServerDeployments/*}/rollout"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Patches a single game server deployment rollout.
|
|
// The method will not return an error if the update does not affect any
|
|
// existing realms. For example - if the default_game_server_config is changed
|
|
// but all existing realms use the override, that is valid. Similarly, if a
|
|
// non existing realm is explicitly called out in game_server_config_overrides
|
|
// field, that will also not result in an error.
|
|
rpc UpdateGameServerDeploymentRollout(UpdateGameServerDeploymentRolloutRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
patch: "/v1beta/{rollout.name=projects/*/locations/*/gameServerDeployments/*}/rollout"
|
|
body: "rollout"
|
|
};
|
|
option (google.api.method_signature) = "rollout,update_mask";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "GameServerDeployment"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Previews the game server deployment rollout. This API does not mutate the
|
|
// rollout resource.
|
|
rpc PreviewGameServerDeploymentRollout(PreviewGameServerDeploymentRolloutRequest) returns (PreviewGameServerDeploymentRolloutResponse) {
|
|
option (google.api.http) = {
|
|
patch: "/v1beta/{rollout.name=projects/*/locations/*/gameServerDeployments/*}/rollout:preview"
|
|
body: "rollout"
|
|
};
|
|
}
|
|
|
|
// Retrieves information about the current state of the game server
|
|
// deployment. Gathers all the Agones fleets and Agones autoscalers,
|
|
// including fleets running an older version of the game server deployment.
|
|
rpc FetchDeploymentState(FetchDeploymentStateRequest) returns (FetchDeploymentStateResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1beta/{name=projects/*/locations/*/gameServerDeployments/*}:fetchDeploymentState"
|
|
body: "*"
|
|
};
|
|
}
|
|
}
|