123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- // 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/protobuf/duration.proto";
- import "google/protobuf/timestamp.proto";
- option go_package = "google.golang.org/genproto/googleapis/cloud/gaming/v1;gaming";
- option java_multiple_files = true;
- option java_package = "com.google.cloud.gaming.v1";
- // Represents the metadata of the long-running operation.
- message OperationMetadata {
- // Output only. The time the operation was created.
- google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time the operation finished running.
- google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Server-defined resource path for the target of the operation.
- string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Name of the verb executed by the operation.
- string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Human-readable status of the operation, if any.
- string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Identifies whether the user has requested cancellation
- // of the operation. Operations that have successfully been cancelled
- // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
- // corresponding to `Code.CANCELLED`.
- bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. API version used to start the operation.
- string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. List of Locations that could not be reached.
- repeated string unreachable = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Operation status for Game Services API operations. Operation status is in
- // the form of key-value pairs where keys are resource IDs and the values show
- // the status of the operation. In case of failures, the value includes an
- // error code and error message.
- map<string, OperationStatus> operation_status = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- message OperationStatus {
- enum ErrorCode {
- ERROR_CODE_UNSPECIFIED = 0;
- INTERNAL_ERROR = 1;
- PERMISSION_DENIED = 2;
- CLUSTER_CONNECTION = 3;
- }
- // Output only. Whether the operation is done or still in progress.
- bool done = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // The error code in case of failures.
- ErrorCode error_code = 2;
- // The human-readable error message.
- string error_message = 3;
- }
- // The label selector, used to group labels on the resources.
- message LabelSelector {
- // Resource labels for this selector.
- map<string, string> labels = 1;
- }
- // The realm selector, used to match realm resources.
- message RealmSelector {
- // List of realms to match.
- repeated string realms = 1;
- }
- // The schedule of a recurring or one time event. The event's time span is
- // specified by start_time and end_time. If the scheduled event's timespan is
- // larger than the cron_spec + cron_job_duration, the event will be recurring.
- // If only cron_spec + cron_job_duration are specified, the event is effective
- // starting at the local time specified by cron_spec, and is recurring.
- //
- // ```
- // start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time
- // cron job: cron spec start time + duration
- // ```
- message Schedule {
- // The start time of the event.
- google.protobuf.Timestamp start_time = 1;
- // The end time of the event.
- google.protobuf.Timestamp end_time = 2;
- // The duration for the cron job event. The duration of the event is effective
- // after the cron job's start time.
- google.protobuf.Duration cron_job_duration = 3;
- // The cron definition of the scheduled event. See
- // https://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as
- // defined by the realm.
- string cron_spec = 4;
- }
- // Encapsulates Agones fleet spec and Agones autoscaler spec sources.
- message SpecSource {
- // The game server config resource. Uses the form:
- // `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}/configs/{config_id}`.
- string game_server_config_name = 1;
- // The name of the Agones leet config or Agones scaling config used to derive
- // the Agones fleet or Agones autoscaler spec.
- string name = 2;
- }
- // Details about the Agones resources.
- message TargetDetails {
- // Details of the target Agones fleet.
- message TargetFleetDetails {
- // Target Agones fleet specification.
- message TargetFleet {
- // The name of the Agones fleet.
- string name = 1;
- // Encapsulates the source of the Agones fleet spec.
- // The Agones fleet spec source.
- SpecSource spec_source = 2;
- }
- // Target Agones autoscaler policy reference.
- message TargetFleetAutoscaler {
- // The name of the Agones autoscaler.
- string name = 1;
- // Encapsulates the source of the Agones fleet spec.
- // Details about the Agones autoscaler spec.
- SpecSource spec_source = 2;
- }
- // Reference to target Agones fleet.
- TargetFleet fleet = 1;
- // Reference to target Agones fleet autoscaling policy.
- TargetFleetAutoscaler autoscaler = 2;
- }
- // The game server cluster name. Uses the form:
- // `projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.
- string game_server_cluster_name = 1;
- // The game server deployment name. Uses the form:
- // `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}`.
- string game_server_deployment_name = 2;
- // Agones fleet details for game server clusters and game server deployments.
- repeated TargetFleetDetails fleet_details = 3;
- }
- // Encapsulates the Target state.
- message TargetState {
- // Details about Agones fleets.
- repeated TargetDetails details = 1;
- }
- // Details of the deployed Agones fleet.
- message DeployedFleetDetails {
- // Agones fleet specification and details.
- message DeployedFleet {
- // DeployedFleetStatus has details about the Agones fleets such as how many
- // are running, how many allocated, and so on.
- message DeployedFleetStatus {
- // The number of GameServer replicas in the READY state in this fleet.
- int64 ready_replicas = 1;
- // The number of GameServer replicas in the ALLOCATED state in this fleet.
- int64 allocated_replicas = 2;
- // The number of GameServer replicas in the RESERVED state in this fleet.
- // Reserved instances won't be deleted on scale down, but won't cause
- // an autoscaler to scale up.
- int64 reserved_replicas = 3;
- // The total number of current GameServer replicas in this fleet.
- int64 replicas = 4;
- }
- // The name of the Agones fleet.
- string fleet = 1;
- // The fleet spec retrieved from the Agones fleet.
- string fleet_spec = 2;
- // The source spec that is used to create the Agones fleet.
- // The GameServerConfig resource may no longer exist in the system.
- SpecSource spec_source = 3;
- // The current status of the Agones fleet.
- // Includes count of game servers in various states.
- DeployedFleetStatus status = 5;
- }
- // Details about the Agones autoscaler.
- message DeployedFleetAutoscaler {
- // The name of the Agones autoscaler.
- string autoscaler = 1;
- // The source spec that is used to create the autoscaler.
- // The GameServerConfig resource may no longer exist in the system.
- SpecSource spec_source = 4;
- // The autoscaler spec retrieved from Agones.
- string fleet_autoscaler_spec = 3;
- }
- // Information about the Agones fleet.
- DeployedFleet deployed_fleet = 1;
- // Information about the Agones autoscaler for that fleet.
- DeployedFleetAutoscaler deployed_autoscaler = 2;
- }
|