// Copyright 2021 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.v1; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/cloud/gaming/v1/common.proto"; import "google/protobuf/timestamp.proto"; option go_package = "cloud.google.com/go/gaming/apiv1/gamingpb;gamingpb"; option java_multiple_files = true; option java_package = "com.google.cloud.gaming.v1"; // Request message for GameServerConfigsService.ListGameServerConfigs. message ListGameServerConfigsRequest { // Required. The parent resource name, in the following form: // `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/*`. string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "gameservices.googleapis.com/GameServerConfig" } ]; // Optional. The maximum number of items to return. If unspecified, server // will pick an appropriate default. Server may return fewer items than // requested. A caller should only rely on response's // [next_page_token][google.cloud.gaming.v1.ListGameServerConfigsResponse.next_page_token] to // determine if there are more GameServerConfigs left to be queried. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; // Optional. The next_page_token value returned from a previous list request, if any. string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; // Optional. The filter to apply to list results. string filter = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. Specifies the ordering of results following syntax at // https://cloud.google.com/apis/design/design_patterns#sorting_order. string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; } // Response message for GameServerConfigsService.ListGameServerConfigs. message ListGameServerConfigsResponse { // The list of game server configs. repeated GameServerConfig game_server_configs = 1; // Token to retrieve the next page of results, or empty if there are no more // results in the list. string next_page_token = 2; // List of locations that could not be reached. repeated string unreachable = 4; } // Request message for GameServerConfigsService.GetGameServerConfig. message GetGameServerConfigRequest { // Required. The name of the game server config to retrieve, in the following form: // `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`. string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "gameservices.googleapis.com/GameServerConfig" } ]; } // Request message for GameServerConfigsService.CreateGameServerConfig. message CreateGameServerConfigRequest { // Required. The parent resource name, in the following form: // `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/`. string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "gameservices.googleapis.com/GameServerConfig" } ]; // Required. The ID of the game server config resource to be created. string config_id = 2 [(google.api.field_behavior) = REQUIRED]; // Required. The game server config resource to be created. GameServerConfig game_server_config = 3 [(google.api.field_behavior) = REQUIRED]; } // Request message for GameServerConfigsService.DeleteGameServerConfig. message DeleteGameServerConfigRequest { // Required. The name of the game server config to delete, in the following form: // `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`. string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "gameservices.googleapis.com/GameServerConfig" } ]; } // Autoscaling config for an Agones fleet. message ScalingConfig { // Required. The name of the Scaling Config string name = 1 [(google.api.field_behavior) = REQUIRED]; // Required. Agones fleet autoscaler spec. Example spec: // https://agones.dev/site/docs/reference/fleetautoscaler/ string fleet_autoscaler_spec = 2 [(google.api.field_behavior) = REQUIRED]; // Labels used to identify the game server clusters to which this Agones // scaling config applies. A game server cluster is subject to this Agones // scaling config if its labels match any of the selector entries. repeated LabelSelector selectors = 4; // The schedules to which this Scaling Config applies. repeated Schedule schedules = 5; } // Fleet configs for Agones. message FleetConfig { // Agones fleet spec. Example spec: // `https://agones.dev/site/docs/reference/fleet/`. string fleet_spec = 1; // The name of the FleetConfig. string name = 2; } // A game server config resource. message GameServerConfig { option (google.api.resource) = { type: "gameservices.googleapis.com/GameServerConfig" pattern: "projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}" }; // The resource name of the game server config, in the following form: // `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`. // For example, // `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`. string name = 1; // Output only. The creation time. google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The last-modified time. google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The labels associated with this game server config. Each label is a // key-value pair. map labels = 4; // FleetConfig contains a list of Agones fleet specs. Only one FleetConfig // is allowed. repeated FleetConfig fleet_configs = 5; // The autoscaling settings. repeated ScalingConfig scaling_configs = 6; // The description of the game server config. string description = 7; }