auto-regenerate .pb.go files (#322)

This is an auto-generated regeneration of the .pb.go files by
cloud.google.com/go/internal/gapicgen. Once this PR is submitted, genmgr will
update the corresponding CL at gocloud to depend on the newer version of
go-genproto, and assign reviewers. Whilst this or any regen PR is open in
go-genproto, gapicgen will not create any more regeneration PRs or CLs. If all
regen PRs are closed, gapicgen will create a new set of regeneration PRs and
CLs once per night.

If you have been assigned to review this CL, please:

- Ensure that CI is passing. If it's failing, it requires your manual attention.
- Approve and submit this PR if you believe it's ready to ship. That will prompt
  genmgr to assign reviewers to the gocloud CL.

Corresponding gocloud CL: https://code-review.googlesource.com/c/gocloud/+/53171
diff --git a/googleapis/cloud/gaming/v1beta/common.pb.go b/googleapis/cloud/gaming/v1beta/common.pb.go
new file mode 100644
index 0000000..aadf38f
--- /dev/null
+++ b/googleapis/cloud/gaming/v1beta/common.pb.go
@@ -0,0 +1,1074 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/gaming/v1beta/common.proto
+
+package gaming
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	duration "github.com/golang/protobuf/ptypes/duration"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type OperationStatus_ErrorCode int32
+
+const (
+	OperationStatus_ERROR_CODE_UNSPECIFIED OperationStatus_ErrorCode = 0
+	OperationStatus_INTERNAL_ERROR         OperationStatus_ErrorCode = 1
+	OperationStatus_PERMISSION_DENIED      OperationStatus_ErrorCode = 2
+	OperationStatus_CLUSTER_CONNECTION     OperationStatus_ErrorCode = 3
+)
+
+var OperationStatus_ErrorCode_name = map[int32]string{
+	0: "ERROR_CODE_UNSPECIFIED",
+	1: "INTERNAL_ERROR",
+	2: "PERMISSION_DENIED",
+	3: "CLUSTER_CONNECTION",
+}
+
+var OperationStatus_ErrorCode_value = map[string]int32{
+	"ERROR_CODE_UNSPECIFIED": 0,
+	"INTERNAL_ERROR":         1,
+	"PERMISSION_DENIED":      2,
+	"CLUSTER_CONNECTION":     3,
+}
+
+func (x OperationStatus_ErrorCode) String() string {
+	return proto.EnumName(OperationStatus_ErrorCode_name, int32(x))
+}
+
+func (OperationStatus_ErrorCode) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{1, 0}
+}
+
+// Represents the metadata of the long-running operation.
+type OperationMetadata struct {
+	// Output only. The time the operation was created.
+	CreateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+	// Output only. The time the operation finished running.
+	EndTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+	// Output only. Server-defined resource path for the target of the operation.
+	Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
+	// Output only. Name of the verb executed by the operation.
+	Verb string `protobuf:"bytes,4,opt,name=verb,proto3" json:"verb,omitempty"`
+	// Output only. Human-readable status of the operation, if any.
+	StatusMessage string `protobuf:"bytes,5,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
+	// 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`.
+	RequestedCancellation bool `protobuf:"varint,6,opt,name=requested_cancellation,json=requestedCancellation,proto3" json:"requested_cancellation,omitempty"`
+	// Output only. API version used to start the operation.
+	ApiVersion string `protobuf:"bytes,7,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
+	// Output only. List of Locations that could not be reached.
+	Unreachable []string `protobuf:"bytes,8,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
+	// Output only. Operation status for gameservices 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.
+	OperationStatus      map[string]*OperationStatus `protobuf:"bytes,9,rep,name=operation_status,json=operationStatus,proto3" json:"operation_status,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
+	XXX_unrecognized     []byte                      `json:"-"`
+	XXX_sizecache        int32                       `json:"-"`
+}
+
+func (m *OperationMetadata) Reset()         { *m = OperationMetadata{} }
+func (m *OperationMetadata) String() string { return proto.CompactTextString(m) }
+func (*OperationMetadata) ProtoMessage()    {}
+func (*OperationMetadata) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{0}
+}
+
+func (m *OperationMetadata) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OperationMetadata.Unmarshal(m, b)
+}
+func (m *OperationMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OperationMetadata.Marshal(b, m, deterministic)
+}
+func (m *OperationMetadata) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OperationMetadata.Merge(m, src)
+}
+func (m *OperationMetadata) XXX_Size() int {
+	return xxx_messageInfo_OperationMetadata.Size(m)
+}
+func (m *OperationMetadata) XXX_DiscardUnknown() {
+	xxx_messageInfo_OperationMetadata.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OperationMetadata proto.InternalMessageInfo
+
+func (m *OperationMetadata) GetCreateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *OperationMetadata) GetEndTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.EndTime
+	}
+	return nil
+}
+
+func (m *OperationMetadata) GetTarget() string {
+	if m != nil {
+		return m.Target
+	}
+	return ""
+}
+
+func (m *OperationMetadata) GetVerb() string {
+	if m != nil {
+		return m.Verb
+	}
+	return ""
+}
+
+func (m *OperationMetadata) GetStatusMessage() string {
+	if m != nil {
+		return m.StatusMessage
+	}
+	return ""
+}
+
+func (m *OperationMetadata) GetRequestedCancellation() bool {
+	if m != nil {
+		return m.RequestedCancellation
+	}
+	return false
+}
+
+func (m *OperationMetadata) GetApiVersion() string {
+	if m != nil {
+		return m.ApiVersion
+	}
+	return ""
+}
+
+func (m *OperationMetadata) GetUnreachable() []string {
+	if m != nil {
+		return m.Unreachable
+	}
+	return nil
+}
+
+func (m *OperationMetadata) GetOperationStatus() map[string]*OperationStatus {
+	if m != nil {
+		return m.OperationStatus
+	}
+	return nil
+}
+
+type OperationStatus struct {
+	// Output only. Whether the operation is done or still in progress.
+	Done bool `protobuf:"varint,1,opt,name=done,proto3" json:"done,omitempty"`
+	// The error code in case of failures.
+	ErrorCode OperationStatus_ErrorCode `protobuf:"varint,2,opt,name=error_code,json=errorCode,proto3,enum=google.cloud.gaming.v1beta.OperationStatus_ErrorCode" json:"error_code,omitempty"`
+	// The human-readable error message.
+	ErrorMessage         string   `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *OperationStatus) Reset()         { *m = OperationStatus{} }
+func (m *OperationStatus) String() string { return proto.CompactTextString(m) }
+func (*OperationStatus) ProtoMessage()    {}
+func (*OperationStatus) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{1}
+}
+
+func (m *OperationStatus) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OperationStatus.Unmarshal(m, b)
+}
+func (m *OperationStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OperationStatus.Marshal(b, m, deterministic)
+}
+func (m *OperationStatus) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OperationStatus.Merge(m, src)
+}
+func (m *OperationStatus) XXX_Size() int {
+	return xxx_messageInfo_OperationStatus.Size(m)
+}
+func (m *OperationStatus) XXX_DiscardUnknown() {
+	xxx_messageInfo_OperationStatus.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OperationStatus proto.InternalMessageInfo
+
+func (m *OperationStatus) GetDone() bool {
+	if m != nil {
+		return m.Done
+	}
+	return false
+}
+
+func (m *OperationStatus) GetErrorCode() OperationStatus_ErrorCode {
+	if m != nil {
+		return m.ErrorCode
+	}
+	return OperationStatus_ERROR_CODE_UNSPECIFIED
+}
+
+func (m *OperationStatus) GetErrorMessage() string {
+	if m != nil {
+		return m.ErrorMessage
+	}
+	return ""
+}
+
+// The label selector, used to group labels on the resources.
+type LabelSelector struct {
+	// Resource labels for this selector.
+	Labels               map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
+	XXX_unrecognized     []byte            `json:"-"`
+	XXX_sizecache        int32             `json:"-"`
+}
+
+func (m *LabelSelector) Reset()         { *m = LabelSelector{} }
+func (m *LabelSelector) String() string { return proto.CompactTextString(m) }
+func (*LabelSelector) ProtoMessage()    {}
+func (*LabelSelector) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{2}
+}
+
+func (m *LabelSelector) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_LabelSelector.Unmarshal(m, b)
+}
+func (m *LabelSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_LabelSelector.Marshal(b, m, deterministic)
+}
+func (m *LabelSelector) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_LabelSelector.Merge(m, src)
+}
+func (m *LabelSelector) XXX_Size() int {
+	return xxx_messageInfo_LabelSelector.Size(m)
+}
+func (m *LabelSelector) XXX_DiscardUnknown() {
+	xxx_messageInfo_LabelSelector.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_LabelSelector proto.InternalMessageInfo
+
+func (m *LabelSelector) GetLabels() map[string]string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
+// The Realm selector, used to match Realm resources.
+type RealmSelector struct {
+	// List of Realms to match.
+	Realms               []string `protobuf:"bytes,1,rep,name=realms,proto3" json:"realms,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *RealmSelector) Reset()         { *m = RealmSelector{} }
+func (m *RealmSelector) String() string { return proto.CompactTextString(m) }
+func (*RealmSelector) ProtoMessage()    {}
+func (*RealmSelector) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{3}
+}
+
+func (m *RealmSelector) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_RealmSelector.Unmarshal(m, b)
+}
+func (m *RealmSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_RealmSelector.Marshal(b, m, deterministic)
+}
+func (m *RealmSelector) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_RealmSelector.Merge(m, src)
+}
+func (m *RealmSelector) XXX_Size() int {
+	return xxx_messageInfo_RealmSelector.Size(m)
+}
+func (m *RealmSelector) XXX_DiscardUnknown() {
+	xxx_messageInfo_RealmSelector.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RealmSelector proto.InternalMessageInfo
+
+func (m *RealmSelector) GetRealms() []string {
+	if m != nil {
+		return m.Realms
+	}
+	return nil
+}
+
+// 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
+type Schedule struct {
+	// The start time of the event.
+	StartTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+	// The end time of the event.
+	EndTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+	// The duration for the cron job event. The duration of the event is effective
+	// after the cron job's start time.
+	CronJobDuration *duration.Duration `protobuf:"bytes,3,opt,name=cron_job_duration,json=cronJobDuration,proto3" json:"cron_job_duration,omitempty"`
+	// 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.
+	CronSpec             string   `protobuf:"bytes,4,opt,name=cron_spec,json=cronSpec,proto3" json:"cron_spec,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *Schedule) Reset()         { *m = Schedule{} }
+func (m *Schedule) String() string { return proto.CompactTextString(m) }
+func (*Schedule) ProtoMessage()    {}
+func (*Schedule) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{4}
+}
+
+func (m *Schedule) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Schedule.Unmarshal(m, b)
+}
+func (m *Schedule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Schedule.Marshal(b, m, deterministic)
+}
+func (m *Schedule) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Schedule.Merge(m, src)
+}
+func (m *Schedule) XXX_Size() int {
+	return xxx_messageInfo_Schedule.Size(m)
+}
+func (m *Schedule) XXX_DiscardUnknown() {
+	xxx_messageInfo_Schedule.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Schedule proto.InternalMessageInfo
+
+func (m *Schedule) GetStartTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+func (m *Schedule) GetEndTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.EndTime
+	}
+	return nil
+}
+
+func (m *Schedule) GetCronJobDuration() *duration.Duration {
+	if m != nil {
+		return m.CronJobDuration
+	}
+	return nil
+}
+
+func (m *Schedule) GetCronSpec() string {
+	if m != nil {
+		return m.CronSpec
+	}
+	return ""
+}
+
+// Encapsulates Agones fleet spec and Agones autoscaler spec sources.
+type SpecSource struct {
+	// The Game Server Config resource. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}/configs/{config_id}`.
+	GameServerConfigName string `protobuf:"bytes,1,opt,name=game_server_config_name,json=gameServerConfigName,proto3" json:"game_server_config_name,omitempty"`
+	// The name of the Agones leet config or Agones scaling config used to derive
+	// the Agones fleet or Agones autoscaler spec.
+	Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *SpecSource) Reset()         { *m = SpecSource{} }
+func (m *SpecSource) String() string { return proto.CompactTextString(m) }
+func (*SpecSource) ProtoMessage()    {}
+func (*SpecSource) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{5}
+}
+
+func (m *SpecSource) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SpecSource.Unmarshal(m, b)
+}
+func (m *SpecSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SpecSource.Marshal(b, m, deterministic)
+}
+func (m *SpecSource) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SpecSource.Merge(m, src)
+}
+func (m *SpecSource) XXX_Size() int {
+	return xxx_messageInfo_SpecSource.Size(m)
+}
+func (m *SpecSource) XXX_DiscardUnknown() {
+	xxx_messageInfo_SpecSource.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SpecSource proto.InternalMessageInfo
+
+func (m *SpecSource) GetGameServerConfigName() string {
+	if m != nil {
+		return m.GameServerConfigName
+	}
+	return ""
+}
+
+func (m *SpecSource) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Details about the Agones resources.
+type TargetDetails struct {
+	// The Game Server Cluster name. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.
+	GameServerClusterName string `protobuf:"bytes,1,opt,name=game_server_cluster_name,json=gameServerClusterName,proto3" json:"game_server_cluster_name,omitempty"`
+	// The Game Server Deployment name. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}`.
+	GameServerDeploymentName string `protobuf:"bytes,2,opt,name=game_server_deployment_name,json=gameServerDeploymentName,proto3" json:"game_server_deployment_name,omitempty"`
+	// Agones fleet details for Game Server Clusters and Game Server Deployments.
+	FleetDetails         []*TargetDetails_TargetFleetDetails `protobuf:"bytes,3,rep,name=fleet_details,json=fleetDetails,proto3" json:"fleet_details,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                            `json:"-"`
+	XXX_unrecognized     []byte                              `json:"-"`
+	XXX_sizecache        int32                               `json:"-"`
+}
+
+func (m *TargetDetails) Reset()         { *m = TargetDetails{} }
+func (m *TargetDetails) String() string { return proto.CompactTextString(m) }
+func (*TargetDetails) ProtoMessage()    {}
+func (*TargetDetails) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{6}
+}
+
+func (m *TargetDetails) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_TargetDetails.Unmarshal(m, b)
+}
+func (m *TargetDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_TargetDetails.Marshal(b, m, deterministic)
+}
+func (m *TargetDetails) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TargetDetails.Merge(m, src)
+}
+func (m *TargetDetails) XXX_Size() int {
+	return xxx_messageInfo_TargetDetails.Size(m)
+}
+func (m *TargetDetails) XXX_DiscardUnknown() {
+	xxx_messageInfo_TargetDetails.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_TargetDetails proto.InternalMessageInfo
+
+func (m *TargetDetails) GetGameServerClusterName() string {
+	if m != nil {
+		return m.GameServerClusterName
+	}
+	return ""
+}
+
+func (m *TargetDetails) GetGameServerDeploymentName() string {
+	if m != nil {
+		return m.GameServerDeploymentName
+	}
+	return ""
+}
+
+func (m *TargetDetails) GetFleetDetails() []*TargetDetails_TargetFleetDetails {
+	if m != nil {
+		return m.FleetDetails
+	}
+	return nil
+}
+
+// Details of the target Agones fleet.
+type TargetDetails_TargetFleetDetails struct {
+	// Reference to target Agones fleet.
+	Fleet *TargetDetails_TargetFleetDetails_TargetFleet `protobuf:"bytes,1,opt,name=fleet,proto3" json:"fleet,omitempty"`
+	// Reference to target Agones fleet autoscaling policy.
+	Autoscaler           *TargetDetails_TargetFleetDetails_TargetFleetAutoscaler `protobuf:"bytes,2,opt,name=autoscaler,proto3" json:"autoscaler,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                                                `json:"-"`
+	XXX_unrecognized     []byte                                                  `json:"-"`
+	XXX_sizecache        int32                                                   `json:"-"`
+}
+
+func (m *TargetDetails_TargetFleetDetails) Reset()         { *m = TargetDetails_TargetFleetDetails{} }
+func (m *TargetDetails_TargetFleetDetails) String() string { return proto.CompactTextString(m) }
+func (*TargetDetails_TargetFleetDetails) ProtoMessage()    {}
+func (*TargetDetails_TargetFleetDetails) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{6, 0}
+}
+
+func (m *TargetDetails_TargetFleetDetails) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_TargetDetails_TargetFleetDetails.Unmarshal(m, b)
+}
+func (m *TargetDetails_TargetFleetDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_TargetDetails_TargetFleetDetails.Marshal(b, m, deterministic)
+}
+func (m *TargetDetails_TargetFleetDetails) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TargetDetails_TargetFleetDetails.Merge(m, src)
+}
+func (m *TargetDetails_TargetFleetDetails) XXX_Size() int {
+	return xxx_messageInfo_TargetDetails_TargetFleetDetails.Size(m)
+}
+func (m *TargetDetails_TargetFleetDetails) XXX_DiscardUnknown() {
+	xxx_messageInfo_TargetDetails_TargetFleetDetails.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_TargetDetails_TargetFleetDetails proto.InternalMessageInfo
+
+func (m *TargetDetails_TargetFleetDetails) GetFleet() *TargetDetails_TargetFleetDetails_TargetFleet {
+	if m != nil {
+		return m.Fleet
+	}
+	return nil
+}
+
+func (m *TargetDetails_TargetFleetDetails) GetAutoscaler() *TargetDetails_TargetFleetDetails_TargetFleetAutoscaler {
+	if m != nil {
+		return m.Autoscaler
+	}
+	return nil
+}
+
+// Target Agones fleet specification.
+type TargetDetails_TargetFleetDetails_TargetFleet struct {
+	// The name of the Agones fleet.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Encapsulates the source of the Agones fleet spec.
+	// The Agones fleet spec source.
+	SpecSource           *SpecSource `protobuf:"bytes,2,opt,name=spec_source,json=specSource,proto3" json:"spec_source,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
+	XXX_unrecognized     []byte      `json:"-"`
+	XXX_sizecache        int32       `json:"-"`
+}
+
+func (m *TargetDetails_TargetFleetDetails_TargetFleet) Reset() {
+	*m = TargetDetails_TargetFleetDetails_TargetFleet{}
+}
+func (m *TargetDetails_TargetFleetDetails_TargetFleet) String() string {
+	return proto.CompactTextString(m)
+}
+func (*TargetDetails_TargetFleetDetails_TargetFleet) ProtoMessage() {}
+func (*TargetDetails_TargetFleetDetails_TargetFleet) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{6, 0, 0}
+}
+
+func (m *TargetDetails_TargetFleetDetails_TargetFleet) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_TargetDetails_TargetFleetDetails_TargetFleet.Unmarshal(m, b)
+}
+func (m *TargetDetails_TargetFleetDetails_TargetFleet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_TargetDetails_TargetFleetDetails_TargetFleet.Marshal(b, m, deterministic)
+}
+func (m *TargetDetails_TargetFleetDetails_TargetFleet) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TargetDetails_TargetFleetDetails_TargetFleet.Merge(m, src)
+}
+func (m *TargetDetails_TargetFleetDetails_TargetFleet) XXX_Size() int {
+	return xxx_messageInfo_TargetDetails_TargetFleetDetails_TargetFleet.Size(m)
+}
+func (m *TargetDetails_TargetFleetDetails_TargetFleet) XXX_DiscardUnknown() {
+	xxx_messageInfo_TargetDetails_TargetFleetDetails_TargetFleet.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_TargetDetails_TargetFleetDetails_TargetFleet proto.InternalMessageInfo
+
+func (m *TargetDetails_TargetFleetDetails_TargetFleet) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *TargetDetails_TargetFleetDetails_TargetFleet) GetSpecSource() *SpecSource {
+	if m != nil {
+		return m.SpecSource
+	}
+	return nil
+}
+
+// Target Agones autoscaler policy reference.
+type TargetDetails_TargetFleetDetails_TargetFleetAutoscaler struct {
+	// The name of the Agones autoscaler.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Encapsulates the source of the Agones fleet spec.
+	// Details about the Agones autoscaler spec.
+	SpecSource           *SpecSource `protobuf:"bytes,2,opt,name=spec_source,json=specSource,proto3" json:"spec_source,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
+	XXX_unrecognized     []byte      `json:"-"`
+	XXX_sizecache        int32       `json:"-"`
+}
+
+func (m *TargetDetails_TargetFleetDetails_TargetFleetAutoscaler) Reset() {
+	*m = TargetDetails_TargetFleetDetails_TargetFleetAutoscaler{}
+}
+func (m *TargetDetails_TargetFleetDetails_TargetFleetAutoscaler) String() string {
+	return proto.CompactTextString(m)
+}
+func (*TargetDetails_TargetFleetDetails_TargetFleetAutoscaler) ProtoMessage() {}
+func (*TargetDetails_TargetFleetDetails_TargetFleetAutoscaler) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{6, 0, 1}
+}
+
+func (m *TargetDetails_TargetFleetDetails_TargetFleetAutoscaler) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_TargetDetails_TargetFleetDetails_TargetFleetAutoscaler.Unmarshal(m, b)
+}
+func (m *TargetDetails_TargetFleetDetails_TargetFleetAutoscaler) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_TargetDetails_TargetFleetDetails_TargetFleetAutoscaler.Marshal(b, m, deterministic)
+}
+func (m *TargetDetails_TargetFleetDetails_TargetFleetAutoscaler) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TargetDetails_TargetFleetDetails_TargetFleetAutoscaler.Merge(m, src)
+}
+func (m *TargetDetails_TargetFleetDetails_TargetFleetAutoscaler) XXX_Size() int {
+	return xxx_messageInfo_TargetDetails_TargetFleetDetails_TargetFleetAutoscaler.Size(m)
+}
+func (m *TargetDetails_TargetFleetDetails_TargetFleetAutoscaler) XXX_DiscardUnknown() {
+	xxx_messageInfo_TargetDetails_TargetFleetDetails_TargetFleetAutoscaler.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_TargetDetails_TargetFleetDetails_TargetFleetAutoscaler proto.InternalMessageInfo
+
+func (m *TargetDetails_TargetFleetDetails_TargetFleetAutoscaler) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *TargetDetails_TargetFleetDetails_TargetFleetAutoscaler) GetSpecSource() *SpecSource {
+	if m != nil {
+		return m.SpecSource
+	}
+	return nil
+}
+
+// Encapsulates the Target state.
+type TargetState struct {
+	// Details about Agones fleets.
+	Details              []*TargetDetails `protobuf:"bytes,1,rep,name=details,proto3" json:"details,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
+	XXX_unrecognized     []byte           `json:"-"`
+	XXX_sizecache        int32            `json:"-"`
+}
+
+func (m *TargetState) Reset()         { *m = TargetState{} }
+func (m *TargetState) String() string { return proto.CompactTextString(m) }
+func (*TargetState) ProtoMessage()    {}
+func (*TargetState) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{7}
+}
+
+func (m *TargetState) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_TargetState.Unmarshal(m, b)
+}
+func (m *TargetState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_TargetState.Marshal(b, m, deterministic)
+}
+func (m *TargetState) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TargetState.Merge(m, src)
+}
+func (m *TargetState) XXX_Size() int {
+	return xxx_messageInfo_TargetState.Size(m)
+}
+func (m *TargetState) XXX_DiscardUnknown() {
+	xxx_messageInfo_TargetState.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_TargetState proto.InternalMessageInfo
+
+func (m *TargetState) GetDetails() []*TargetDetails {
+	if m != nil {
+		return m.Details
+	}
+	return nil
+}
+
+// Details of the deployed Agones fleet.
+type DeployedFleetDetails struct {
+	// Information about the Agones fleet.
+	DeployedFleet *DeployedFleetDetails_DeployedFleet `protobuf:"bytes,1,opt,name=deployed_fleet,json=deployedFleet,proto3" json:"deployed_fleet,omitempty"`
+	// Information about the Agones autoscaler for that fleet.
+	DeployedAutoscaler   *DeployedFleetDetails_DeployedFleetAutoscaler `protobuf:"bytes,2,opt,name=deployed_autoscaler,json=deployedAutoscaler,proto3" json:"deployed_autoscaler,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                                      `json:"-"`
+	XXX_unrecognized     []byte                                        `json:"-"`
+	XXX_sizecache        int32                                         `json:"-"`
+}
+
+func (m *DeployedFleetDetails) Reset()         { *m = DeployedFleetDetails{} }
+func (m *DeployedFleetDetails) String() string { return proto.CompactTextString(m) }
+func (*DeployedFleetDetails) ProtoMessage()    {}
+func (*DeployedFleetDetails) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{8}
+}
+
+func (m *DeployedFleetDetails) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeployedFleetDetails.Unmarshal(m, b)
+}
+func (m *DeployedFleetDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeployedFleetDetails.Marshal(b, m, deterministic)
+}
+func (m *DeployedFleetDetails) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeployedFleetDetails.Merge(m, src)
+}
+func (m *DeployedFleetDetails) XXX_Size() int {
+	return xxx_messageInfo_DeployedFleetDetails.Size(m)
+}
+func (m *DeployedFleetDetails) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeployedFleetDetails.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeployedFleetDetails proto.InternalMessageInfo
+
+func (m *DeployedFleetDetails) GetDeployedFleet() *DeployedFleetDetails_DeployedFleet {
+	if m != nil {
+		return m.DeployedFleet
+	}
+	return nil
+}
+
+func (m *DeployedFleetDetails) GetDeployedAutoscaler() *DeployedFleetDetails_DeployedFleetAutoscaler {
+	if m != nil {
+		return m.DeployedAutoscaler
+	}
+	return nil
+}
+
+// Agones fleet specification and details.
+type DeployedFleetDetails_DeployedFleet struct {
+	// The name of the Agones fleet.
+	Fleet string `protobuf:"bytes,1,opt,name=fleet,proto3" json:"fleet,omitempty"`
+	// The fleet spec retrieved from the Agones fleet.
+	FleetSpec string `protobuf:"bytes,2,opt,name=fleet_spec,json=fleetSpec,proto3" json:"fleet_spec,omitempty"`
+	// The source spec that is used to create the Agones fleet.
+	// The GameServerConfig resource may no longer exist in the system.
+	SpecSource *SpecSource `protobuf:"bytes,3,opt,name=spec_source,json=specSource,proto3" json:"spec_source,omitempty"`
+	// The current status of the Agones fleet.
+	// Includes count of game servers in various states.
+	Status               *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                                                `json:"-"`
+	XXX_unrecognized     []byte                                                  `json:"-"`
+	XXX_sizecache        int32                                                   `json:"-"`
+}
+
+func (m *DeployedFleetDetails_DeployedFleet) Reset()         { *m = DeployedFleetDetails_DeployedFleet{} }
+func (m *DeployedFleetDetails_DeployedFleet) String() string { return proto.CompactTextString(m) }
+func (*DeployedFleetDetails_DeployedFleet) ProtoMessage()    {}
+func (*DeployedFleetDetails_DeployedFleet) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{8, 0}
+}
+
+func (m *DeployedFleetDetails_DeployedFleet) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeployedFleetDetails_DeployedFleet.Unmarshal(m, b)
+}
+func (m *DeployedFleetDetails_DeployedFleet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeployedFleetDetails_DeployedFleet.Marshal(b, m, deterministic)
+}
+func (m *DeployedFleetDetails_DeployedFleet) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeployedFleetDetails_DeployedFleet.Merge(m, src)
+}
+func (m *DeployedFleetDetails_DeployedFleet) XXX_Size() int {
+	return xxx_messageInfo_DeployedFleetDetails_DeployedFleet.Size(m)
+}
+func (m *DeployedFleetDetails_DeployedFleet) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeployedFleetDetails_DeployedFleet.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeployedFleetDetails_DeployedFleet proto.InternalMessageInfo
+
+func (m *DeployedFleetDetails_DeployedFleet) GetFleet() string {
+	if m != nil {
+		return m.Fleet
+	}
+	return ""
+}
+
+func (m *DeployedFleetDetails_DeployedFleet) GetFleetSpec() string {
+	if m != nil {
+		return m.FleetSpec
+	}
+	return ""
+}
+
+func (m *DeployedFleetDetails_DeployedFleet) GetSpecSource() *SpecSource {
+	if m != nil {
+		return m.SpecSource
+	}
+	return nil
+}
+
+func (m *DeployedFleetDetails_DeployedFleet) GetStatus() *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus {
+	if m != nil {
+		return m.Status
+	}
+	return nil
+}
+
+// DeployedFleetStatus has details about the Agones fleets such as how many
+// are running, how many allocated, and so on.
+type DeployedFleetDetails_DeployedFleet_DeployedFleetStatus struct {
+	// The number of GameServer replicas in the READY state in this fleet.
+	ReadyReplicas int64 `protobuf:"varint,1,opt,name=ready_replicas,json=readyReplicas,proto3" json:"ready_replicas,omitempty"`
+	// The number of GameServer replicas in the ALLOCATED state in this fleet.
+	AllocatedReplicas int64 `protobuf:"varint,2,opt,name=allocated_replicas,json=allocatedReplicas,proto3" json:"allocated_replicas,omitempty"`
+	// 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.
+	ReservedReplicas int64 `protobuf:"varint,3,opt,name=reserved_replicas,json=reservedReplicas,proto3" json:"reserved_replicas,omitempty"`
+	// The total number of current GameServer replicas in this fleet.
+	Replicas             int64    `protobuf:"varint,4,opt,name=replicas,proto3" json:"replicas,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) Reset() {
+	*m = DeployedFleetDetails_DeployedFleet_DeployedFleetStatus{}
+}
+func (m *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) String() string {
+	return proto.CompactTextString(m)
+}
+func (*DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) ProtoMessage() {}
+func (*DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{8, 0, 0}
+}
+
+func (m *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeployedFleetDetails_DeployedFleet_DeployedFleetStatus.Unmarshal(m, b)
+}
+func (m *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeployedFleetDetails_DeployedFleet_DeployedFleetStatus.Marshal(b, m, deterministic)
+}
+func (m *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeployedFleetDetails_DeployedFleet_DeployedFleetStatus.Merge(m, src)
+}
+func (m *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) XXX_Size() int {
+	return xxx_messageInfo_DeployedFleetDetails_DeployedFleet_DeployedFleetStatus.Size(m)
+}
+func (m *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeployedFleetDetails_DeployedFleet_DeployedFleetStatus.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeployedFleetDetails_DeployedFleet_DeployedFleetStatus proto.InternalMessageInfo
+
+func (m *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) GetReadyReplicas() int64 {
+	if m != nil {
+		return m.ReadyReplicas
+	}
+	return 0
+}
+
+func (m *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) GetAllocatedReplicas() int64 {
+	if m != nil {
+		return m.AllocatedReplicas
+	}
+	return 0
+}
+
+func (m *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) GetReservedReplicas() int64 {
+	if m != nil {
+		return m.ReservedReplicas
+	}
+	return 0
+}
+
+func (m *DeployedFleetDetails_DeployedFleet_DeployedFleetStatus) GetReplicas() int64 {
+	if m != nil {
+		return m.Replicas
+	}
+	return 0
+}
+
+// Details about the Agones autoscaler.
+type DeployedFleetDetails_DeployedFleetAutoscaler struct {
+	// The name of the Agones autoscaler.
+	Autoscaler string `protobuf:"bytes,1,opt,name=autoscaler,proto3" json:"autoscaler,omitempty"`
+	// The source spec that is used to create the autoscaler.
+	// The GameServerConfig resource may no longer exist in the system.
+	SpecSource *SpecSource `protobuf:"bytes,4,opt,name=spec_source,json=specSource,proto3" json:"spec_source,omitempty"`
+	// The autoscaler spec retrieved from Agones.
+	FleetAutoscalerSpec  string   `protobuf:"bytes,3,opt,name=fleet_autoscaler_spec,json=fleetAutoscalerSpec,proto3" json:"fleet_autoscaler_spec,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *DeployedFleetDetails_DeployedFleetAutoscaler) Reset() {
+	*m = DeployedFleetDetails_DeployedFleetAutoscaler{}
+}
+func (m *DeployedFleetDetails_DeployedFleetAutoscaler) String() string {
+	return proto.CompactTextString(m)
+}
+func (*DeployedFleetDetails_DeployedFleetAutoscaler) ProtoMessage() {}
+func (*DeployedFleetDetails_DeployedFleetAutoscaler) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1b2e69f5b15a0cad, []int{8, 1}
+}
+
+func (m *DeployedFleetDetails_DeployedFleetAutoscaler) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeployedFleetDetails_DeployedFleetAutoscaler.Unmarshal(m, b)
+}
+func (m *DeployedFleetDetails_DeployedFleetAutoscaler) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeployedFleetDetails_DeployedFleetAutoscaler.Marshal(b, m, deterministic)
+}
+func (m *DeployedFleetDetails_DeployedFleetAutoscaler) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeployedFleetDetails_DeployedFleetAutoscaler.Merge(m, src)
+}
+func (m *DeployedFleetDetails_DeployedFleetAutoscaler) XXX_Size() int {
+	return xxx_messageInfo_DeployedFleetDetails_DeployedFleetAutoscaler.Size(m)
+}
+func (m *DeployedFleetDetails_DeployedFleetAutoscaler) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeployedFleetDetails_DeployedFleetAutoscaler.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeployedFleetDetails_DeployedFleetAutoscaler proto.InternalMessageInfo
+
+func (m *DeployedFleetDetails_DeployedFleetAutoscaler) GetAutoscaler() string {
+	if m != nil {
+		return m.Autoscaler
+	}
+	return ""
+}
+
+func (m *DeployedFleetDetails_DeployedFleetAutoscaler) GetSpecSource() *SpecSource {
+	if m != nil {
+		return m.SpecSource
+	}
+	return nil
+}
+
+func (m *DeployedFleetDetails_DeployedFleetAutoscaler) GetFleetAutoscalerSpec() string {
+	if m != nil {
+		return m.FleetAutoscalerSpec
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterEnum("google.cloud.gaming.v1beta.OperationStatus_ErrorCode", OperationStatus_ErrorCode_name, OperationStatus_ErrorCode_value)
+	proto.RegisterType((*OperationMetadata)(nil), "google.cloud.gaming.v1beta.OperationMetadata")
+	proto.RegisterMapType((map[string]*OperationStatus)(nil), "google.cloud.gaming.v1beta.OperationMetadata.OperationStatusEntry")
+	proto.RegisterType((*OperationStatus)(nil), "google.cloud.gaming.v1beta.OperationStatus")
+	proto.RegisterType((*LabelSelector)(nil), "google.cloud.gaming.v1beta.LabelSelector")
+	proto.RegisterMapType((map[string]string)(nil), "google.cloud.gaming.v1beta.LabelSelector.LabelsEntry")
+	proto.RegisterType((*RealmSelector)(nil), "google.cloud.gaming.v1beta.RealmSelector")
+	proto.RegisterType((*Schedule)(nil), "google.cloud.gaming.v1beta.Schedule")
+	proto.RegisterType((*SpecSource)(nil), "google.cloud.gaming.v1beta.SpecSource")
+	proto.RegisterType((*TargetDetails)(nil), "google.cloud.gaming.v1beta.TargetDetails")
+	proto.RegisterType((*TargetDetails_TargetFleetDetails)(nil), "google.cloud.gaming.v1beta.TargetDetails.TargetFleetDetails")
+	proto.RegisterType((*TargetDetails_TargetFleetDetails_TargetFleet)(nil), "google.cloud.gaming.v1beta.TargetDetails.TargetFleetDetails.TargetFleet")
+	proto.RegisterType((*TargetDetails_TargetFleetDetails_TargetFleetAutoscaler)(nil), "google.cloud.gaming.v1beta.TargetDetails.TargetFleetDetails.TargetFleetAutoscaler")
+	proto.RegisterType((*TargetState)(nil), "google.cloud.gaming.v1beta.TargetState")
+	proto.RegisterType((*DeployedFleetDetails)(nil), "google.cloud.gaming.v1beta.DeployedFleetDetails")
+	proto.RegisterType((*DeployedFleetDetails_DeployedFleet)(nil), "google.cloud.gaming.v1beta.DeployedFleetDetails.DeployedFleet")
+	proto.RegisterType((*DeployedFleetDetails_DeployedFleet_DeployedFleetStatus)(nil), "google.cloud.gaming.v1beta.DeployedFleetDetails.DeployedFleet.DeployedFleetStatus")
+	proto.RegisterType((*DeployedFleetDetails_DeployedFleetAutoscaler)(nil), "google.cloud.gaming.v1beta.DeployedFleetDetails.DeployedFleetAutoscaler")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/gaming/v1beta/common.proto", fileDescriptor_1b2e69f5b15a0cad)
+}
+
+var fileDescriptor_1b2e69f5b15a0cad = []byte{
+	// 1211 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xdf, 0x72, 0xdb, 0xc4,
+	0x17, 0xfe, 0x29, 0x4a, 0xdc, 0xe8, 0xb8, 0x4e, 0x93, 0x6d, 0x92, 0xfa, 0xa7, 0x42, 0xc9, 0x18,
+	0x4a, 0x03, 0x1d, 0xec, 0x21, 0x4c, 0x07, 0x5a, 0xfe, 0x4c, 0x53, 0x47, 0xa5, 0x66, 0x1a, 0xa7,
+	0xb3, 0x76, 0x61, 0x86, 0x0b, 0x34, 0x6b, 0xe9, 0x58, 0x55, 0x90, 0xb5, 0x66, 0xb5, 0xf6, 0x4c,
+	0x1e, 0x83, 0x4b, 0xde, 0x82, 0x0b, 0x06, 0xde, 0x81, 0xa7, 0x28, 0x33, 0x3c, 0x08, 0xa3, 0x5d,
+	0x49, 0x96, 0x13, 0x37, 0x4d, 0x5b, 0xb8, 0x8a, 0xf6, 0x3b, 0xdf, 0xf9, 0xce, 0xee, 0x9e, 0x4f,
+	0x27, 0x32, 0xdc, 0x0a, 0x38, 0x0f, 0x22, 0x6c, 0x79, 0x11, 0x9f, 0xf8, 0xad, 0x80, 0x8d, 0xc2,
+	0x38, 0x68, 0x4d, 0x3f, 0x1e, 0xa0, 0x64, 0x2d, 0x8f, 0x8f, 0x46, 0x3c, 0x6e, 0x8e, 0x05, 0x97,
+	0x9c, 0xd8, 0x9a, 0xd8, 0x54, 0xc4, 0xa6, 0x26, 0x36, 0x35, 0xd1, 0x7e, 0x27, 0x13, 0x61, 0xe3,
+	0xb0, 0x35, 0x0c, 0x31, 0xf2, 0xdd, 0x01, 0x3e, 0x63, 0xd3, 0x90, 0x0b, 0x9d, 0x6c, 0xdf, 0xc8,
+	0x08, 0x6a, 0x35, 0x98, 0x0c, 0x5b, 0xfe, 0x44, 0x30, 0x19, 0xe6, 0xe2, 0x85, 0x40, 0x11, 0x97,
+	0xe1, 0x08, 0x13, 0xc9, 0x46, 0xe3, 0x8c, 0xf0, 0x56, 0xa9, 0x02, 0x8b, 0x63, 0x2e, 0x55, 0x76,
+	0xa2, 0xa3, 0x8d, 0xbf, 0x96, 0x61, 0xe3, 0x68, 0x8c, 0x5a, 0xf2, 0x10, 0x25, 0xf3, 0x99, 0x64,
+	0xe4, 0x3e, 0x54, 0x3d, 0x81, 0x4c, 0xa2, 0x9b, 0xaa, 0xd5, 0x8d, 0x1d, 0x63, 0xb7, 0xba, 0x67,
+	0x37, 0xb3, 0x73, 0xe4, 0xa5, 0x9a, 0xfd, 0xbc, 0xd4, 0x03, 0xf3, 0xf9, 0xbe, 0x49, 0x41, 0xe7,
+	0xa4, 0x28, 0xb9, 0x07, 0xab, 0x18, 0xfb, 0x3a, 0x7d, 0xe9, 0x62, 0xe9, 0x97, 0x30, 0xf6, 0x55,
+	0xee, 0x75, 0xa8, 0x48, 0x26, 0x02, 0x94, 0x75, 0x73, 0xc7, 0xd8, 0xb5, 0x74, 0x34, 0x83, 0xc8,
+	0x35, 0x58, 0x9e, 0xa2, 0x18, 0xd4, 0x97, 0x67, 0x21, 0x05, 0x90, 0x0f, 0x61, 0x2d, 0x91, 0x4c,
+	0x4e, 0x12, 0x77, 0x84, 0x49, 0xc2, 0x02, 0xac, 0xaf, 0xcc, 0x28, 0x35, 0x1d, 0x3a, 0xd4, 0x11,
+	0x72, 0x0f, 0xb6, 0x05, 0xfe, 0x34, 0xc1, 0x44, 0xa2, 0xef, 0x7a, 0x2c, 0xf6, 0x30, 0x8a, 0xd4,
+	0x0d, 0xd4, 0x2b, 0x3b, 0xc6, 0xee, 0xaa, 0xce, 0xd9, 0x2a, 0x28, 0xed, 0x12, 0x83, 0xbc, 0x07,
+	0x55, 0x36, 0x0e, 0xdd, 0x29, 0x8a, 0x24, 0x4d, 0xb8, 0x34, 0x2b, 0x02, 0x6c, 0x1c, 0x7e, 0xab,
+	0x61, 0x72, 0x13, 0xaa, 0x93, 0x58, 0x20, 0xf3, 0x9e, 0xb1, 0x41, 0x84, 0xf5, 0xd5, 0x1d, 0x33,
+	0x67, 0x95, 0x71, 0x22, 0x60, 0x9d, 0xe7, 0xb7, 0xef, 0xea, 0x3d, 0xd6, 0xad, 0x1d, 0x73, 0xb7,
+	0xba, 0xf7, 0xa0, 0xf9, 0x62, 0xd7, 0x34, 0xcf, 0x74, 0x6c, 0x86, 0xf4, 0x94, 0x88, 0x13, 0x4b,
+	0x71, 0xa2, 0xeb, 0x5d, 0xe1, 0xf3, 0x21, 0x9b, 0xc3, 0xe6, 0x22, 0x36, 0x59, 0x07, 0xf3, 0x47,
+	0x3c, 0x51, 0xcd, 0xb6, 0x68, 0xfa, 0x48, 0xf6, 0x61, 0x65, 0xca, 0xa2, 0x49, 0xde, 0xc1, 0xdb,
+	0x17, 0xda, 0x92, 0x96, 0xa4, 0x3a, 0xf3, 0xde, 0xd2, 0x67, 0x46, 0xe3, 0xe7, 0x25, 0xb8, 0x72,
+	0x2a, 0x9c, 0xb6, 0xd1, 0xe7, 0xb1, 0xb6, 0x56, 0x76, 0xdf, 0x0a, 0x20, 0x7d, 0x00, 0x14, 0x82,
+	0x0b, 0xd7, 0xe3, 0xbe, 0x2e, 0xbc, 0xb6, 0x77, 0xe7, 0x15, 0x0a, 0x37, 0x9d, 0x34, 0xbb, 0xcd,
+	0x7d, 0xa4, 0x16, 0xe6, 0x8f, 0xe4, 0x5d, 0xa8, 0x69, 0xd5, 0xdc, 0x1b, 0xca, 0x59, 0xf4, 0xb2,
+	0x02, 0x33, 0x57, 0x34, 0x8e, 0xc1, 0x2a, 0x92, 0x89, 0x0d, 0xdb, 0x0e, 0xa5, 0x47, 0xd4, 0x6d,
+	0x1f, 0x1d, 0x38, 0xee, 0xd3, 0x6e, 0xef, 0x89, 0xd3, 0xee, 0x3c, 0xec, 0x38, 0x07, 0xeb, 0xff,
+	0x23, 0x04, 0xd6, 0x3a, 0xdd, 0xbe, 0x43, 0xbb, 0xfb, 0x8f, 0x5d, 0x45, 0x5a, 0x37, 0xc8, 0x16,
+	0x6c, 0x3c, 0x71, 0xe8, 0x61, 0xa7, 0xd7, 0xeb, 0x1c, 0x75, 0xdd, 0x03, 0xa7, 0x9b, 0x52, 0x97,
+	0xc8, 0x36, 0x90, 0xf6, 0xe3, 0xa7, 0xbd, 0xbe, 0x93, 0x0a, 0x75, 0xbb, 0x4e, 0xbb, 0xdf, 0x39,
+	0xea, 0xae, 0x9b, 0x8d, 0x5f, 0x0c, 0xa8, 0x3d, 0x66, 0x03, 0x8c, 0x7a, 0x18, 0xa1, 0x27, 0xb9,
+	0x20, 0x87, 0x50, 0x89, 0x52, 0x20, 0xa9, 0x1b, 0xca, 0x00, 0xe7, 0x1e, 0x7a, 0x2e, 0x55, 0xaf,
+	0x74, 0x17, 0x69, 0x26, 0x62, 0xdf, 0x85, 0x6a, 0x09, 0x5e, 0xd0, 0xdc, 0xcd, 0x72, 0x73, 0xad,
+	0x72, 0xbf, 0x6e, 0x41, 0x8d, 0x22, 0x8b, 0x46, 0xc5, 0xd6, 0xb6, 0xa1, 0x22, 0x52, 0x40, 0x6f,
+	0xcd, 0xa2, 0xd9, 0xaa, 0xf1, 0xdc, 0x80, 0xd5, 0x9e, 0xf7, 0x0c, 0xfd, 0x49, 0x84, 0xe4, 0x2e,
+	0x40, 0x22, 0x99, 0x90, 0x17, 0x1c, 0x19, 0xd4, 0x52, 0x6c, 0xf5, 0xc2, 0xdf, 0x79, 0x95, 0x61,
+	0x31, 0x9b, 0x13, 0x0e, 0x6c, 0x78, 0x82, 0xc7, 0xee, 0x31, 0x1f, 0xb8, 0xf9, 0x54, 0x54, 0x8d,
+	0xad, 0xee, 0xfd, 0xff, 0x4c, 0xfe, 0x41, 0x46, 0xa0, 0x57, 0xd2, 0x9c, 0x6f, 0xf8, 0x20, 0x07,
+	0xc8, 0x75, 0xb0, 0x94, 0x4c, 0x32, 0x46, 0x4f, 0x8f, 0x15, 0xba, 0x9a, 0x02, 0xbd, 0x31, 0x7a,
+	0x8d, 0xef, 0x00, 0xd2, 0xbf, 0x3d, 0x3e, 0x11, 0x5e, 0xba, 0xd1, 0x6b, 0x01, 0x1b, 0xa1, 0x9b,
+	0xa0, 0x98, 0x62, 0x6a, 0xd1, 0x78, 0x18, 0x06, 0x6e, 0xcc, 0xb2, 0x03, 0x5b, 0x74, 0x33, 0x0d,
+	0xf7, 0x54, 0xb4, 0xad, 0x82, 0x5d, 0x36, 0x42, 0x42, 0x60, 0x59, 0x71, 0xf4, 0x4d, 0xab, 0xe7,
+	0xc6, 0x1f, 0x2b, 0x50, 0xeb, 0xab, 0x91, 0x76, 0x80, 0x92, 0x85, 0x51, 0x42, 0x3e, 0x85, 0xfa,
+	0x9c, 0x78, 0x34, 0x49, 0x24, 0x8a, 0xb2, 0xfa, 0x56, 0x49, 0x5d, 0x47, 0x95, 0xfc, 0x97, 0x70,
+	0xbd, 0x9c, 0xe8, 0xe3, 0x38, 0xe2, 0x27, 0x23, 0x8c, 0xa5, 0x5b, 0xaa, 0x5a, 0x9f, 0xe5, 0x1e,
+	0x14, 0x04, 0x95, 0xce, 0xa0, 0x36, 0x8c, 0x10, 0xa5, 0xeb, 0xeb, 0x8d, 0xd4, 0x4d, 0xe5, 0xbf,
+	0x2f, 0xce, 0xf3, 0xdf, 0xdc, 0xce, 0xb3, 0xd5, 0xc3, 0x54, 0x24, 0x83, 0xe8, 0xe5, 0x61, 0x69,
+	0x65, 0xff, 0x69, 0x02, 0x39, 0x4b, 0x22, 0x3f, 0xc0, 0x8a, 0xa2, 0x65, 0x6e, 0x79, 0xf4, 0x26,
+	0x15, 0xcb, 0x10, 0xd5, 0xb2, 0x44, 0x00, 0xb0, 0x89, 0xe4, 0x89, 0xc7, 0x22, 0x14, 0x99, 0xb3,
+	0xe8, 0xbf, 0x55, 0x64, 0xbf, 0x50, 0xa6, 0xa5, 0x2a, 0xf6, 0x31, 0x54, 0x4b, 0xa4, 0xa2, 0xf5,
+	0xc6, 0xac, 0xf5, 0xe4, 0x6b, 0xa8, 0xa6, 0x5e, 0x73, 0x13, 0x65, 0xaa, 0x6c, 0x5f, 0xef, 0x9f,
+	0xb7, 0xaf, 0x99, 0x05, 0x29, 0x24, 0xc5, 0xb3, 0x2d, 0x61, 0x6b, 0xe1, 0x86, 0xfe, 0xd3, 0xaa,
+	0x0d, 0x9a, 0x9f, 0x30, 0x1d, 0xb8, 0x48, 0xda, 0x70, 0x29, 0x37, 0x8e, 0x1e, 0x5c, 0x1f, 0x5c,
+	0xf8, 0x86, 0x69, 0x9e, 0xd9, 0xf8, 0xbb, 0x02, 0x9b, 0xda, 0x96, 0xe8, 0xcf, 0x59, 0x04, 0x61,
+	0xcd, 0xcf, 0x70, 0xb7, 0xec, 0x95, 0xaf, 0xce, 0x2b, 0xb2, 0x48, 0x69, 0x1e, 0xa4, 0x35, 0xbf,
+	0xbc, 0x24, 0x27, 0x70, 0xb5, 0x28, 0x73, 0xc6, 0x32, 0x8f, 0xde, 0xac, 0x56, 0xc9, 0x28, 0x24,
+	0x2f, 0x32, 0xc3, 0xec, 0x5f, 0x4d, 0xa8, 0xcd, 0xf1, 0xd3, 0xc9, 0x3c, 0x3b, 0xaa, 0x95, 0x9b,
+	0xf9, 0x6d, 0x00, 0xfd, 0x9a, 0xaa, 0x39, 0xa5, 0x5f, 0x6a, 0x4b, 0x21, 0x69, 0x9f, 0x4e, 0xb7,
+	0xd7, 0x7c, 0xdd, 0xf6, 0x92, 0x63, 0xa8, 0x64, 0x1f, 0x22, 0x2b, 0x2f, 0x7f, 0x61, 0x5e, 0x7e,
+	0xfa, 0xf9, 0x55, 0xf6, 0x71, 0x90, 0x55, 0xb0, 0x7f, 0x33, 0xe0, 0xea, 0x82, 0x38, 0xb9, 0x09,
+	0x6b, 0x02, 0x99, 0x7f, 0xe2, 0x0a, 0x1c, 0x47, 0xa1, 0xc7, 0x12, 0x75, 0x15, 0x26, 0xad, 0x29,
+	0x94, 0x66, 0x20, 0xf9, 0x08, 0x08, 0x8b, 0x22, 0xee, 0xb1, 0xf4, 0x33, 0xae, 0xa0, 0x2e, 0x29,
+	0xea, 0x46, 0x11, 0x29, 0xe8, 0xb7, 0x61, 0x43, 0xa0, 0x1a, 0x92, 0x25, 0xb6, 0xa9, 0xd8, 0xeb,
+	0x79, 0xa0, 0x20, 0xdb, 0xb0, 0x5a, 0x70, 0x96, 0x15, 0xa7, 0x58, 0xdb, 0xbf, 0x1b, 0x70, 0xed,
+	0x05, 0x2d, 0x26, 0x37, 0xe6, 0x66, 0x8e, 0xee, 0x60, 0x09, 0x39, 0xdd, 0xa7, 0xe5, 0xd7, 0xee,
+	0xd3, 0x1e, 0x6c, 0x69, 0x3f, 0xcc, 0xc4, 0xb5, 0x35, 0xf4, 0xa7, 0xcd, 0xd5, 0xe1, 0xfc, 0xc6,
+	0x52, 0x95, 0x07, 0x3e, 0xdc, 0xf0, 0xf8, 0xe8, 0x9c, 0x62, 0x4f, 0x8c, 0xef, 0xef, 0x67, 0xd1,
+	0x80, 0x47, 0x2c, 0x0e, 0x9a, 0x5c, 0x04, 0xad, 0x00, 0x63, 0xf5, 0x7f, 0xb4, 0xa5, 0x43, 0x6c,
+	0x1c, 0x26, 0x8b, 0x7e, 0xf5, 0x7c, 0xae, 0x57, 0x83, 0x8a, 0x22, 0x7f, 0xf2, 0x4f, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0x8e, 0x4d, 0x21, 0xa3, 0x21, 0x0d, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/gaming/v1beta/game_server_clusters.pb.go b/googleapis/cloud/gaming/v1beta/game_server_clusters.pb.go
new file mode 100644
index 0000000..cdad918
--- /dev/null
+++ b/googleapis/cloud/gaming/v1beta/game_server_clusters.pb.go
@@ -0,0 +1,1031 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/gaming/v1beta/game_server_clusters.proto
+
+package gaming
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	field_mask "google.golang.org/genproto/protobuf/field_mask"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Request message for GameServerClustersService.ListGameServerClusters.
+type ListGameServerClustersRequest struct {
+	// Required. The parent resource name. Uses the form:
+	// "projects/{project}/locations/{location}/realms/{realm}".
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// 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.v1beta.ListGameServerClustersResponse.next_page_token] to
+	// determine if there are more GameServerClusters left to be queried.
+	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	// Optional. The next_page_token value returned from a previous List request, if any.
+	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// Optional. The filter to apply to list results.
+	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
+	// Optional. Specifies the ordering of results following syntax at
+	// https://cloud.google.com/apis/design/design_patterns#sorting_order.
+	OrderBy              string   `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListGameServerClustersRequest) Reset()         { *m = ListGameServerClustersRequest{} }
+func (m *ListGameServerClustersRequest) String() string { return proto.CompactTextString(m) }
+func (*ListGameServerClustersRequest) ProtoMessage()    {}
+func (*ListGameServerClustersRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{0}
+}
+
+func (m *ListGameServerClustersRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListGameServerClustersRequest.Unmarshal(m, b)
+}
+func (m *ListGameServerClustersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListGameServerClustersRequest.Marshal(b, m, deterministic)
+}
+func (m *ListGameServerClustersRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListGameServerClustersRequest.Merge(m, src)
+}
+func (m *ListGameServerClustersRequest) XXX_Size() int {
+	return xxx_messageInfo_ListGameServerClustersRequest.Size(m)
+}
+func (m *ListGameServerClustersRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListGameServerClustersRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListGameServerClustersRequest proto.InternalMessageInfo
+
+func (m *ListGameServerClustersRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListGameServerClustersRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListGameServerClustersRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListGameServerClustersRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListGameServerClustersRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
+// Response message for GameServerClustersService.ListGameServerClusters.
+type ListGameServerClustersResponse struct {
+	// The list of Game Server Clusters.
+	GameServerClusters []*GameServerCluster `protobuf:"bytes,1,rep,name=game_server_clusters,json=gameServerClusters,proto3" json:"game_server_clusters,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no more
+	// results in the list.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	// List of Locations that could not be reached.
+	Unreachable          []string `protobuf:"bytes,4,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListGameServerClustersResponse) Reset()         { *m = ListGameServerClustersResponse{} }
+func (m *ListGameServerClustersResponse) String() string { return proto.CompactTextString(m) }
+func (*ListGameServerClustersResponse) ProtoMessage()    {}
+func (*ListGameServerClustersResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{1}
+}
+
+func (m *ListGameServerClustersResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListGameServerClustersResponse.Unmarshal(m, b)
+}
+func (m *ListGameServerClustersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListGameServerClustersResponse.Marshal(b, m, deterministic)
+}
+func (m *ListGameServerClustersResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListGameServerClustersResponse.Merge(m, src)
+}
+func (m *ListGameServerClustersResponse) XXX_Size() int {
+	return xxx_messageInfo_ListGameServerClustersResponse.Size(m)
+}
+func (m *ListGameServerClustersResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListGameServerClustersResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListGameServerClustersResponse proto.InternalMessageInfo
+
+func (m *ListGameServerClustersResponse) GetGameServerClusters() []*GameServerCluster {
+	if m != nil {
+		return m.GameServerClusters
+	}
+	return nil
+}
+
+func (m *ListGameServerClustersResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListGameServerClustersResponse) GetUnreachable() []string {
+	if m != nil {
+		return m.Unreachable
+	}
+	return nil
+}
+
+// Request message for GameServerClustersService.GetGameServerCluster.
+type GetGameServerClusterRequest struct {
+	// Required. The name of the Game Server Cluster to retrieve. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/realms/{realm-id}/gameServerClusters/{cluster}`.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetGameServerClusterRequest) Reset()         { *m = GetGameServerClusterRequest{} }
+func (m *GetGameServerClusterRequest) String() string { return proto.CompactTextString(m) }
+func (*GetGameServerClusterRequest) ProtoMessage()    {}
+func (*GetGameServerClusterRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{2}
+}
+
+func (m *GetGameServerClusterRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetGameServerClusterRequest.Unmarshal(m, b)
+}
+func (m *GetGameServerClusterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetGameServerClusterRequest.Marshal(b, m, deterministic)
+}
+func (m *GetGameServerClusterRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetGameServerClusterRequest.Merge(m, src)
+}
+func (m *GetGameServerClusterRequest) XXX_Size() int {
+	return xxx_messageInfo_GetGameServerClusterRequest.Size(m)
+}
+func (m *GetGameServerClusterRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetGameServerClusterRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetGameServerClusterRequest proto.InternalMessageInfo
+
+func (m *GetGameServerClusterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request message for GameServerClustersService.CreateGameServerCluster.
+type CreateGameServerClusterRequest struct {
+	// Required. The parent resource name. Uses the form:
+	// `projects/{project}/locations/{location}/realms/{realm-id}`.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Required. The ID of the Game Server Cluster resource to be created.
+	GameServerClusterId string `protobuf:"bytes,2,opt,name=game_server_cluster_id,json=gameServerClusterId,proto3" json:"game_server_cluster_id,omitempty"`
+	// Required. The Game Server Cluster resource to be created.
+	GameServerCluster    *GameServerCluster `protobuf:"bytes,3,opt,name=game_server_cluster,json=gameServerCluster,proto3" json:"game_server_cluster,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
+	XXX_unrecognized     []byte             `json:"-"`
+	XXX_sizecache        int32              `json:"-"`
+}
+
+func (m *CreateGameServerClusterRequest) Reset()         { *m = CreateGameServerClusterRequest{} }
+func (m *CreateGameServerClusterRequest) String() string { return proto.CompactTextString(m) }
+func (*CreateGameServerClusterRequest) ProtoMessage()    {}
+func (*CreateGameServerClusterRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{3}
+}
+
+func (m *CreateGameServerClusterRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CreateGameServerClusterRequest.Unmarshal(m, b)
+}
+func (m *CreateGameServerClusterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CreateGameServerClusterRequest.Marshal(b, m, deterministic)
+}
+func (m *CreateGameServerClusterRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CreateGameServerClusterRequest.Merge(m, src)
+}
+func (m *CreateGameServerClusterRequest) XXX_Size() int {
+	return xxx_messageInfo_CreateGameServerClusterRequest.Size(m)
+}
+func (m *CreateGameServerClusterRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CreateGameServerClusterRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CreateGameServerClusterRequest proto.InternalMessageInfo
+
+func (m *CreateGameServerClusterRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateGameServerClusterRequest) GetGameServerClusterId() string {
+	if m != nil {
+		return m.GameServerClusterId
+	}
+	return ""
+}
+
+func (m *CreateGameServerClusterRequest) GetGameServerCluster() *GameServerCluster {
+	if m != nil {
+		return m.GameServerCluster
+	}
+	return nil
+}
+
+// Request message for GameServerClustersService.PreviewCreateGameServerCluster.
+type PreviewCreateGameServerClusterRequest struct {
+	// Required. The parent resource name. Uses the form:
+	// `projects/{project}/locations/{location}/realms/{realm}`.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Required. The ID of the Game Server Cluster resource to be created.
+	GameServerClusterId string `protobuf:"bytes,2,opt,name=game_server_cluster_id,json=gameServerClusterId,proto3" json:"game_server_cluster_id,omitempty"`
+	// Required. The Game Server Cluster resource to be created.
+	GameServerCluster *GameServerCluster `protobuf:"bytes,3,opt,name=game_server_cluster,json=gameServerCluster,proto3" json:"game_server_cluster,omitempty"`
+	// Optional. The target timestamp to compute the preview.
+	PreviewTime          *timestamp.Timestamp `protobuf:"bytes,4,opt,name=preview_time,json=previewTime,proto3" json:"preview_time,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *PreviewCreateGameServerClusterRequest) Reset()         { *m = PreviewCreateGameServerClusterRequest{} }
+func (m *PreviewCreateGameServerClusterRequest) String() string { return proto.CompactTextString(m) }
+func (*PreviewCreateGameServerClusterRequest) ProtoMessage()    {}
+func (*PreviewCreateGameServerClusterRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{4}
+}
+
+func (m *PreviewCreateGameServerClusterRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PreviewCreateGameServerClusterRequest.Unmarshal(m, b)
+}
+func (m *PreviewCreateGameServerClusterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PreviewCreateGameServerClusterRequest.Marshal(b, m, deterministic)
+}
+func (m *PreviewCreateGameServerClusterRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PreviewCreateGameServerClusterRequest.Merge(m, src)
+}
+func (m *PreviewCreateGameServerClusterRequest) XXX_Size() int {
+	return xxx_messageInfo_PreviewCreateGameServerClusterRequest.Size(m)
+}
+func (m *PreviewCreateGameServerClusterRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_PreviewCreateGameServerClusterRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PreviewCreateGameServerClusterRequest proto.InternalMessageInfo
+
+func (m *PreviewCreateGameServerClusterRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *PreviewCreateGameServerClusterRequest) GetGameServerClusterId() string {
+	if m != nil {
+		return m.GameServerClusterId
+	}
+	return ""
+}
+
+func (m *PreviewCreateGameServerClusterRequest) GetGameServerCluster() *GameServerCluster {
+	if m != nil {
+		return m.GameServerCluster
+	}
+	return nil
+}
+
+func (m *PreviewCreateGameServerClusterRequest) GetPreviewTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.PreviewTime
+	}
+	return nil
+}
+
+// Response message for
+// GameServerClustersService.PreviewCreateGameServerCluster.
+type PreviewCreateGameServerClusterResponse struct {
+	// The ETag of the game server cluster.
+	Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
+	// The target state.
+	TargetState          *TargetState `protobuf:"bytes,3,opt,name=target_state,json=targetState,proto3" json:"target_state,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
+	XXX_unrecognized     []byte       `json:"-"`
+	XXX_sizecache        int32        `json:"-"`
+}
+
+func (m *PreviewCreateGameServerClusterResponse) Reset() {
+	*m = PreviewCreateGameServerClusterResponse{}
+}
+func (m *PreviewCreateGameServerClusterResponse) String() string { return proto.CompactTextString(m) }
+func (*PreviewCreateGameServerClusterResponse) ProtoMessage()    {}
+func (*PreviewCreateGameServerClusterResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{5}
+}
+
+func (m *PreviewCreateGameServerClusterResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PreviewCreateGameServerClusterResponse.Unmarshal(m, b)
+}
+func (m *PreviewCreateGameServerClusterResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PreviewCreateGameServerClusterResponse.Marshal(b, m, deterministic)
+}
+func (m *PreviewCreateGameServerClusterResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PreviewCreateGameServerClusterResponse.Merge(m, src)
+}
+func (m *PreviewCreateGameServerClusterResponse) XXX_Size() int {
+	return xxx_messageInfo_PreviewCreateGameServerClusterResponse.Size(m)
+}
+func (m *PreviewCreateGameServerClusterResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_PreviewCreateGameServerClusterResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PreviewCreateGameServerClusterResponse proto.InternalMessageInfo
+
+func (m *PreviewCreateGameServerClusterResponse) GetEtag() string {
+	if m != nil {
+		return m.Etag
+	}
+	return ""
+}
+
+func (m *PreviewCreateGameServerClusterResponse) GetTargetState() *TargetState {
+	if m != nil {
+		return m.TargetState
+	}
+	return nil
+}
+
+// Request message for GameServerClustersService.DeleteGameServerCluster.
+type DeleteGameServerClusterRequest struct {
+	// Required. The name of the Game Server Cluster to delete. Uses the form:
+	// `projects/{project}/locations/{location}/gameServerClusters/{cluster}`.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *DeleteGameServerClusterRequest) Reset()         { *m = DeleteGameServerClusterRequest{} }
+func (m *DeleteGameServerClusterRequest) String() string { return proto.CompactTextString(m) }
+func (*DeleteGameServerClusterRequest) ProtoMessage()    {}
+func (*DeleteGameServerClusterRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{6}
+}
+
+func (m *DeleteGameServerClusterRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeleteGameServerClusterRequest.Unmarshal(m, b)
+}
+func (m *DeleteGameServerClusterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeleteGameServerClusterRequest.Marshal(b, m, deterministic)
+}
+func (m *DeleteGameServerClusterRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeleteGameServerClusterRequest.Merge(m, src)
+}
+func (m *DeleteGameServerClusterRequest) XXX_Size() int {
+	return xxx_messageInfo_DeleteGameServerClusterRequest.Size(m)
+}
+func (m *DeleteGameServerClusterRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeleteGameServerClusterRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeleteGameServerClusterRequest proto.InternalMessageInfo
+
+func (m *DeleteGameServerClusterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request message for GameServerClustersService.PreviewDeleteGameServerCluster.
+type PreviewDeleteGameServerClusterRequest struct {
+	// Required. The name of the Game Server Cluster to delete. Uses the form:
+	// `projects/{project}/locations/{location}/gameServerClusters/{cluster}`.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Optional. The target timestamp to compute the preview.
+	PreviewTime          *timestamp.Timestamp `protobuf:"bytes,2,opt,name=preview_time,json=previewTime,proto3" json:"preview_time,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *PreviewDeleteGameServerClusterRequest) Reset()         { *m = PreviewDeleteGameServerClusterRequest{} }
+func (m *PreviewDeleteGameServerClusterRequest) String() string { return proto.CompactTextString(m) }
+func (*PreviewDeleteGameServerClusterRequest) ProtoMessage()    {}
+func (*PreviewDeleteGameServerClusterRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{7}
+}
+
+func (m *PreviewDeleteGameServerClusterRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PreviewDeleteGameServerClusterRequest.Unmarshal(m, b)
+}
+func (m *PreviewDeleteGameServerClusterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PreviewDeleteGameServerClusterRequest.Marshal(b, m, deterministic)
+}
+func (m *PreviewDeleteGameServerClusterRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PreviewDeleteGameServerClusterRequest.Merge(m, src)
+}
+func (m *PreviewDeleteGameServerClusterRequest) XXX_Size() int {
+	return xxx_messageInfo_PreviewDeleteGameServerClusterRequest.Size(m)
+}
+func (m *PreviewDeleteGameServerClusterRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_PreviewDeleteGameServerClusterRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PreviewDeleteGameServerClusterRequest proto.InternalMessageInfo
+
+func (m *PreviewDeleteGameServerClusterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *PreviewDeleteGameServerClusterRequest) GetPreviewTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.PreviewTime
+	}
+	return nil
+}
+
+// Response message for
+// GameServerClustersService.PreviewDeleteGameServerCluster.
+type PreviewDeleteGameServerClusterResponse struct {
+	// The ETag of the game server cluster.
+	Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
+	// The target state.
+	TargetState          *TargetState `protobuf:"bytes,3,opt,name=target_state,json=targetState,proto3" json:"target_state,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
+	XXX_unrecognized     []byte       `json:"-"`
+	XXX_sizecache        int32        `json:"-"`
+}
+
+func (m *PreviewDeleteGameServerClusterResponse) Reset() {
+	*m = PreviewDeleteGameServerClusterResponse{}
+}
+func (m *PreviewDeleteGameServerClusterResponse) String() string { return proto.CompactTextString(m) }
+func (*PreviewDeleteGameServerClusterResponse) ProtoMessage()    {}
+func (*PreviewDeleteGameServerClusterResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{8}
+}
+
+func (m *PreviewDeleteGameServerClusterResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PreviewDeleteGameServerClusterResponse.Unmarshal(m, b)
+}
+func (m *PreviewDeleteGameServerClusterResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PreviewDeleteGameServerClusterResponse.Marshal(b, m, deterministic)
+}
+func (m *PreviewDeleteGameServerClusterResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PreviewDeleteGameServerClusterResponse.Merge(m, src)
+}
+func (m *PreviewDeleteGameServerClusterResponse) XXX_Size() int {
+	return xxx_messageInfo_PreviewDeleteGameServerClusterResponse.Size(m)
+}
+func (m *PreviewDeleteGameServerClusterResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_PreviewDeleteGameServerClusterResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PreviewDeleteGameServerClusterResponse proto.InternalMessageInfo
+
+func (m *PreviewDeleteGameServerClusterResponse) GetEtag() string {
+	if m != nil {
+		return m.Etag
+	}
+	return ""
+}
+
+func (m *PreviewDeleteGameServerClusterResponse) GetTargetState() *TargetState {
+	if m != nil {
+		return m.TargetState
+	}
+	return nil
+}
+
+// Request message for GameServerClustersService.UpdateGameServerCluster.
+type UpdateGameServerClusterRequest struct {
+	// Required. The Game Server Cluster to be updated.
+	// Only fields specified in update_mask are updated.
+	GameServerCluster *GameServerCluster `protobuf:"bytes,1,opt,name=game_server_cluster,json=gameServerCluster,proto3" json:"game_server_cluster,omitempty"`
+	// Required. Mask of fields to update. At least one path must be supplied in
+	// this field. For the `FieldMask` definition, see
+	//
+	// https:
+	// //developers.google.com/protocol-buffers
+	// // /docs/reference/google.protobuf#fieldmask
+	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *UpdateGameServerClusterRequest) Reset()         { *m = UpdateGameServerClusterRequest{} }
+func (m *UpdateGameServerClusterRequest) String() string { return proto.CompactTextString(m) }
+func (*UpdateGameServerClusterRequest) ProtoMessage()    {}
+func (*UpdateGameServerClusterRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{9}
+}
+
+func (m *UpdateGameServerClusterRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UpdateGameServerClusterRequest.Unmarshal(m, b)
+}
+func (m *UpdateGameServerClusterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UpdateGameServerClusterRequest.Marshal(b, m, deterministic)
+}
+func (m *UpdateGameServerClusterRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UpdateGameServerClusterRequest.Merge(m, src)
+}
+func (m *UpdateGameServerClusterRequest) XXX_Size() int {
+	return xxx_messageInfo_UpdateGameServerClusterRequest.Size(m)
+}
+func (m *UpdateGameServerClusterRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UpdateGameServerClusterRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UpdateGameServerClusterRequest proto.InternalMessageInfo
+
+func (m *UpdateGameServerClusterRequest) GetGameServerCluster() *GameServerCluster {
+	if m != nil {
+		return m.GameServerCluster
+	}
+	return nil
+}
+
+func (m *UpdateGameServerClusterRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+// Request message for GameServerClustersService.UpdateGameServerCluster.
+type PreviewUpdateGameServerClusterRequest struct {
+	// Required. The Game Server Cluster to be updated.
+	// Only fields specified in update_mask are updated.
+	GameServerCluster *GameServerCluster `protobuf:"bytes,1,opt,name=game_server_cluster,json=gameServerCluster,proto3" json:"game_server_cluster,omitempty"`
+	// Required. Mask of fields to update. At least one path must be supplied in
+	// this field. For the `FieldMask` definition, see
+	//
+	// https:
+	// //developers.google.com/protocol-buffers
+	// // /docs/reference/google.protobuf#fieldmask
+	UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	// Optional. The target timestamp to compute the preview.
+	PreviewTime          *timestamp.Timestamp `protobuf:"bytes,3,opt,name=preview_time,json=previewTime,proto3" json:"preview_time,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *PreviewUpdateGameServerClusterRequest) Reset()         { *m = PreviewUpdateGameServerClusterRequest{} }
+func (m *PreviewUpdateGameServerClusterRequest) String() string { return proto.CompactTextString(m) }
+func (*PreviewUpdateGameServerClusterRequest) ProtoMessage()    {}
+func (*PreviewUpdateGameServerClusterRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{10}
+}
+
+func (m *PreviewUpdateGameServerClusterRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PreviewUpdateGameServerClusterRequest.Unmarshal(m, b)
+}
+func (m *PreviewUpdateGameServerClusterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PreviewUpdateGameServerClusterRequest.Marshal(b, m, deterministic)
+}
+func (m *PreviewUpdateGameServerClusterRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PreviewUpdateGameServerClusterRequest.Merge(m, src)
+}
+func (m *PreviewUpdateGameServerClusterRequest) XXX_Size() int {
+	return xxx_messageInfo_PreviewUpdateGameServerClusterRequest.Size(m)
+}
+func (m *PreviewUpdateGameServerClusterRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_PreviewUpdateGameServerClusterRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PreviewUpdateGameServerClusterRequest proto.InternalMessageInfo
+
+func (m *PreviewUpdateGameServerClusterRequest) GetGameServerCluster() *GameServerCluster {
+	if m != nil {
+		return m.GameServerCluster
+	}
+	return nil
+}
+
+func (m *PreviewUpdateGameServerClusterRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+func (m *PreviewUpdateGameServerClusterRequest) GetPreviewTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.PreviewTime
+	}
+	return nil
+}
+
+// Response message for GameServerClustersService.PreviewUpdateGameServerCluster
+type PreviewUpdateGameServerClusterResponse struct {
+	// The ETag of the game server cluster.
+	Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
+	// The target state.
+	TargetState          *TargetState `protobuf:"bytes,3,opt,name=target_state,json=targetState,proto3" json:"target_state,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
+	XXX_unrecognized     []byte       `json:"-"`
+	XXX_sizecache        int32        `json:"-"`
+}
+
+func (m *PreviewUpdateGameServerClusterResponse) Reset() {
+	*m = PreviewUpdateGameServerClusterResponse{}
+}
+func (m *PreviewUpdateGameServerClusterResponse) String() string { return proto.CompactTextString(m) }
+func (*PreviewUpdateGameServerClusterResponse) ProtoMessage()    {}
+func (*PreviewUpdateGameServerClusterResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{11}
+}
+
+func (m *PreviewUpdateGameServerClusterResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PreviewUpdateGameServerClusterResponse.Unmarshal(m, b)
+}
+func (m *PreviewUpdateGameServerClusterResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PreviewUpdateGameServerClusterResponse.Marshal(b, m, deterministic)
+}
+func (m *PreviewUpdateGameServerClusterResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PreviewUpdateGameServerClusterResponse.Merge(m, src)
+}
+func (m *PreviewUpdateGameServerClusterResponse) XXX_Size() int {
+	return xxx_messageInfo_PreviewUpdateGameServerClusterResponse.Size(m)
+}
+func (m *PreviewUpdateGameServerClusterResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_PreviewUpdateGameServerClusterResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PreviewUpdateGameServerClusterResponse proto.InternalMessageInfo
+
+func (m *PreviewUpdateGameServerClusterResponse) GetEtag() string {
+	if m != nil {
+		return m.Etag
+	}
+	return ""
+}
+
+func (m *PreviewUpdateGameServerClusterResponse) GetTargetState() *TargetState {
+	if m != nil {
+		return m.TargetState
+	}
+	return nil
+}
+
+// The Game Server Cluster connection information.
+type GameServerClusterConnectionInfo struct {
+	// The location of the Kubernetes cluster.
+	//
+	// Types that are valid to be assigned to ClusterReference:
+	//	*GameServerClusterConnectionInfo_GkeClusterReference
+	ClusterReference isGameServerClusterConnectionInfo_ClusterReference `protobuf_oneof:"cluster_reference"`
+	// Namespace designated on the Game Server Cluster where the Agones game
+	// server instances will be created. Existence of the namespace will be
+	// validated during creation.
+	Namespace            string   `protobuf:"bytes,5,opt,name=namespace,proto3" json:"namespace,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GameServerClusterConnectionInfo) Reset()         { *m = GameServerClusterConnectionInfo{} }
+func (m *GameServerClusterConnectionInfo) String() string { return proto.CompactTextString(m) }
+func (*GameServerClusterConnectionInfo) ProtoMessage()    {}
+func (*GameServerClusterConnectionInfo) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{12}
+}
+
+func (m *GameServerClusterConnectionInfo) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GameServerClusterConnectionInfo.Unmarshal(m, b)
+}
+func (m *GameServerClusterConnectionInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GameServerClusterConnectionInfo.Marshal(b, m, deterministic)
+}
+func (m *GameServerClusterConnectionInfo) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GameServerClusterConnectionInfo.Merge(m, src)
+}
+func (m *GameServerClusterConnectionInfo) XXX_Size() int {
+	return xxx_messageInfo_GameServerClusterConnectionInfo.Size(m)
+}
+func (m *GameServerClusterConnectionInfo) XXX_DiscardUnknown() {
+	xxx_messageInfo_GameServerClusterConnectionInfo.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GameServerClusterConnectionInfo proto.InternalMessageInfo
+
+type isGameServerClusterConnectionInfo_ClusterReference interface {
+	isGameServerClusterConnectionInfo_ClusterReference()
+}
+
+type GameServerClusterConnectionInfo_GkeClusterReference struct {
+	GkeClusterReference *GkeClusterReference `protobuf:"bytes,7,opt,name=gke_cluster_reference,json=gkeClusterReference,proto3,oneof"`
+}
+
+func (*GameServerClusterConnectionInfo_GkeClusterReference) isGameServerClusterConnectionInfo_ClusterReference() {
+}
+
+func (m *GameServerClusterConnectionInfo) GetClusterReference() isGameServerClusterConnectionInfo_ClusterReference {
+	if m != nil {
+		return m.ClusterReference
+	}
+	return nil
+}
+
+func (m *GameServerClusterConnectionInfo) GetGkeClusterReference() *GkeClusterReference {
+	if x, ok := m.GetClusterReference().(*GameServerClusterConnectionInfo_GkeClusterReference); ok {
+		return x.GkeClusterReference
+	}
+	return nil
+}
+
+func (m *GameServerClusterConnectionInfo) GetNamespace() string {
+	if m != nil {
+		return m.Namespace
+	}
+	return ""
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*GameServerClusterConnectionInfo) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*GameServerClusterConnectionInfo_GkeClusterReference)(nil),
+	}
+}
+
+// A reference to a GKE cluster.
+type GkeClusterReference struct {
+	// The full or partial name of a GKE cluster, using one of the following
+	// forms:
+	//  * `projects/{project}/locations/{location}/clusters/{cluster}`
+	//  * `locations/{location}/clusters/{cluster}`
+	//  * `{cluster}`
+	// If project and location are not specified, the project and location of the
+	// GameServerCluster resource are used to generate the full name of the
+	// GKE cluster.
+	Cluster              string   `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GkeClusterReference) Reset()         { *m = GkeClusterReference{} }
+func (m *GkeClusterReference) String() string { return proto.CompactTextString(m) }
+func (*GkeClusterReference) ProtoMessage()    {}
+func (*GkeClusterReference) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{13}
+}
+
+func (m *GkeClusterReference) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GkeClusterReference.Unmarshal(m, b)
+}
+func (m *GkeClusterReference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GkeClusterReference.Marshal(b, m, deterministic)
+}
+func (m *GkeClusterReference) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GkeClusterReference.Merge(m, src)
+}
+func (m *GkeClusterReference) XXX_Size() int {
+	return xxx_messageInfo_GkeClusterReference.Size(m)
+}
+func (m *GkeClusterReference) XXX_DiscardUnknown() {
+	xxx_messageInfo_GkeClusterReference.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GkeClusterReference proto.InternalMessageInfo
+
+func (m *GkeClusterReference) GetCluster() string {
+	if m != nil {
+		return m.Cluster
+	}
+	return ""
+}
+
+// A Game Server Cluster resource.
+type GameServerCluster struct {
+	// Required. The resource name of the Game Server Cluster. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.
+	// For example,
+	//
+	// `projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Output only. The creation time.
+	CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+	// Output only. The last-modified time.
+	UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+	// The labels associated with this Game Server Cluster. Each label is a
+	// key-value pair.
+	Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// Game Server Cluster connection information. This information is used to
+	// manage Game Server Clusters.
+	ConnectionInfo *GameServerClusterConnectionInfo `protobuf:"bytes,5,opt,name=connection_info,json=connectionInfo,proto3" json:"connection_info,omitempty"`
+	// ETag of the resource.
+	Etag string `protobuf:"bytes,6,opt,name=etag,proto3" json:"etag,omitempty"`
+	// Human readable description of the cluster.
+	Description          string   `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GameServerCluster) Reset()         { *m = GameServerCluster{} }
+func (m *GameServerCluster) String() string { return proto.CompactTextString(m) }
+func (*GameServerCluster) ProtoMessage()    {}
+func (*GameServerCluster) Descriptor() ([]byte, []int) {
+	return fileDescriptor_38b9b9a78995689d, []int{14}
+}
+
+func (m *GameServerCluster) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GameServerCluster.Unmarshal(m, b)
+}
+func (m *GameServerCluster) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GameServerCluster.Marshal(b, m, deterministic)
+}
+func (m *GameServerCluster) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GameServerCluster.Merge(m, src)
+}
+func (m *GameServerCluster) XXX_Size() int {
+	return xxx_messageInfo_GameServerCluster.Size(m)
+}
+func (m *GameServerCluster) XXX_DiscardUnknown() {
+	xxx_messageInfo_GameServerCluster.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GameServerCluster proto.InternalMessageInfo
+
+func (m *GameServerCluster) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *GameServerCluster) GetCreateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *GameServerCluster) GetUpdateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.UpdateTime
+	}
+	return nil
+}
+
+func (m *GameServerCluster) GetLabels() map[string]string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
+func (m *GameServerCluster) GetConnectionInfo() *GameServerClusterConnectionInfo {
+	if m != nil {
+		return m.ConnectionInfo
+	}
+	return nil
+}
+
+func (m *GameServerCluster) GetEtag() string {
+	if m != nil {
+		return m.Etag
+	}
+	return ""
+}
+
+func (m *GameServerCluster) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterType((*ListGameServerClustersRequest)(nil), "google.cloud.gaming.v1beta.ListGameServerClustersRequest")
+	proto.RegisterType((*ListGameServerClustersResponse)(nil), "google.cloud.gaming.v1beta.ListGameServerClustersResponse")
+	proto.RegisterType((*GetGameServerClusterRequest)(nil), "google.cloud.gaming.v1beta.GetGameServerClusterRequest")
+	proto.RegisterType((*CreateGameServerClusterRequest)(nil), "google.cloud.gaming.v1beta.CreateGameServerClusterRequest")
+	proto.RegisterType((*PreviewCreateGameServerClusterRequest)(nil), "google.cloud.gaming.v1beta.PreviewCreateGameServerClusterRequest")
+	proto.RegisterType((*PreviewCreateGameServerClusterResponse)(nil), "google.cloud.gaming.v1beta.PreviewCreateGameServerClusterResponse")
+	proto.RegisterType((*DeleteGameServerClusterRequest)(nil), "google.cloud.gaming.v1beta.DeleteGameServerClusterRequest")
+	proto.RegisterType((*PreviewDeleteGameServerClusterRequest)(nil), "google.cloud.gaming.v1beta.PreviewDeleteGameServerClusterRequest")
+	proto.RegisterType((*PreviewDeleteGameServerClusterResponse)(nil), "google.cloud.gaming.v1beta.PreviewDeleteGameServerClusterResponse")
+	proto.RegisterType((*UpdateGameServerClusterRequest)(nil), "google.cloud.gaming.v1beta.UpdateGameServerClusterRequest")
+	proto.RegisterType((*PreviewUpdateGameServerClusterRequest)(nil), "google.cloud.gaming.v1beta.PreviewUpdateGameServerClusterRequest")
+	proto.RegisterType((*PreviewUpdateGameServerClusterResponse)(nil), "google.cloud.gaming.v1beta.PreviewUpdateGameServerClusterResponse")
+	proto.RegisterType((*GameServerClusterConnectionInfo)(nil), "google.cloud.gaming.v1beta.GameServerClusterConnectionInfo")
+	proto.RegisterType((*GkeClusterReference)(nil), "google.cloud.gaming.v1beta.GkeClusterReference")
+	proto.RegisterType((*GameServerCluster)(nil), "google.cloud.gaming.v1beta.GameServerCluster")
+	proto.RegisterMapType((map[string]string)(nil), "google.cloud.gaming.v1beta.GameServerCluster.LabelsEntry")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/gaming/v1beta/game_server_clusters.proto", fileDescriptor_38b9b9a78995689d)
+}
+
+var fileDescriptor_38b9b9a78995689d = []byte{
+	// 992 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x57, 0xbd, 0x73, 0x1b, 0x45,
+	0x14, 0xe7, 0x24, 0x7f, 0x44, 0xef, 0x02, 0xc1, 0xeb, 0x00, 0x42, 0x09, 0xb2, 0xe6, 0x66, 0x48,
+	0xdc, 0xe4, 0x6e, 0x30, 0x93, 0x99, 0x7c, 0x34, 0xb6, 0x0c, 0x04, 0x33, 0xc9, 0x8c, 0x39, 0x9b,
+	0x86, 0xe6, 0x66, 0x75, 0x7a, 0x3a, 0x1f, 0xba, 0xdb, 0x3d, 0x76, 0x57, 0x02, 0xc7, 0xe3, 0x8e,
+	0x22, 0x0d, 0x05, 0xff, 0x0c, 0x0d, 0x3d, 0x0d, 0xff, 0x00, 0x65, 0x1a, 0x1a, 0x3a, 0x5a, 0x2a,
+	0xe6, 0xf6, 0x56, 0x1f, 0xe6, 0x24, 0x81, 0x26, 0x1e, 0x17, 0x0c, 0x95, 0x76, 0xdf, 0xbe, 0x8f,
+	0x7d, 0xef, 0xf7, 0x7b, 0xef, 0x56, 0x70, 0x3f, 0xe2, 0x3c, 0x4a, 0xd0, 0x0b, 0x13, 0x3e, 0xe8,
+	0x7a, 0x11, 0x4d, 0x63, 0x16, 0x79, 0xc3, 0x0f, 0x3a, 0xa8, 0x68, 0xbe, 0xc3, 0x40, 0xa2, 0x18,
+	0xa2, 0x08, 0xc2, 0x64, 0x20, 0x15, 0x0a, 0xe9, 0x66, 0x82, 0x2b, 0x4e, 0x1a, 0x85, 0x99, 0xab,
+	0xcd, 0xdc, 0xc2, 0xcc, 0x2d, 0xcc, 0x1a, 0x5b, 0xc6, 0x25, 0xcd, 0x62, 0xaf, 0x17, 0x63, 0xd2,
+	0x0d, 0x3a, 0x78, 0x42, 0x87, 0x31, 0x17, 0x85, 0x71, 0xe3, 0xdd, 0x29, 0x05, 0x81, 0x92, 0x0f,
+	0x44, 0x88, 0xe6, 0xe8, 0xee, 0x82, 0xeb, 0x84, 0x3c, 0x4d, 0x39, 0x33, 0x8a, 0x2d, 0xa3, 0xa8,
+	0x77, 0x9d, 0x41, 0xcf, 0x44, 0x4a, 0xa9, 0xec, 0x1b, 0x8d, 0xad, 0xbf, 0x6b, 0xa8, 0x38, 0x45,
+	0xa9, 0x68, 0x9a, 0x19, 0x85, 0xdb, 0x53, 0xd7, 0xa0, 0x8c, 0x71, 0x45, 0x55, 0xcc, 0x99, 0xc9,
+	0xd0, 0xf9, 0xc3, 0x82, 0xf7, 0x9e, 0xc6, 0x52, 0x3d, 0xa1, 0x29, 0x1e, 0xe9, 0x1a, 0xec, 0x9b,
+	0x12, 0xf8, 0xf8, 0xf5, 0x00, 0xa5, 0x22, 0xcf, 0x60, 0x2d, 0xa3, 0x02, 0x99, 0xaa, 0x5b, 0x2d,
+	0x6b, 0xbb, 0xd6, 0xbe, 0xff, 0x72, 0xaf, 0xf2, 0xe7, 0x9e, 0x47, 0xee, 0xe5, 0x75, 0xcb, 0xcb,
+	0x16, 0x87, 0x28, 0xdd, 0x22, 0x08, 0xcd, 0x62, 0xe9, 0x86, 0x3c, 0xf5, 0x4a, 0xee, 0x7c, 0xe3,
+	0x84, 0xb4, 0xa0, 0x96, 0xd1, 0x08, 0x03, 0x19, 0x3f, 0xc7, 0x7a, 0xa5, 0x65, 0x6d, 0xaf, 0xb6,
+	0xab, 0x2f, 0xf7, 0x2c, 0xff, 0x5a, 0x2e, 0x3d, 0x8a, 0x9f, 0x23, 0x71, 0x00, 0xb4, 0x86, 0xe2,
+	0x7d, 0x64, 0xf5, 0xaa, 0x0e, 0xaa, 0x55, 0xb4, 0xe1, 0x71, 0x2e, 0x25, 0xb7, 0x60, 0xad, 0x17,
+	0x27, 0x0a, 0x45, 0x7d, 0x65, 0x72, 0x6e, 0x44, 0xa4, 0x09, 0xd7, 0xb8, 0xe8, 0xa2, 0x08, 0x3a,
+	0xa7, 0xf5, 0xd5, 0xc9, 0xf1, 0xba, 0x16, 0xb6, 0x4f, 0x9d, 0x5f, 0x2c, 0x68, 0xce, 0xcb, 0x59,
+	0x66, 0x9c, 0x49, 0x24, 0x01, 0xdc, 0x9c, 0x45, 0x8b, 0xba, 0xd5, 0xaa, 0x6e, 0xdb, 0x3b, 0xf7,
+	0xdc, 0xf9, 0xbc, 0x70, 0xcb, 0xa9, 0x93, 0xa8, 0x14, 0x88, 0xdc, 0x81, 0x1b, 0x0c, 0xbf, 0x55,
+	0xc1, 0x54, 0xa6, 0x79, 0x31, 0x6a, 0xfe, 0xeb, 0xb9, 0xf8, 0x70, 0x9c, 0x68, 0x0b, 0xec, 0x01,
+	0x13, 0x48, 0xc3, 0x13, 0xda, 0x49, 0xb0, 0xbe, 0xd2, 0xaa, 0x6e, 0xd7, 0xfc, 0x69, 0x91, 0x73,
+	0x02, 0xb7, 0x9e, 0x60, 0x39, 0x97, 0x11, 0x7c, 0x07, 0xb0, 0xc2, 0x68, 0x8a, 0x17, 0xc1, 0x83,
+	0x25, 0xc1, 0xd3, 0x2e, 0x9c, 0xef, 0x2b, 0xd0, 0xdc, 0x17, 0x48, 0x15, 0xce, 0x8d, 0x76, 0xc9,
+	0x64, 0x79, 0x00, 0x6f, 0xcf, 0x80, 0x21, 0x88, 0xbb, 0x45, 0xb1, 0x72, 0x5c, 0x2b, 0xfe, 0x66,
+	0xa9, 0xbc, 0x07, 0x5d, 0xd2, 0x81, 0xcd, 0x19, 0x96, 0x9a, 0x4d, 0xcb, 0xe2, 0x57, 0x44, 0xd9,
+	0x28, 0x45, 0x71, 0x7e, 0xad, 0xc0, 0xfb, 0x87, 0x02, 0x87, 0x31, 0x7e, 0xf3, 0x7f, 0x59, 0xc6,
+	0x72, 0xd2, 0x86, 0xeb, 0x59, 0x51, 0x95, 0x20, 0x9f, 0x45, 0xba, 0x43, 0xed, 0x9d, 0xc6, 0xc8,
+	0xf9, 0x68, 0x50, 0xb9, 0xc7, 0xa3, 0x41, 0x55, 0xb4, 0xa7, 0x6d, 0x8c, 0x72, 0xb1, 0xf3, 0xc2,
+	0x82, 0x3b, 0xff, 0x54, 0x5a, 0xd3, 0xaa, 0x04, 0x56, 0x50, 0xd1, 0xc8, 0xb4, 0x8f, 0x5e, 0x93,
+	0xcf, 0xe0, 0xba, 0xa2, 0x22, 0x42, 0x15, 0x48, 0x45, 0x15, 0x9a, 0xfc, 0xee, 0x2e, 0xca, 0xef,
+	0x58, 0xeb, 0x1f, 0xe5, 0xea, 0xbe, 0xad, 0x26, 0x1b, 0xa7, 0x0f, 0xcd, 0x8f, 0x30, 0xc1, 0x05,
+	0xe8, 0x5e, 0x62, 0x8b, 0xfd, 0x68, 0x8d, 0x29, 0x75, 0x65, 0x41, 0x4b, 0x80, 0x55, 0x5e, 0x0d,
+	0xb0, 0xb9, 0x17, 0xbf, 0x22, 0xc0, 0x7e, 0xb6, 0xa0, 0xf9, 0x45, 0xd6, 0x5d, 0xd4, 0x8f, 0x73,
+	0xda, 0xc0, 0xba, 0xcc, 0x36, 0xd8, 0x05, 0x7b, 0xa0, 0x6f, 0xa1, 0xbf, 0xd6, 0x73, 0x8b, 0xfa,
+	0x49, 0xfe, 0x41, 0x7f, 0x46, 0x65, 0xbf, 0x70, 0x04, 0x85, 0x4d, 0x2e, 0x70, 0x7e, 0x98, 0xcc,
+	0x97, 0xff, 0x42, 0x3e, 0x25, 0x9e, 0x55, 0x5f, 0x8d, 0x67, 0x73, 0x6b, 0x72, 0x45, 0x3c, 0xfb,
+	0xc9, 0x82, 0xad, 0x52, 0xf4, 0x7d, 0xce, 0x18, 0x86, 0xf9, 0x0b, 0xeb, 0x80, 0xf5, 0x38, 0x41,
+	0x78, 0x2b, 0xea, 0xe3, 0x78, 0x42, 0x0b, 0xec, 0xa1, 0x40, 0x16, 0x62, 0x7d, 0x5d, 0x07, 0xf6,
+	0x16, 0x42, 0xd3, 0xc7, 0x71, 0x4a, 0xc6, 0xec, 0xd3, 0xd7, 0xfc, 0xcd, 0xa8, 0x2c, 0x26, 0xb7,
+	0xa1, 0x96, 0x77, 0xb2, 0xcc, 0x68, 0x88, 0xc5, 0x93, 0xc7, 0x9f, 0x08, 0xda, 0x9b, 0xb0, 0x51,
+	0xba, 0x80, 0xe3, 0xc1, 0xe6, 0x8c, 0x00, 0xa4, 0x0e, 0xeb, 0xd3, 0xec, 0xa9, 0xf9, 0xa3, 0xad,
+	0xf3, 0xdb, 0x0a, 0x6c, 0x94, 0xd2, 0x25, 0xef, 0x5c, 0x18, 0x43, 0x1a, 0xf2, 0x62, 0xa8, 0xec,
+	0x82, 0x1d, 0xea, 0xc9, 0xbd, 0xc4, 0x4c, 0xa9, 0xfa, 0x50, 0xd8, 0xe4, 0xd2, 0x29, 0xc2, 0xfd,
+	0x7b, 0xb6, 0x54, 0x47, 0x84, 0xd3, 0x1e, 0x3e, 0x87, 0xb5, 0x84, 0x76, 0x30, 0x91, 0xfa, 0xdd,
+	0x64, 0xef, 0x3c, 0x5c, 0xaa, 0x13, 0xdc, 0xa7, 0xda, 0xf6, 0x63, 0xa6, 0xc4, 0xa9, 0x6f, 0x1c,
+	0x91, 0x2e, 0xdc, 0x08, 0xc7, 0x10, 0x07, 0x31, 0xeb, 0x71, 0x5d, 0x6f, 0x7b, 0xe7, 0xf1, 0x52,
+	0xbe, 0x2f, 0xd2, 0xc4, 0x7f, 0x23, 0xbc, 0x48, 0x9b, 0x11, 0x75, 0xd7, 0xa6, 0xa8, 0xdb, 0x02,
+	0xbb, 0x8b, 0x32, 0x14, 0x71, 0x96, 0xab, 0x69, 0x02, 0xd5, 0xfc, 0x69, 0x51, 0xe3, 0x21, 0xd8,
+	0x53, 0x57, 0x26, 0x6f, 0x42, 0xb5, 0x8f, 0xa7, 0x06, 0xc6, 0x7c, 0x49, 0x6e, 0xc2, 0xea, 0x90,
+	0x26, 0x03, 0x34, 0x2d, 0x51, 0x6c, 0x1e, 0x55, 0x1e, 0x58, 0x8f, 0x5e, 0x58, 0xbf, 0xef, 0x7d,
+	0x67, 0x2d, 0xf9, 0xf9, 0x20, 0x47, 0x99, 0xe0, 0x5f, 0x61, 0xa8, 0xa4, 0x77, 0x66, 0x56, 0xe7,
+	0x5e, 0xc2, 0xc3, 0xe2, 0x0f, 0x86, 0x77, 0x36, 0x5a, 0x9e, 0x7b, 0x02, 0x69, 0x92, 0x4a, 0xef,
+	0x4c, 0xff, 0x9e, 0x7b, 0xe5, 0xf7, 0xb0, 0x77, 0x66, 0x68, 0x76, 0xde, 0xee, 0x42, 0x33, 0xe4,
+	0xe9, 0x82, 0x6a, 0x1e, 0x5a, 0x5f, 0xee, 0x9a, 0xd3, 0x88, 0x27, 0x94, 0x45, 0x2e, 0x17, 0x91,
+	0x17, 0x21, 0xd3, 0x94, 0xf0, 0x26, 0xb7, 0x9e, 0xf5, 0xf7, 0xea, 0x71, 0xb1, 0xeb, 0xac, 0x69,
+	0xe5, 0x0f, 0xff, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x58, 0xa6, 0xa8, 0x8a, 0x19, 0x0e, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/gaming/v1beta/game_server_clusters_service.pb.go b/googleapis/cloud/gaming/v1beta/game_server_clusters_service.pb.go
new file mode 100644
index 0000000..27e2b30
--- /dev/null
+++ b/googleapis/cloud/gaming/v1beta/game_server_clusters_service.pb.go
@@ -0,0 +1,427 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/gaming/v1beta/game_server_clusters_service.proto
+
+package gaming
+
+import (
+	context "context"
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	longrunning "google.golang.org/genproto/googleapis/longrunning"
+	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+func init() {
+	proto.RegisterFile("google/cloud/gaming/v1beta/game_server_clusters_service.proto", fileDescriptor_f79b7dff962b2466)
+}
+
+var fileDescriptor_f79b7dff962b2466 = []byte{
+	// 642 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x96, 0x4f, 0x6f, 0xd3, 0x30,
+	0x18, 0xc6, 0x95, 0x0a, 0xed, 0x90, 0xdb, 0x02, 0xa2, 0xa2, 0xc0, 0x90, 0x8a, 0xc4, 0x21, 0x62,
+	0xb1, 0x36, 0x84, 0x10, 0x43, 0x93, 0x48, 0x07, 0xda, 0x05, 0xb4, 0x3f, 0x05, 0x21, 0x76, 0xa9,
+	0xbc, 0xf4, 0x25, 0x0d, 0x24, 0xb6, 0xb1, 0x9d, 0xf6, 0x30, 0x76, 0xe9, 0x57, 0xe0, 0xc0, 0x97,
+	0xe0, 0x88, 0xb8, 0x21, 0xee, 0x3b, 0x8e, 0x5b, 0xb9, 0xc2, 0x07, 0xe0, 0x1b, 0xa0, 0x3a, 0xc9,
+	0x1a, 0xb5, 0x4e, 0xda, 0xd2, 0x72, 0x8c, 0xed, 0xe7, 0x7d, 0xf3, 0xfc, 0xfc, 0xd8, 0xb2, 0xb9,
+	0xed, 0x53, 0xea, 0x87, 0x80, 0xbc, 0x90, 0xc6, 0x6d, 0xe4, 0xe3, 0x28, 0x20, 0x3e, 0xea, 0x6e,
+	0x1c, 0x83, 0xc4, 0xc3, 0x2f, 0x68, 0x09, 0xe0, 0x5d, 0xe0, 0x2d, 0x2f, 0x8c, 0x85, 0x04, 0x2e,
+	0xd4, 0x77, 0xe0, 0x81, 0xc3, 0x38, 0x95, 0xd4, 0xaa, 0x25, 0x72, 0x47, 0xc9, 0x9d, 0x44, 0xee,
+	0x24, 0xf2, 0xda, 0x8d, 0xb4, 0x34, 0x66, 0x01, 0xc2, 0x84, 0x50, 0x89, 0x65, 0x40, 0x89, 0x48,
+	0x94, 0xb5, 0x6a, 0x6e, 0xd6, 0x0b, 0x03, 0x20, 0x32, 0x9d, 0xb8, 0x3f, 0xe7, 0x1f, 0xa5, 0xb2,
+	0xdb, 0xa9, 0x2c, 0xa4, 0xc4, 0xe7, 0x31, 0x21, 0x43, 0x15, 0x65, 0xc0, 0xf3, 0x4d, 0x37, 0x7f,
+	0xae, 0x9a, 0xd7, 0x76, 0x71, 0x04, 0x4d, 0x55, 0x62, 0x27, 0xad, 0xd0, 0x4c, 0x2c, 0x59, 0xbf,
+	0x0d, 0xf3, 0xea, 0xb3, 0x40, 0xc8, 0xc9, 0x15, 0xd6, 0x43, 0xa7, 0xd8, 0xa8, 0xa3, 0xd7, 0x1c,
+	0xc2, 0xfb, 0x18, 0x84, 0xac, 0x6d, 0xfd, 0x8b, 0x54, 0x30, 0x4a, 0x04, 0xd4, 0x5f, 0x0c, 0xdc,
+	0x15, 0x86, 0x39, 0x10, 0xd9, 0xff, 0xf1, 0xeb, 0x63, 0xe5, 0xa9, 0xb5, 0x93, 0x91, 0x38, 0x49,
+	0x86, 0xb7, 0x19, 0xa7, 0x6f, 0xc1, 0x93, 0x02, 0xd9, 0x28, 0xa4, 0x5e, 0x62, 0x16, 0xd9, 0x88,
+	0x03, 0x0e, 0x23, 0x81, 0xec, 0x53, 0x85, 0x6c, 0xcc, 0xcc, 0xb9, 0x61, 0x5e, 0xd9, 0x85, 0xc9,
+	0xbe, 0xd6, 0x83, 0xb2, 0x5f, 0xd5, 0x29, 0x32, 0x8f, 0xeb, 0xa5, 0xc2, 0x71, 0x55, 0xfd, 0x70,
+	0xe0, 0x5e, 0x22, 0x38, 0x82, 0x09, 0x53, 0xc3, 0xc1, 0x69, 0x96, 0x34, 0x8e, 0x90, 0x7d, 0x6a,
+	0x7d, 0xa9, 0x98, 0xd5, 0x1d, 0x0e, 0x58, 0xc2, 0xa4, 0xaf, 0xd2, 0x2d, 0x28, 0x10, 0x65, 0xd6,
+	0x6e, 0x66, 0xda, 0x5c, 0xb0, 0x9c, 0xbd, 0x2c, 0x58, 0xf5, 0x6f, 0xc6, 0x99, 0x7b, 0xc7, 0x5c,
+	0x9d, 0xec, 0xb9, 0x7a, 0xb1, 0xe6, 0x39, 0x48, 0xdc, 0xc6, 0x12, 0x0f, 0xdc, 0x8d, 0x64, 0xd3,
+	0xee, 0x6a, 0x62, 0xac, 0x1b, 0x6b, 0x05, 0x6d, 0x45, 0xe8, 0xa8, 0xbe, 0x8c, 0x6d, 0xdf, 0xba,
+	0xac, 0x69, 0x61, 0x7d, 0xaa, 0x98, 0x6b, 0xfb, 0x1c, 0xba, 0x01, 0xf4, 0x8a, 0xe8, 0xb9, 0x65,
+	0xf4, 0xca, 0xb5, 0x19, 0xc4, 0xc6, 0x22, 0x25, 0xd2, 0xb3, 0x40, 0x14, 0x8b, 0x4e, 0xfd, 0x60,
+	0x19, 0x2c, 0x58, 0xbe, 0xa7, 0x9e, 0xcc, 0x1f, 0xc3, 0xac, 0x3e, 0x81, 0x10, 0xe6, 0x0e, 0x54,
+	0x81, 0x68, 0xc6, 0x40, 0x9d, 0xcc, 0x91, 0xa7, 0xdc, 0x21, 0xb2, 0x97, 0x72, 0x88, 0xfa, 0xa3,
+	0x34, 0x14, 0x59, 0x9f, 0x25, 0x0d, 0x53, 0x08, 0x34, 0x16, 0x29, 0x91, 0xa6, 0xe1, 0xb5, 0xb2,
+	0xdd, 0xb4, 0x0f, 0x96, 0x60, 0x3b, 0x4b, 0x43, 0xd2, 0xd3, 0xfa, 0x5a, 0x31, 0xab, 0x2f, 0x59,
+	0x7b, 0xfe, 0x9b, 0xa4, 0x40, 0x34, 0xe3, 0xc6, 0x7f, 0x9f, 0xe7, 0x26, 0xb9, 0xa5, 0xbb, 0x42,
+	0x62, 0xd5, 0xbf, 0x15, 0x61, 0xf1, 0x4e, 0xd1, 0x21, 0x9b, 0xaf, 0x2e, 0xe8, 0x68, 0xd6, 0x3b,
+	0x0b, 0x10, 0xd3, 0x9e, 0x98, 0xcf, 0xa3, 0xf4, 0x14, 0xf1, 0x9b, 0x25, 0x3d, 0x53, 0x30, 0x36,
+	0x16, 0x29, 0x91, 0xa6, 0xa7, 0x6f, 0x28, 0x40, 0x1f, 0x36, 0xe1, 0x7f, 0x01, 0x62, 0xf9, 0x1f,
+	0xd1, 0xe2, 0xaa, 0xed, 0x9d, 0xb9, 0xd7, 0x87, 0xe3, 0xe9, 0x8b, 0x4a, 0xa4, 0xbe, 0x30, 0x0b,
+	0x84, 0xe3, 0xd1, 0xe8, 0xdc, 0x75, 0x3a, 0x52, 0x32, 0xb1, 0x85, 0x50, 0xaf, 0xd7, 0x1b, 0x9b,
+	0x44, 0x38, 0x96, 0x9d, 0xe4, 0x89, 0xb4, 0xce, 0x42, 0x2c, 0xdf, 0x50, 0x1e, 0x35, 0xda, 0xe6,
+	0x9a, 0x47, 0xa3, 0x12, 0x3c, 0xfb, 0xc6, 0xd1, 0xe3, 0x74, 0xd6, 0xa7, 0x21, 0x26, 0xbe, 0x43,
+	0xb9, 0x8f, 0x7c, 0x20, 0xea, 0x75, 0x84, 0x46, 0x2d, 0x74, 0x8f, 0xaf, 0x47, 0xc9, 0xd7, 0xf1,
+	0x8a, 0x5a, 0x7c, 0xef, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xca, 0xb3, 0xee, 0x4b, 0x3a, 0x0a,
+	0x00, 0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// GameServerClustersServiceClient is the client API for GameServerClustersService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type GameServerClustersServiceClient interface {
+	// Lists Game Server Clusters in a given project and location.
+	ListGameServerClusters(ctx context.Context, in *ListGameServerClustersRequest, opts ...grpc.CallOption) (*ListGameServerClustersResponse, error)
+	// Gets details of a single game server cluster.
+	GetGameServerCluster(ctx context.Context, in *GetGameServerClusterRequest, opts ...grpc.CallOption) (*GameServerCluster, error)
+	// Creates a new game server cluster in a given project and location.
+	CreateGameServerCluster(ctx context.Context, in *CreateGameServerClusterRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Previews creation of a new game server cluster in a given project and
+	// location.
+	PreviewCreateGameServerCluster(ctx context.Context, in *PreviewCreateGameServerClusterRequest, opts ...grpc.CallOption) (*PreviewCreateGameServerClusterResponse, error)
+	// Deletes a single game server cluster.
+	DeleteGameServerCluster(ctx context.Context, in *DeleteGameServerClusterRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Previews deletion of a single game server cluster.
+	PreviewDeleteGameServerCluster(ctx context.Context, in *PreviewDeleteGameServerClusterRequest, opts ...grpc.CallOption) (*PreviewDeleteGameServerClusterResponse, error)
+	// Patches a single game server cluster.
+	UpdateGameServerCluster(ctx context.Context, in *UpdateGameServerClusterRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Previews updating a GameServerCluster.
+	PreviewUpdateGameServerCluster(ctx context.Context, in *PreviewUpdateGameServerClusterRequest, opts ...grpc.CallOption) (*PreviewUpdateGameServerClusterResponse, error)
+}
+
+type gameServerClustersServiceClient struct {
+	cc grpc.ClientConnInterface
+}
+
+func NewGameServerClustersServiceClient(cc grpc.ClientConnInterface) GameServerClustersServiceClient {
+	return &gameServerClustersServiceClient{cc}
+}
+
+func (c *gameServerClustersServiceClient) ListGameServerClusters(ctx context.Context, in *ListGameServerClustersRequest, opts ...grpc.CallOption) (*ListGameServerClustersResponse, error) {
+	out := new(ListGameServerClustersResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerClustersService/ListGameServerClusters", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerClustersServiceClient) GetGameServerCluster(ctx context.Context, in *GetGameServerClusterRequest, opts ...grpc.CallOption) (*GameServerCluster, error) {
+	out := new(GameServerCluster)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerClustersService/GetGameServerCluster", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerClustersServiceClient) CreateGameServerCluster(ctx context.Context, in *CreateGameServerClusterRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerClustersService/CreateGameServerCluster", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerClustersServiceClient) PreviewCreateGameServerCluster(ctx context.Context, in *PreviewCreateGameServerClusterRequest, opts ...grpc.CallOption) (*PreviewCreateGameServerClusterResponse, error) {
+	out := new(PreviewCreateGameServerClusterResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerClustersService/PreviewCreateGameServerCluster", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerClustersServiceClient) DeleteGameServerCluster(ctx context.Context, in *DeleteGameServerClusterRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerClustersService/DeleteGameServerCluster", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerClustersServiceClient) PreviewDeleteGameServerCluster(ctx context.Context, in *PreviewDeleteGameServerClusterRequest, opts ...grpc.CallOption) (*PreviewDeleteGameServerClusterResponse, error) {
+	out := new(PreviewDeleteGameServerClusterResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerClustersService/PreviewDeleteGameServerCluster", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerClustersServiceClient) UpdateGameServerCluster(ctx context.Context, in *UpdateGameServerClusterRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerClustersService/UpdateGameServerCluster", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerClustersServiceClient) PreviewUpdateGameServerCluster(ctx context.Context, in *PreviewUpdateGameServerClusterRequest, opts ...grpc.CallOption) (*PreviewUpdateGameServerClusterResponse, error) {
+	out := new(PreviewUpdateGameServerClusterResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerClustersService/PreviewUpdateGameServerCluster", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// GameServerClustersServiceServer is the server API for GameServerClustersService service.
+type GameServerClustersServiceServer interface {
+	// Lists Game Server Clusters in a given project and location.
+	ListGameServerClusters(context.Context, *ListGameServerClustersRequest) (*ListGameServerClustersResponse, error)
+	// Gets details of a single game server cluster.
+	GetGameServerCluster(context.Context, *GetGameServerClusterRequest) (*GameServerCluster, error)
+	// Creates a new game server cluster in a given project and location.
+	CreateGameServerCluster(context.Context, *CreateGameServerClusterRequest) (*longrunning.Operation, error)
+	// Previews creation of a new game server cluster in a given project and
+	// location.
+	PreviewCreateGameServerCluster(context.Context, *PreviewCreateGameServerClusterRequest) (*PreviewCreateGameServerClusterResponse, error)
+	// Deletes a single game server cluster.
+	DeleteGameServerCluster(context.Context, *DeleteGameServerClusterRequest) (*longrunning.Operation, error)
+	// Previews deletion of a single game server cluster.
+	PreviewDeleteGameServerCluster(context.Context, *PreviewDeleteGameServerClusterRequest) (*PreviewDeleteGameServerClusterResponse, error)
+	// Patches a single game server cluster.
+	UpdateGameServerCluster(context.Context, *UpdateGameServerClusterRequest) (*longrunning.Operation, error)
+	// Previews updating a GameServerCluster.
+	PreviewUpdateGameServerCluster(context.Context, *PreviewUpdateGameServerClusterRequest) (*PreviewUpdateGameServerClusterResponse, error)
+}
+
+// UnimplementedGameServerClustersServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedGameServerClustersServiceServer struct {
+}
+
+func (*UnimplementedGameServerClustersServiceServer) ListGameServerClusters(ctx context.Context, req *ListGameServerClustersRequest) (*ListGameServerClustersResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListGameServerClusters not implemented")
+}
+func (*UnimplementedGameServerClustersServiceServer) GetGameServerCluster(ctx context.Context, req *GetGameServerClusterRequest) (*GameServerCluster, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetGameServerCluster not implemented")
+}
+func (*UnimplementedGameServerClustersServiceServer) CreateGameServerCluster(ctx context.Context, req *CreateGameServerClusterRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CreateGameServerCluster not implemented")
+}
+func (*UnimplementedGameServerClustersServiceServer) PreviewCreateGameServerCluster(ctx context.Context, req *PreviewCreateGameServerClusterRequest) (*PreviewCreateGameServerClusterResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method PreviewCreateGameServerCluster not implemented")
+}
+func (*UnimplementedGameServerClustersServiceServer) DeleteGameServerCluster(ctx context.Context, req *DeleteGameServerClusterRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DeleteGameServerCluster not implemented")
+}
+func (*UnimplementedGameServerClustersServiceServer) PreviewDeleteGameServerCluster(ctx context.Context, req *PreviewDeleteGameServerClusterRequest) (*PreviewDeleteGameServerClusterResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method PreviewDeleteGameServerCluster not implemented")
+}
+func (*UnimplementedGameServerClustersServiceServer) UpdateGameServerCluster(ctx context.Context, req *UpdateGameServerClusterRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateGameServerCluster not implemented")
+}
+func (*UnimplementedGameServerClustersServiceServer) PreviewUpdateGameServerCluster(ctx context.Context, req *PreviewUpdateGameServerClusterRequest) (*PreviewUpdateGameServerClusterResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method PreviewUpdateGameServerCluster not implemented")
+}
+
+func RegisterGameServerClustersServiceServer(s *grpc.Server, srv GameServerClustersServiceServer) {
+	s.RegisterService(&_GameServerClustersService_serviceDesc, srv)
+}
+
+func _GameServerClustersService_ListGameServerClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListGameServerClustersRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerClustersServiceServer).ListGameServerClusters(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerClustersService/ListGameServerClusters",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerClustersServiceServer).ListGameServerClusters(ctx, req.(*ListGameServerClustersRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerClustersService_GetGameServerCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetGameServerClusterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerClustersServiceServer).GetGameServerCluster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerClustersService/GetGameServerCluster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerClustersServiceServer).GetGameServerCluster(ctx, req.(*GetGameServerClusterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerClustersService_CreateGameServerCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateGameServerClusterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerClustersServiceServer).CreateGameServerCluster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerClustersService/CreateGameServerCluster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerClustersServiceServer).CreateGameServerCluster(ctx, req.(*CreateGameServerClusterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerClustersService_PreviewCreateGameServerCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(PreviewCreateGameServerClusterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerClustersServiceServer).PreviewCreateGameServerCluster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerClustersService/PreviewCreateGameServerCluster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerClustersServiceServer).PreviewCreateGameServerCluster(ctx, req.(*PreviewCreateGameServerClusterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerClustersService_DeleteGameServerCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteGameServerClusterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerClustersServiceServer).DeleteGameServerCluster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerClustersService/DeleteGameServerCluster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerClustersServiceServer).DeleteGameServerCluster(ctx, req.(*DeleteGameServerClusterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerClustersService_PreviewDeleteGameServerCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(PreviewDeleteGameServerClusterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerClustersServiceServer).PreviewDeleteGameServerCluster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerClustersService/PreviewDeleteGameServerCluster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerClustersServiceServer).PreviewDeleteGameServerCluster(ctx, req.(*PreviewDeleteGameServerClusterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerClustersService_UpdateGameServerCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateGameServerClusterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerClustersServiceServer).UpdateGameServerCluster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerClustersService/UpdateGameServerCluster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerClustersServiceServer).UpdateGameServerCluster(ctx, req.(*UpdateGameServerClusterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerClustersService_PreviewUpdateGameServerCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(PreviewUpdateGameServerClusterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerClustersServiceServer).PreviewUpdateGameServerCluster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerClustersService/PreviewUpdateGameServerCluster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerClustersServiceServer).PreviewUpdateGameServerCluster(ctx, req.(*PreviewUpdateGameServerClusterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _GameServerClustersService_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.gaming.v1beta.GameServerClustersService",
+	HandlerType: (*GameServerClustersServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "ListGameServerClusters",
+			Handler:    _GameServerClustersService_ListGameServerClusters_Handler,
+		},
+		{
+			MethodName: "GetGameServerCluster",
+			Handler:    _GameServerClustersService_GetGameServerCluster_Handler,
+		},
+		{
+			MethodName: "CreateGameServerCluster",
+			Handler:    _GameServerClustersService_CreateGameServerCluster_Handler,
+		},
+		{
+			MethodName: "PreviewCreateGameServerCluster",
+			Handler:    _GameServerClustersService_PreviewCreateGameServerCluster_Handler,
+		},
+		{
+			MethodName: "DeleteGameServerCluster",
+			Handler:    _GameServerClustersService_DeleteGameServerCluster_Handler,
+		},
+		{
+			MethodName: "PreviewDeleteGameServerCluster",
+			Handler:    _GameServerClustersService_PreviewDeleteGameServerCluster_Handler,
+		},
+		{
+			MethodName: "UpdateGameServerCluster",
+			Handler:    _GameServerClustersService_UpdateGameServerCluster_Handler,
+		},
+		{
+			MethodName: "PreviewUpdateGameServerCluster",
+			Handler:    _GameServerClustersService_PreviewUpdateGameServerCluster_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "google/cloud/gaming/v1beta/game_server_clusters_service.proto",
+}
diff --git a/googleapis/cloud/gaming/v1beta/game_server_configs.pb.go b/googleapis/cloud/gaming/v1beta/game_server_configs.pb.go
new file mode 100644
index 0000000..3f9cbc8
--- /dev/null
+++ b/googleapis/cloud/gaming/v1beta/game_server_configs.pb.go
@@ -0,0 +1,614 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/gaming/v1beta/game_server_configs.proto
+
+package gaming
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Request message for GameServerConfigsService.ListGameServerConfigs.
+type ListGameServerConfigsRequest struct {
+	// Required. The parent resource name. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/*`.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// 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.v1beta.ListGameServerConfigsResponse.next_page_token] to
+	// determine if there are more GameServerConfigs left to be queried.
+	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	// Optional. The next_page_token value returned from a previous List request, if any.
+	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// Optional. The filter to apply to list results.
+	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
+	// Optional. Specifies the ordering of results following syntax at
+	// https://cloud.google.com/apis/design/design_patterns#sorting_order.
+	OrderBy              string   `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListGameServerConfigsRequest) Reset()         { *m = ListGameServerConfigsRequest{} }
+func (m *ListGameServerConfigsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListGameServerConfigsRequest) ProtoMessage()    {}
+func (*ListGameServerConfigsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b2bbd1686cf6f2ff, []int{0}
+}
+
+func (m *ListGameServerConfigsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListGameServerConfigsRequest.Unmarshal(m, b)
+}
+func (m *ListGameServerConfigsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListGameServerConfigsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListGameServerConfigsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListGameServerConfigsRequest.Merge(m, src)
+}
+func (m *ListGameServerConfigsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListGameServerConfigsRequest.Size(m)
+}
+func (m *ListGameServerConfigsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListGameServerConfigsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListGameServerConfigsRequest proto.InternalMessageInfo
+
+func (m *ListGameServerConfigsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListGameServerConfigsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListGameServerConfigsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListGameServerConfigsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListGameServerConfigsRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
+// Response message for GameServerConfigsService.ListGameServerConfigs.
+type ListGameServerConfigsResponse struct {
+	// The list of Game Server Configs.
+	GameServerConfigs []*GameServerConfig `protobuf:"bytes,1,rep,name=game_server_configs,json=gameServerConfigs,proto3" json:"game_server_configs,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no more
+	// results in the list.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	// List of Locations that could not be reached.
+	Unreachable          []string `protobuf:"bytes,4,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListGameServerConfigsResponse) Reset()         { *m = ListGameServerConfigsResponse{} }
+func (m *ListGameServerConfigsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListGameServerConfigsResponse) ProtoMessage()    {}
+func (*ListGameServerConfigsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b2bbd1686cf6f2ff, []int{1}
+}
+
+func (m *ListGameServerConfigsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListGameServerConfigsResponse.Unmarshal(m, b)
+}
+func (m *ListGameServerConfigsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListGameServerConfigsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListGameServerConfigsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListGameServerConfigsResponse.Merge(m, src)
+}
+func (m *ListGameServerConfigsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListGameServerConfigsResponse.Size(m)
+}
+func (m *ListGameServerConfigsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListGameServerConfigsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListGameServerConfigsResponse proto.InternalMessageInfo
+
+func (m *ListGameServerConfigsResponse) GetGameServerConfigs() []*GameServerConfig {
+	if m != nil {
+		return m.GameServerConfigs
+	}
+	return nil
+}
+
+func (m *ListGameServerConfigsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListGameServerConfigsResponse) GetUnreachable() []string {
+	if m != nil {
+		return m.Unreachable
+	}
+	return nil
+}
+
+// Request message for GameServerConfigsService.GetGameServerConfig.
+type GetGameServerConfigRequest struct {
+	// Required. The name of the Game Server Config to retrieve. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetGameServerConfigRequest) Reset()         { *m = GetGameServerConfigRequest{} }
+func (m *GetGameServerConfigRequest) String() string { return proto.CompactTextString(m) }
+func (*GetGameServerConfigRequest) ProtoMessage()    {}
+func (*GetGameServerConfigRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b2bbd1686cf6f2ff, []int{2}
+}
+
+func (m *GetGameServerConfigRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetGameServerConfigRequest.Unmarshal(m, b)
+}
+func (m *GetGameServerConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetGameServerConfigRequest.Marshal(b, m, deterministic)
+}
+func (m *GetGameServerConfigRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetGameServerConfigRequest.Merge(m, src)
+}
+func (m *GetGameServerConfigRequest) XXX_Size() int {
+	return xxx_messageInfo_GetGameServerConfigRequest.Size(m)
+}
+func (m *GetGameServerConfigRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetGameServerConfigRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetGameServerConfigRequest proto.InternalMessageInfo
+
+func (m *GetGameServerConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request message for GameServerConfigsService.CreateGameServerConfig.
+type CreateGameServerConfigRequest struct {
+	// Required. The parent resource name. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/`.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Required. The ID of the Game Server Config resource to be created.
+	ConfigId string `protobuf:"bytes,2,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+	// Required. The Game Server Config resource to be created.
+	GameServerConfig     *GameServerConfig `protobuf:"bytes,3,opt,name=game_server_config,json=gameServerConfig,proto3" json:"game_server_config,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
+	XXX_unrecognized     []byte            `json:"-"`
+	XXX_sizecache        int32             `json:"-"`
+}
+
+func (m *CreateGameServerConfigRequest) Reset()         { *m = CreateGameServerConfigRequest{} }
+func (m *CreateGameServerConfigRequest) String() string { return proto.CompactTextString(m) }
+func (*CreateGameServerConfigRequest) ProtoMessage()    {}
+func (*CreateGameServerConfigRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b2bbd1686cf6f2ff, []int{3}
+}
+
+func (m *CreateGameServerConfigRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CreateGameServerConfigRequest.Unmarshal(m, b)
+}
+func (m *CreateGameServerConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CreateGameServerConfigRequest.Marshal(b, m, deterministic)
+}
+func (m *CreateGameServerConfigRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CreateGameServerConfigRequest.Merge(m, src)
+}
+func (m *CreateGameServerConfigRequest) XXX_Size() int {
+	return xxx_messageInfo_CreateGameServerConfigRequest.Size(m)
+}
+func (m *CreateGameServerConfigRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CreateGameServerConfigRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CreateGameServerConfigRequest proto.InternalMessageInfo
+
+func (m *CreateGameServerConfigRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateGameServerConfigRequest) GetConfigId() string {
+	if m != nil {
+		return m.ConfigId
+	}
+	return ""
+}
+
+func (m *CreateGameServerConfigRequest) GetGameServerConfig() *GameServerConfig {
+	if m != nil {
+		return m.GameServerConfig
+	}
+	return nil
+}
+
+// Request message for GameServerConfigsService.DeleteGameServerConfig.
+type DeleteGameServerConfigRequest struct {
+	// Required. The name of the Game Server Config to delete. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *DeleteGameServerConfigRequest) Reset()         { *m = DeleteGameServerConfigRequest{} }
+func (m *DeleteGameServerConfigRequest) String() string { return proto.CompactTextString(m) }
+func (*DeleteGameServerConfigRequest) ProtoMessage()    {}
+func (*DeleteGameServerConfigRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b2bbd1686cf6f2ff, []int{4}
+}
+
+func (m *DeleteGameServerConfigRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeleteGameServerConfigRequest.Unmarshal(m, b)
+}
+func (m *DeleteGameServerConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeleteGameServerConfigRequest.Marshal(b, m, deterministic)
+}
+func (m *DeleteGameServerConfigRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeleteGameServerConfigRequest.Merge(m, src)
+}
+func (m *DeleteGameServerConfigRequest) XXX_Size() int {
+	return xxx_messageInfo_DeleteGameServerConfigRequest.Size(m)
+}
+func (m *DeleteGameServerConfigRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeleteGameServerConfigRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeleteGameServerConfigRequest proto.InternalMessageInfo
+
+func (m *DeleteGameServerConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Autoscaling config for an Agones fleet.
+type ScalingConfig struct {
+	// Required. The name of the Scaling Config
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Required. Agones fleet autoscaler spec. Example spec:
+	// https://agones.dev/site/docs/reference/fleetautoscaler/
+	FleetAutoscalerSpec string `protobuf:"bytes,2,opt,name=fleet_autoscaler_spec,json=fleetAutoscalerSpec,proto3" json:"fleet_autoscaler_spec,omitempty"`
+	// 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.
+	Selectors []*LabelSelector `protobuf:"bytes,4,rep,name=selectors,proto3" json:"selectors,omitempty"`
+	// The schedules to which this Scaling Config applies.
+	Schedules            []*Schedule `protobuf:"bytes,5,rep,name=schedules,proto3" json:"schedules,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
+	XXX_unrecognized     []byte      `json:"-"`
+	XXX_sizecache        int32       `json:"-"`
+}
+
+func (m *ScalingConfig) Reset()         { *m = ScalingConfig{} }
+func (m *ScalingConfig) String() string { return proto.CompactTextString(m) }
+func (*ScalingConfig) ProtoMessage()    {}
+func (*ScalingConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b2bbd1686cf6f2ff, []int{5}
+}
+
+func (m *ScalingConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ScalingConfig.Unmarshal(m, b)
+}
+func (m *ScalingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ScalingConfig.Marshal(b, m, deterministic)
+}
+func (m *ScalingConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ScalingConfig.Merge(m, src)
+}
+func (m *ScalingConfig) XXX_Size() int {
+	return xxx_messageInfo_ScalingConfig.Size(m)
+}
+func (m *ScalingConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_ScalingConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ScalingConfig proto.InternalMessageInfo
+
+func (m *ScalingConfig) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ScalingConfig) GetFleetAutoscalerSpec() string {
+	if m != nil {
+		return m.FleetAutoscalerSpec
+	}
+	return ""
+}
+
+func (m *ScalingConfig) GetSelectors() []*LabelSelector {
+	if m != nil {
+		return m.Selectors
+	}
+	return nil
+}
+
+func (m *ScalingConfig) GetSchedules() []*Schedule {
+	if m != nil {
+		return m.Schedules
+	}
+	return nil
+}
+
+// Fleet configs for Agones.
+type FleetConfig struct {
+	// Agones fleet spec. Example spec:
+	// `https://agones.dev/site/docs/reference/fleet/`.
+	FleetSpec string `protobuf:"bytes,1,opt,name=fleet_spec,json=fleetSpec,proto3" json:"fleet_spec,omitempty"`
+	// The name of the FleetConfig.
+	Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *FleetConfig) Reset()         { *m = FleetConfig{} }
+func (m *FleetConfig) String() string { return proto.CompactTextString(m) }
+func (*FleetConfig) ProtoMessage()    {}
+func (*FleetConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b2bbd1686cf6f2ff, []int{6}
+}
+
+func (m *FleetConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_FleetConfig.Unmarshal(m, b)
+}
+func (m *FleetConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_FleetConfig.Marshal(b, m, deterministic)
+}
+func (m *FleetConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_FleetConfig.Merge(m, src)
+}
+func (m *FleetConfig) XXX_Size() int {
+	return xxx_messageInfo_FleetConfig.Size(m)
+}
+func (m *FleetConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_FleetConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FleetConfig proto.InternalMessageInfo
+
+func (m *FleetConfig) GetFleetSpec() string {
+	if m != nil {
+		return m.FleetSpec
+	}
+	return ""
+}
+
+func (m *FleetConfig) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// A Game Server Config resource.
+type GameServerConfig struct {
+	// The resource name of the Game Server Config. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
+	// For example,
+	//
+	// `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Output only. The creation time.
+	CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+	// Output only. The last-modified time.
+	UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+	// The labels associated with this Game Server Config. Each label is a
+	// key-value pair.
+	Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
+	// is allowed.
+	FleetConfigs []*FleetConfig `protobuf:"bytes,5,rep,name=fleet_configs,json=fleetConfigs,proto3" json:"fleet_configs,omitempty"`
+	// The autoscaling settings.
+	ScalingConfigs []*ScalingConfig `protobuf:"bytes,6,rep,name=scaling_configs,json=scalingConfigs,proto3" json:"scaling_configs,omitempty"`
+	// The description of the Game Server Config.
+	Description          string   `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GameServerConfig) Reset()         { *m = GameServerConfig{} }
+func (m *GameServerConfig) String() string { return proto.CompactTextString(m) }
+func (*GameServerConfig) ProtoMessage()    {}
+func (*GameServerConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b2bbd1686cf6f2ff, []int{7}
+}
+
+func (m *GameServerConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GameServerConfig.Unmarshal(m, b)
+}
+func (m *GameServerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GameServerConfig.Marshal(b, m, deterministic)
+}
+func (m *GameServerConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GameServerConfig.Merge(m, src)
+}
+func (m *GameServerConfig) XXX_Size() int {
+	return xxx_messageInfo_GameServerConfig.Size(m)
+}
+func (m *GameServerConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_GameServerConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GameServerConfig proto.InternalMessageInfo
+
+func (m *GameServerConfig) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *GameServerConfig) GetCreateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *GameServerConfig) GetUpdateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.UpdateTime
+	}
+	return nil
+}
+
+func (m *GameServerConfig) GetLabels() map[string]string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
+func (m *GameServerConfig) GetFleetConfigs() []*FleetConfig {
+	if m != nil {
+		return m.FleetConfigs
+	}
+	return nil
+}
+
+func (m *GameServerConfig) GetScalingConfigs() []*ScalingConfig {
+	if m != nil {
+		return m.ScalingConfigs
+	}
+	return nil
+}
+
+func (m *GameServerConfig) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterType((*ListGameServerConfigsRequest)(nil), "google.cloud.gaming.v1beta.ListGameServerConfigsRequest")
+	proto.RegisterType((*ListGameServerConfigsResponse)(nil), "google.cloud.gaming.v1beta.ListGameServerConfigsResponse")
+	proto.RegisterType((*GetGameServerConfigRequest)(nil), "google.cloud.gaming.v1beta.GetGameServerConfigRequest")
+	proto.RegisterType((*CreateGameServerConfigRequest)(nil), "google.cloud.gaming.v1beta.CreateGameServerConfigRequest")
+	proto.RegisterType((*DeleteGameServerConfigRequest)(nil), "google.cloud.gaming.v1beta.DeleteGameServerConfigRequest")
+	proto.RegisterType((*ScalingConfig)(nil), "google.cloud.gaming.v1beta.ScalingConfig")
+	proto.RegisterType((*FleetConfig)(nil), "google.cloud.gaming.v1beta.FleetConfig")
+	proto.RegisterType((*GameServerConfig)(nil), "google.cloud.gaming.v1beta.GameServerConfig")
+	proto.RegisterMapType((map[string]string)(nil), "google.cloud.gaming.v1beta.GameServerConfig.LabelsEntry")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/gaming/v1beta/game_server_configs.proto", fileDescriptor_b2bbd1686cf6f2ff)
+}
+
+var fileDescriptor_b2bbd1686cf6f2ff = []byte{
+	// 865 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x41, 0x6f, 0x1b, 0x45,
+	0x14, 0xd6, 0xc6, 0xb1, 0x1b, 0x3f, 0x13, 0x1a, 0xa6, 0x20, 0x8c, 0x69, 0x8a, 0x65, 0x21, 0x1a,
+	0xa4, 0x6a, 0x57, 0x84, 0x4a, 0x94, 0x72, 0x89, 0xdd, 0x42, 0x40, 0xca, 0x21, 0x5a, 0xf7, 0x04,
+	0x48, 0xab, 0xf1, 0xec, 0xf3, 0x66, 0xe9, 0xee, 0xcc, 0x32, 0x33, 0x1b, 0xe1, 0x46, 0xf9, 0x05,
+	0x08, 0xf1, 0xb3, 0xf8, 0x1b, 0x3d, 0x73, 0x00, 0xce, 0x9c, 0xd0, 0xcc, 0xec, 0xda, 0x9b, 0xa4,
+	0x31, 0x8d, 0xd4, 0xdb, 0xcc, 0x9b, 0xf7, 0xbe, 0x79, 0xdf, 0xf7, 0xbd, 0x9d, 0x85, 0x87, 0x89,
+	0x10, 0x49, 0x86, 0x01, 0xcb, 0x44, 0x19, 0x07, 0x09, 0xcd, 0x53, 0x9e, 0x04, 0xa7, 0x9f, 0xcd,
+	0x50, 0x53, 0xb3, 0xc3, 0x48, 0xa1, 0x3c, 0x45, 0x19, 0x31, 0xc1, 0xe7, 0x69, 0xa2, 0xfc, 0x42,
+	0x0a, 0x2d, 0xc8, 0xc0, 0x55, 0xf9, 0xb6, 0xca, 0x77, 0x55, 0xbe, 0xab, 0x1a, 0x7c, 0x54, 0x21,
+	0xd2, 0x22, 0x0d, 0xe6, 0x29, 0x66, 0x71, 0x34, 0xc3, 0x13, 0x7a, 0x9a, 0x0a, 0xe9, 0x8a, 0x07,
+	0x1f, 0x34, 0x12, 0x24, 0x2a, 0x51, 0x4a, 0x86, 0xd5, 0xd1, 0xfd, 0x35, 0xdd, 0x30, 0x91, 0xe7,
+	0x82, 0x57, 0x89, 0xf5, 0x25, 0x76, 0x37, 0x2b, 0xe7, 0x81, 0x4e, 0x73, 0x54, 0x9a, 0xe6, 0x45,
+	0x95, 0x70, 0xb7, 0x71, 0x09, 0xe5, 0x5c, 0x68, 0xaa, 0x53, 0xc1, 0xab, 0xfe, 0x47, 0x7f, 0x7b,
+	0x70, 0xf7, 0x28, 0x55, 0xfa, 0x90, 0xe6, 0x38, 0xb5, 0x04, 0x9f, 0x38, 0x7e, 0x21, 0xfe, 0x5c,
+	0xa2, 0xd2, 0xe4, 0x08, 0x3a, 0x05, 0x95, 0xc8, 0x75, 0xdf, 0x1b, 0x7a, 0x7b, 0xdd, 0xc9, 0xc3,
+	0x97, 0xe3, 0x8d, 0x7f, 0xc7, 0x3e, 0x79, 0x60, 0x34, 0x31, 0x92, 0xa4, 0x0c, 0x95, 0xef, 0xee,
+	0xa0, 0x45, 0xaa, 0x7c, 0x26, 0xf2, 0xe0, 0x32, 0x5a, 0x58, 0x61, 0x90, 0x21, 0x74, 0x0b, 0x9a,
+	0x60, 0xa4, 0xd2, 0x17, 0xd8, 0xdf, 0x18, 0x7a, 0x7b, 0xed, 0x49, 0xeb, 0xe5, 0xd8, 0x0b, 0xb7,
+	0x4c, 0x74, 0x9a, 0xbe, 0x40, 0x32, 0x02, 0xb0, 0x19, 0x5a, 0x3c, 0x47, 0xde, 0x6f, 0xd9, 0x3b,
+	0x6d, 0x8a, 0x2d, 0x7c, 0x66, 0xa2, 0xe4, 0x43, 0xe8, 0xcc, 0xd3, 0x4c, 0xa3, 0xec, 0x6f, 0xae,
+	0xce, 0xab, 0x10, 0xb9, 0x07, 0x5b, 0x42, 0xc6, 0x28, 0xa3, 0xd9, 0xa2, 0xdf, 0x5e, 0x1d, 0xdf,
+	0xb2, 0xc1, 0xc9, 0x62, 0xf4, 0x87, 0x07, 0xbb, 0xd7, 0x30, 0x56, 0x85, 0xe0, 0x0a, 0xc9, 0x8f,
+	0x70, 0xe7, 0x15, 0x86, 0xf7, 0xbd, 0x61, 0x6b, 0xaf, 0xb7, 0xff, 0xc0, 0xbf, 0xde, 0x71, 0xff,
+	0x0a, 0xef, 0x77, 0x92, 0xcb, 0xb7, 0x90, 0x4f, 0xe0, 0x36, 0xc7, 0x5f, 0x74, 0xd4, 0x60, 0x69,
+	0x84, 0xe8, 0x86, 0xdb, 0x26, 0x7c, 0xbc, 0x24, 0x39, 0x84, 0x5e, 0xc9, 0x25, 0x52, 0x76, 0x42,
+	0x67, 0x19, 0xf6, 0x37, 0x87, 0xad, 0xbd, 0x6e, 0xd8, 0x0c, 0x8d, 0xe6, 0x30, 0x38, 0xc4, 0x2b,
+	0x3c, 0x6a, 0xe3, 0xbe, 0x85, 0x4d, 0x4e, 0x73, 0xbc, 0x68, 0x1b, 0xdc, 0xcc, 0x36, 0x8b, 0x30,
+	0xfa, 0xc7, 0x83, 0xdd, 0x27, 0x12, 0xa9, 0xc6, 0xeb, 0xee, 0x7a, 0xe3, 0x43, 0xe2, 0x34, 0x8f,
+	0xd2, 0xd8, 0x69, 0x63, 0x2c, 0xdc, 0x08, 0xb7, 0x5c, 0xf4, 0xbb, 0x98, 0x44, 0x40, 0xae, 0x3a,
+	0x64, 0x87, 0xe5, 0x86, 0x06, 0x39, 0xe0, 0x9d, 0xcb, 0x2e, 0x8d, 0x52, 0xd8, 0x7d, 0x8a, 0x19,
+	0x5e, 0xcf, 0xf8, 0xcd, 0xa9, 0xfb, 0x97, 0x07, 0xdb, 0x53, 0x46, 0xb3, 0x94, 0x27, 0x2e, 0x4e,
+	0xde, 0xbf, 0x80, 0x6d, 0x3b, 0xb4, 0x01, 0xf2, 0x05, 0xbc, 0x37, 0xcf, 0x10, 0x75, 0x44, 0x4b,
+	0x2d, 0x14, 0xa3, 0x19, 0xca, 0x48, 0x15, 0xc8, 0x9a, 0x22, 0xdd, 0xb1, 0x19, 0xe3, 0x65, 0xc2,
+	0xb4, 0x40, 0x46, 0x0e, 0xa1, 0xab, 0x30, 0x43, 0xa6, 0x85, 0x54, 0x76, 0x92, 0x7a, 0xfb, 0x9f,
+	0xae, 0x93, 0xe9, 0x88, 0xce, 0x30, 0x9b, 0x56, 0x15, 0xe1, 0xaa, 0x96, 0x4c, 0xa0, 0xab, 0xd8,
+	0x09, 0xc6, 0x65, 0x86, 0xaa, 0xdf, 0xb6, 0x40, 0x1f, 0xaf, 0x03, 0x9a, 0x56, 0xc9, 0xe1, 0xaa,
+	0x6c, 0x74, 0x00, 0xbd, 0x6f, 0x4c, 0x8f, 0x15, 0xdb, 0x5d, 0x00, 0x47, 0xca, 0x32, 0xb1, 0x9c,
+	0xc3, 0xae, 0x8d, 0xd8, 0xd6, 0x49, 0x25, 0x86, 0xfb, 0x46, 0x9c, 0x64, 0xbf, 0xb5, 0x61, 0xe7,
+	0xb2, 0x9a, 0xcb, 0x44, 0x6f, 0x95, 0x48, 0x0e, 0xa0, 0xc7, 0xec, 0xe0, 0x46, 0xe6, 0x55, 0xb4,
+	0x18, 0xbd, 0xfd, 0x41, 0xdd, 0x70, 0xfd, 0x64, 0xfa, 0xcf, 0xea, 0x27, 0xd3, 0x48, 0xd8, 0x0a,
+	0xc1, 0xd5, 0x98, 0xa8, 0x41, 0x28, 0x8b, 0x78, 0x89, 0xd0, 0x7a, 0x4d, 0x04, 0x57, 0x63, 0x11,
+	0x8e, 0xa1, 0x93, 0x19, 0x39, 0x6b, 0xe1, 0x1f, 0xdd, 0x64, 0x3e, 0x9d, 0x13, 0xea, 0x6b, 0xae,
+	0xe5, 0x22, 0xac, 0x70, 0xc8, 0x11, 0x6c, 0x3b, 0xc5, 0xea, 0x97, 0xc9, 0x19, 0x71, 0x7f, 0x1d,
+	0x70, 0x43, 0xf1, 0xf0, 0xad, 0xf9, 0x6a, 0xa3, 0x48, 0x08, 0xb7, 0x95, 0x1b, 0xbf, 0x25, 0x5e,
+	0xe7, 0xff, 0x27, 0xe4, 0xc2, 0xc4, 0x86, 0x6f, 0xab, 0xe6, 0x56, 0x99, 0xb7, 0x2b, 0x46, 0xc5,
+	0x64, 0x5a, 0x98, 0x7f, 0x4d, 0xff, 0x96, 0xb5, 0xa4, 0x19, 0x1a, 0x7c, 0x09, 0xbd, 0x06, 0x35,
+	0xb2, 0x03, 0xad, 0xe7, 0xb8, 0xa8, 0xbc, 0x33, 0x4b, 0xf2, 0x2e, 0xb4, 0x4f, 0x69, 0x56, 0xd6,
+	0xc6, 0xbb, 0xcd, 0xe3, 0x8d, 0x47, 0xde, 0xe3, 0xdf, 0xbd, 0x3f, 0xc7, 0xbf, 0x7a, 0x37, 0xfb,
+	0xd6, 0xc8, 0x0f, 0x85, 0x14, 0x3f, 0x21, 0xd3, 0x2a, 0x38, 0xab, 0x56, 0xe7, 0x41, 0x26, 0x98,
+	0xfb, 0x17, 0x06, 0x67, 0xf5, 0xf2, 0x3c, 0x58, 0x3d, 0x05, 0x4f, 0xb1, 0xc8, 0xc4, 0x22, 0x47,
+	0x6e, 0x8a, 0xe2, 0xe5, 0xe6, 0x3c, 0xa8, 0x64, 0x0a, 0xce, 0xdc, 0xe2, 0x7c, 0x12, 0xc3, 0x3d,
+	0x26, 0xf2, 0x35, 0x72, 0x1d, 0x7b, 0xdf, 0x1f, 0x54, 0xa7, 0x89, 0xc8, 0x28, 0x4f, 0x7c, 0x21,
+	0x93, 0x20, 0x41, 0x6e, 0x07, 0x28, 0x58, 0x35, 0xff, 0xaa, 0xff, 0xfd, 0x57, 0x6e, 0x37, 0xeb,
+	0xd8, 0xe4, 0xcf, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x95, 0xfa, 0x4f, 0x83, 0xa9, 0x08, 0x00,
+	0x00,
+}
diff --git a/googleapis/cloud/gaming/v1beta/game_server_configs_service.pb.go b/googleapis/cloud/gaming/v1beta/game_server_configs_service.pb.go
new file mode 100644
index 0000000..47465a4
--- /dev/null
+++ b/googleapis/cloud/gaming/v1beta/game_server_configs_service.pb.go
@@ -0,0 +1,271 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/gaming/v1beta/game_server_configs_service.proto
+
+package gaming
+
+import (
+	context "context"
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	longrunning "google.golang.org/genproto/googleapis/longrunning"
+	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+func init() {
+	proto.RegisterFile("google/cloud/gaming/v1beta/game_server_configs_service.proto", fileDescriptor_81fa3415b33cff76)
+}
+
+var fileDescriptor_81fa3415b33cff76 = []byte{
+	// 496 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0xcd, 0x6a, 0x14, 0x41,
+	0x10, 0xc7, 0x99, 0x20, 0x41, 0xe6, 0xa4, 0x2d, 0x46, 0x1d, 0x3f, 0x0e, 0x2b, 0x5e, 0x96, 0xd8,
+	0x8d, 0x1f, 0x88, 0x46, 0x05, 0xc7, 0x04, 0x16, 0x41, 0x89, 0x18, 0x10, 0x11, 0x24, 0x74, 0x66,
+	0x2b, 0x9d, 0x91, 0x9e, 0xae, 0xb6, 0xbb, 0x36, 0x8b, 0x48, 0x3c, 0xf8, 0x0a, 0x5e, 0xbd, 0xfb,
+	0x16, 0x3e, 0x40, 0x8e, 0xe6, 0xb6, 0x67, 0xf1, 0x01, 0x7c, 0x02, 0x99, 0xe9, 0x19, 0x5d, 0x32,
+	0xe3, 0x92, 0x95, 0x1c, 0xbb, 0xab, 0x7e, 0x55, 0xfd, 0xff, 0x77, 0x51, 0xf1, 0x03, 0x85, 0xa8,
+	0x34, 0x88, 0x4c, 0xe3, 0x68, 0x28, 0x94, 0x2c, 0x72, 0xa3, 0xc4, 0xee, 0x8d, 0x2d, 0x20, 0x59,
+	0x9e, 0x60, 0xd3, 0x83, 0xdb, 0x05, 0xb7, 0x99, 0xa1, 0xd9, 0xce, 0x95, 0xaf, 0x8e, 0x79, 0x06,
+	0xdc, 0x3a, 0x24, 0x64, 0x49, 0xa0, 0x79, 0x45, 0xf3, 0x40, 0xf3, 0x40, 0x27, 0x97, 0xea, 0xca,
+	0xd2, 0xe6, 0x42, 0x1a, 0x83, 0x24, 0x29, 0x47, 0xe3, 0x03, 0x99, 0x9c, 0x9b, 0x8a, 0x66, 0x3a,
+	0x07, 0x43, 0x75, 0xe0, 0xf6, 0x7c, 0x0f, 0xaa, 0xa9, 0xab, 0x35, 0xa5, 0xd1, 0x28, 0x37, 0x32,
+	0xa6, 0x84, 0xd0, 0x82, 0x9b, 0xee, 0x79, 0xf3, 0xdb, 0xc9, 0xf8, 0xfc, 0x40, 0x16, 0xb0, 0x51,
+	0x55, 0x58, 0x0d, 0x05, 0x36, 0x82, 0x20, 0xf6, 0x33, 0x8a, 0xcf, 0x3e, 0xcd, 0x3d, 0xb5, 0x12,
+	0xd8, 0x5d, 0xfe, 0x6f, 0x95, 0xbc, 0x13, 0x79, 0x01, 0xef, 0x46, 0xe0, 0x29, 0xb9, 0xf7, 0x1f,
+	0xa4, 0xb7, 0x68, 0x3c, 0xf4, 0x5e, 0x4d, 0xd2, 0x45, 0x2b, 0x1d, 0x18, 0xfa, 0x74, 0xf0, 0xe3,
+	0xf3, 0xc2, 0x13, 0x36, 0x68, 0x4c, 0xf8, 0x10, 0xae, 0x1f, 0x5a, 0x87, 0x6f, 0x21, 0x23, 0x2f,
+	0xfa, 0x42, 0x63, 0x16, 0x84, 0x8a, 0x7e, 0xe5, 0x51, 0x28, 0xb9, 0x06, 0x56, 0xe3, 0xfb, 0x02,
+	0x4c, 0x99, 0xb3, 0x27, 0x6a, 0xc3, 0xd8, 0x41, 0x14, 0x9f, 0x19, 0x40, 0xab, 0x35, 0xbb, 0x33,
+	0xeb, 0xb1, 0x1d, 0x40, 0x23, 0x72, 0x79, 0x26, 0x77, 0x08, 0xea, 0xbd, 0x9c, 0xa4, 0x27, 0x8c,
+	0x2c, 0xa0, 0xa5, 0xaa, 0xbc, 0x9c, 0x53, 0x53, 0x23, 0x49, 0xf4, 0xf7, 0xd8, 0x97, 0x85, 0x78,
+	0x69, 0xd5, 0x81, 0x24, 0x68, 0x09, 0x9b, 0xf9, 0x0b, 0xdd, 0x4c, 0xa3, 0xed, 0x72, 0x83, 0x4e,
+	0xcd, 0x15, 0x5f, 0x6f, 0xe6, 0xaa, 0xf7, 0x35, 0xda, 0x4f, 0xaf, 0xc5, 0xa7, 0x5a, 0x1d, 0x4f,
+	0xff, 0x49, 0x79, 0x06, 0x24, 0x87, 0x92, 0xe4, 0x24, 0xbd, 0x10, 0xbe, 0x6d, 0xb9, 0x3d, 0xc3,
+	0x95, 0x15, 0x6f, 0x7a, 0xc7, 0xf5, 0xc1, 0x2b, 0xac, 0xdd, 0x82, 0xfd, 0x8a, 0xe2, 0xa5, 0x35,
+	0xd0, 0x30, 0xaf, 0x3d, 0xdd, 0xcc, 0x11, 0xed, 0xf9, 0x78, 0x74, 0x77, 0xa6, 0x66, 0xa2, 0x7f,
+	0x5c, 0x33, 0x91, 0xac, 0xef, 0xa7, 0x17, 0xcb, 0xb4, 0x7a, 0x67, 0xf9, 0xfa, 0xb5, 0xd2, 0xe6,
+	0x9e, 0x67, 0x58, 0x7c, 0x4f, 0xf9, 0x0e, 0x91, 0xf5, 0x2b, 0x42, 0x8c, 0xc7, 0xe3, 0x43, 0x41,
+	0x21, 0x47, 0xb4, 0x13, 0x96, 0xd0, 0x75, 0xab, 0x25, 0x6d, 0xa3, 0x2b, 0x1e, 0x0f, 0xe3, 0x2b,
+	0x19, 0x16, 0x33, 0xfc, 0x7a, 0x1e, 0xbd, 0x7e, 0x54, 0x47, 0x15, 0x6a, 0x69, 0x14, 0x47, 0xa7,
+	0x84, 0x02, 0x53, 0x2d, 0x20, 0xf1, 0xb7, 0x45, 0xd7, 0x7a, 0xbb, 0x1f, 0x4e, 0x5b, 0x8b, 0x55,
+	0xf2, 0xad, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x55, 0xbd, 0xaf, 0x8e, 0x9b, 0x05, 0x00, 0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// GameServerConfigsServiceClient is the client API for GameServerConfigsService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type GameServerConfigsServiceClient interface {
+	// Lists Game Server Configs in a given project, Location, and Game Server
+	// Deployment.
+	ListGameServerConfigs(ctx context.Context, in *ListGameServerConfigsRequest, opts ...grpc.CallOption) (*ListGameServerConfigsResponse, error)
+	// Gets details of a single Game Server Config.
+	GetGameServerConfig(ctx context.Context, in *GetGameServerConfigRequest, opts ...grpc.CallOption) (*GameServerConfig, error)
+	// Creates a new Game Server Config in a given project, Location, and Game
+	// Server Deployment. Game Server Configs are immutable, and are not applied
+	// until referenced in the Game Server Deployment Rollout resource.
+	CreateGameServerConfig(ctx context.Context, in *CreateGameServerConfigRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Deletes a single Game Server Config. The deletion will fail if the Game
+	// Server Config is referenced in a Game Server Deployment Rollout.
+	DeleteGameServerConfig(ctx context.Context, in *DeleteGameServerConfigRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+}
+
+type gameServerConfigsServiceClient struct {
+	cc grpc.ClientConnInterface
+}
+
+func NewGameServerConfigsServiceClient(cc grpc.ClientConnInterface) GameServerConfigsServiceClient {
+	return &gameServerConfigsServiceClient{cc}
+}
+
+func (c *gameServerConfigsServiceClient) ListGameServerConfigs(ctx context.Context, in *ListGameServerConfigsRequest, opts ...grpc.CallOption) (*ListGameServerConfigsResponse, error) {
+	out := new(ListGameServerConfigsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerConfigsService/ListGameServerConfigs", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerConfigsServiceClient) GetGameServerConfig(ctx context.Context, in *GetGameServerConfigRequest, opts ...grpc.CallOption) (*GameServerConfig, error) {
+	out := new(GameServerConfig)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerConfigsService/GetGameServerConfig", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerConfigsServiceClient) CreateGameServerConfig(ctx context.Context, in *CreateGameServerConfigRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerConfigsService/CreateGameServerConfig", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerConfigsServiceClient) DeleteGameServerConfig(ctx context.Context, in *DeleteGameServerConfigRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerConfigsService/DeleteGameServerConfig", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// GameServerConfigsServiceServer is the server API for GameServerConfigsService service.
+type GameServerConfigsServiceServer interface {
+	// Lists Game Server Configs in a given project, Location, and Game Server
+	// Deployment.
+	ListGameServerConfigs(context.Context, *ListGameServerConfigsRequest) (*ListGameServerConfigsResponse, error)
+	// Gets details of a single Game Server Config.
+	GetGameServerConfig(context.Context, *GetGameServerConfigRequest) (*GameServerConfig, error)
+	// Creates a new Game Server Config in a given project, Location, and Game
+	// Server Deployment. Game Server Configs are immutable, and are not applied
+	// until referenced in the Game Server Deployment Rollout resource.
+	CreateGameServerConfig(context.Context, *CreateGameServerConfigRequest) (*longrunning.Operation, error)
+	// Deletes a single Game Server Config. The deletion will fail if the Game
+	// Server Config is referenced in a Game Server Deployment Rollout.
+	DeleteGameServerConfig(context.Context, *DeleteGameServerConfigRequest) (*longrunning.Operation, error)
+}
+
+// UnimplementedGameServerConfigsServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedGameServerConfigsServiceServer struct {
+}
+
+func (*UnimplementedGameServerConfigsServiceServer) ListGameServerConfigs(ctx context.Context, req *ListGameServerConfigsRequest) (*ListGameServerConfigsResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListGameServerConfigs not implemented")
+}
+func (*UnimplementedGameServerConfigsServiceServer) GetGameServerConfig(ctx context.Context, req *GetGameServerConfigRequest) (*GameServerConfig, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetGameServerConfig not implemented")
+}
+func (*UnimplementedGameServerConfigsServiceServer) CreateGameServerConfig(ctx context.Context, req *CreateGameServerConfigRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CreateGameServerConfig not implemented")
+}
+func (*UnimplementedGameServerConfigsServiceServer) DeleteGameServerConfig(ctx context.Context, req *DeleteGameServerConfigRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DeleteGameServerConfig not implemented")
+}
+
+func RegisterGameServerConfigsServiceServer(s *grpc.Server, srv GameServerConfigsServiceServer) {
+	s.RegisterService(&_GameServerConfigsService_serviceDesc, srv)
+}
+
+func _GameServerConfigsService_ListGameServerConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListGameServerConfigsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerConfigsServiceServer).ListGameServerConfigs(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerConfigsService/ListGameServerConfigs",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerConfigsServiceServer).ListGameServerConfigs(ctx, req.(*ListGameServerConfigsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerConfigsService_GetGameServerConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetGameServerConfigRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerConfigsServiceServer).GetGameServerConfig(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerConfigsService/GetGameServerConfig",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerConfigsServiceServer).GetGameServerConfig(ctx, req.(*GetGameServerConfigRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerConfigsService_CreateGameServerConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateGameServerConfigRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerConfigsServiceServer).CreateGameServerConfig(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerConfigsService/CreateGameServerConfig",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerConfigsServiceServer).CreateGameServerConfig(ctx, req.(*CreateGameServerConfigRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerConfigsService_DeleteGameServerConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteGameServerConfigRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerConfigsServiceServer).DeleteGameServerConfig(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerConfigsService/DeleteGameServerConfig",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerConfigsServiceServer).DeleteGameServerConfig(ctx, req.(*DeleteGameServerConfigRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _GameServerConfigsService_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.gaming.v1beta.GameServerConfigsService",
+	HandlerType: (*GameServerConfigsServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "ListGameServerConfigs",
+			Handler:    _GameServerConfigsService_ListGameServerConfigs_Handler,
+		},
+		{
+			MethodName: "GetGameServerConfig",
+			Handler:    _GameServerConfigsService_GetGameServerConfig_Handler,
+		},
+		{
+			MethodName: "CreateGameServerConfig",
+			Handler:    _GameServerConfigsService_CreateGameServerConfig_Handler,
+		},
+		{
+			MethodName: "DeleteGameServerConfig",
+			Handler:    _GameServerConfigsService_DeleteGameServerConfig_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "google/cloud/gaming/v1beta/game_server_configs_service.proto",
+}
diff --git a/googleapis/cloud/gaming/v1beta/game_server_deployments.pb.go b/googleapis/cloud/gaming/v1beta/game_server_deployments.pb.go
new file mode 100644
index 0000000..be7d46d
--- /dev/null
+++ b/googleapis/cloud/gaming/v1beta/game_server_deployments.pb.go
@@ -0,0 +1,1144 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/gaming/v1beta/game_server_deployments.proto
+
+package gaming
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	field_mask "google.golang.org/genproto/protobuf/field_mask"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Request message for GameServerDeploymentsService.ListGameServerDeployments.
+type ListGameServerDeploymentsRequest struct {
+	// Required. The parent resource name. Uses the form:
+	// `projects/{project}/locations/{location}`.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// 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.v1beta.ListGameServerDeploymentsResponse.next_page_token] to
+	// determine if there are more GameServerDeployments left to be queried.
+	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	// Optional. The next_page_token value returned from a previous List request,
+	// if any.
+	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// Optional. The filter to apply to list results.
+	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
+	// Optional. Specifies the ordering of results following syntax at
+	// https://cloud.google.com/apis/design/design_patterns#sorting_order.
+	OrderBy              string   `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListGameServerDeploymentsRequest) Reset()         { *m = ListGameServerDeploymentsRequest{} }
+func (m *ListGameServerDeploymentsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListGameServerDeploymentsRequest) ProtoMessage()    {}
+func (*ListGameServerDeploymentsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{0}
+}
+
+func (m *ListGameServerDeploymentsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListGameServerDeploymentsRequest.Unmarshal(m, b)
+}
+func (m *ListGameServerDeploymentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListGameServerDeploymentsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListGameServerDeploymentsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListGameServerDeploymentsRequest.Merge(m, src)
+}
+func (m *ListGameServerDeploymentsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListGameServerDeploymentsRequest.Size(m)
+}
+func (m *ListGameServerDeploymentsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListGameServerDeploymentsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListGameServerDeploymentsRequest proto.InternalMessageInfo
+
+func (m *ListGameServerDeploymentsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListGameServerDeploymentsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListGameServerDeploymentsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListGameServerDeploymentsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListGameServerDeploymentsRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
+// Response message for GameServerDeploymentsService.ListGameServerDeployments.
+type ListGameServerDeploymentsResponse struct {
+	// The list of Game Server Delpoyments.
+	GameServerDeployments []*GameServerDeployment `protobuf:"bytes,1,rep,name=game_server_deployments,json=gameServerDeployments,proto3" json:"game_server_deployments,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no more
+	// results in the list.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	// List of Locations that could not be reached.
+	Unreachable          []string `protobuf:"bytes,4,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListGameServerDeploymentsResponse) Reset()         { *m = ListGameServerDeploymentsResponse{} }
+func (m *ListGameServerDeploymentsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListGameServerDeploymentsResponse) ProtoMessage()    {}
+func (*ListGameServerDeploymentsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{1}
+}
+
+func (m *ListGameServerDeploymentsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListGameServerDeploymentsResponse.Unmarshal(m, b)
+}
+func (m *ListGameServerDeploymentsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListGameServerDeploymentsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListGameServerDeploymentsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListGameServerDeploymentsResponse.Merge(m, src)
+}
+func (m *ListGameServerDeploymentsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListGameServerDeploymentsResponse.Size(m)
+}
+func (m *ListGameServerDeploymentsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListGameServerDeploymentsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListGameServerDeploymentsResponse proto.InternalMessageInfo
+
+func (m *ListGameServerDeploymentsResponse) GetGameServerDeployments() []*GameServerDeployment {
+	if m != nil {
+		return m.GameServerDeployments
+	}
+	return nil
+}
+
+func (m *ListGameServerDeploymentsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListGameServerDeploymentsResponse) GetUnreachable() []string {
+	if m != nil {
+		return m.Unreachable
+	}
+	return nil
+}
+
+// Request message for GameServerDeploymentsService.GetGameServerDeployment.
+type GetGameServerDeploymentRequest struct {
+	// Required. The name of the Game Server Deployment to retrieve. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetGameServerDeploymentRequest) Reset()         { *m = GetGameServerDeploymentRequest{} }
+func (m *GetGameServerDeploymentRequest) String() string { return proto.CompactTextString(m) }
+func (*GetGameServerDeploymentRequest) ProtoMessage()    {}
+func (*GetGameServerDeploymentRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{2}
+}
+
+func (m *GetGameServerDeploymentRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetGameServerDeploymentRequest.Unmarshal(m, b)
+}
+func (m *GetGameServerDeploymentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetGameServerDeploymentRequest.Marshal(b, m, deterministic)
+}
+func (m *GetGameServerDeploymentRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetGameServerDeploymentRequest.Merge(m, src)
+}
+func (m *GetGameServerDeploymentRequest) XXX_Size() int {
+	return xxx_messageInfo_GetGameServerDeploymentRequest.Size(m)
+}
+func (m *GetGameServerDeploymentRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetGameServerDeploymentRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetGameServerDeploymentRequest proto.InternalMessageInfo
+
+func (m *GetGameServerDeploymentRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request message for
+// GameServerDeploymentsService.GetGameServerDeploymentRollout.
+type GetGameServerDeploymentRolloutRequest struct {
+	// Required. The name of the Game Server Deployment to retrieve. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetGameServerDeploymentRolloutRequest) Reset()         { *m = GetGameServerDeploymentRolloutRequest{} }
+func (m *GetGameServerDeploymentRolloutRequest) String() string { return proto.CompactTextString(m) }
+func (*GetGameServerDeploymentRolloutRequest) ProtoMessage()    {}
+func (*GetGameServerDeploymentRolloutRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{3}
+}
+
+func (m *GetGameServerDeploymentRolloutRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetGameServerDeploymentRolloutRequest.Unmarshal(m, b)
+}
+func (m *GetGameServerDeploymentRolloutRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetGameServerDeploymentRolloutRequest.Marshal(b, m, deterministic)
+}
+func (m *GetGameServerDeploymentRolloutRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetGameServerDeploymentRolloutRequest.Merge(m, src)
+}
+func (m *GetGameServerDeploymentRolloutRequest) XXX_Size() int {
+	return xxx_messageInfo_GetGameServerDeploymentRolloutRequest.Size(m)
+}
+func (m *GetGameServerDeploymentRolloutRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetGameServerDeploymentRolloutRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetGameServerDeploymentRolloutRequest proto.InternalMessageInfo
+
+func (m *GetGameServerDeploymentRolloutRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request message for GameServerDeploymentsService.CreateGameServerDeployment.
+type CreateGameServerDeploymentRequest struct {
+	// Required. The parent resource name. Uses the form:
+	// `projects/{project}/locations/{location}`.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Required. The ID of the Game Server Deployment resource to be created.
+	DeploymentId string `protobuf:"bytes,2,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"`
+	// Required. The Game Server Deployment resource to be created.
+	GameServerDeployment *GameServerDeployment `protobuf:"bytes,3,opt,name=game_server_deployment,json=gameServerDeployment,proto3" json:"game_server_deployment,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *CreateGameServerDeploymentRequest) Reset()         { *m = CreateGameServerDeploymentRequest{} }
+func (m *CreateGameServerDeploymentRequest) String() string { return proto.CompactTextString(m) }
+func (*CreateGameServerDeploymentRequest) ProtoMessage()    {}
+func (*CreateGameServerDeploymentRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{4}
+}
+
+func (m *CreateGameServerDeploymentRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CreateGameServerDeploymentRequest.Unmarshal(m, b)
+}
+func (m *CreateGameServerDeploymentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CreateGameServerDeploymentRequest.Marshal(b, m, deterministic)
+}
+func (m *CreateGameServerDeploymentRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CreateGameServerDeploymentRequest.Merge(m, src)
+}
+func (m *CreateGameServerDeploymentRequest) XXX_Size() int {
+	return xxx_messageInfo_CreateGameServerDeploymentRequest.Size(m)
+}
+func (m *CreateGameServerDeploymentRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CreateGameServerDeploymentRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CreateGameServerDeploymentRequest proto.InternalMessageInfo
+
+func (m *CreateGameServerDeploymentRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateGameServerDeploymentRequest) GetDeploymentId() string {
+	if m != nil {
+		return m.DeploymentId
+	}
+	return ""
+}
+
+func (m *CreateGameServerDeploymentRequest) GetGameServerDeployment() *GameServerDeployment {
+	if m != nil {
+		return m.GameServerDeployment
+	}
+	return nil
+}
+
+// Request message for GameServerDeploymentsService.DeleteGameServerDeployment.
+type DeleteGameServerDeploymentRequest struct {
+	// Required. The name of the Game Server Deployment to delete. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *DeleteGameServerDeploymentRequest) Reset()         { *m = DeleteGameServerDeploymentRequest{} }
+func (m *DeleteGameServerDeploymentRequest) String() string { return proto.CompactTextString(m) }
+func (*DeleteGameServerDeploymentRequest) ProtoMessage()    {}
+func (*DeleteGameServerDeploymentRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{5}
+}
+
+func (m *DeleteGameServerDeploymentRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeleteGameServerDeploymentRequest.Unmarshal(m, b)
+}
+func (m *DeleteGameServerDeploymentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeleteGameServerDeploymentRequest.Marshal(b, m, deterministic)
+}
+func (m *DeleteGameServerDeploymentRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeleteGameServerDeploymentRequest.Merge(m, src)
+}
+func (m *DeleteGameServerDeploymentRequest) XXX_Size() int {
+	return xxx_messageInfo_DeleteGameServerDeploymentRequest.Size(m)
+}
+func (m *DeleteGameServerDeploymentRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeleteGameServerDeploymentRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeleteGameServerDeploymentRequest proto.InternalMessageInfo
+
+func (m *DeleteGameServerDeploymentRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request message for GameServerDeploymentsService.UpdateGameServerDeployment.
+// Only allows updates for labels.
+type UpdateGameServerDeploymentRequest struct {
+	// Required. The Game Server Deployment to be updated.
+	// Only fields specified in update_mask are updated.
+	GameServerDeployment *GameServerDeployment `protobuf:"bytes,1,opt,name=game_server_deployment,json=gameServerDeployment,proto3" json:"game_server_deployment,omitempty"`
+	// Required. Mask of fields to update. At least one path must be supplied in
+	// this field. For the `FieldMask` definition, see
+	//
+	// https:
+	// //developers.google.com/protocol-buffers
+	// // /docs/reference/google.protobuf#fieldmask
+	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *UpdateGameServerDeploymentRequest) Reset()         { *m = UpdateGameServerDeploymentRequest{} }
+func (m *UpdateGameServerDeploymentRequest) String() string { return proto.CompactTextString(m) }
+func (*UpdateGameServerDeploymentRequest) ProtoMessage()    {}
+func (*UpdateGameServerDeploymentRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{6}
+}
+
+func (m *UpdateGameServerDeploymentRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UpdateGameServerDeploymentRequest.Unmarshal(m, b)
+}
+func (m *UpdateGameServerDeploymentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UpdateGameServerDeploymentRequest.Marshal(b, m, deterministic)
+}
+func (m *UpdateGameServerDeploymentRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UpdateGameServerDeploymentRequest.Merge(m, src)
+}
+func (m *UpdateGameServerDeploymentRequest) XXX_Size() int {
+	return xxx_messageInfo_UpdateGameServerDeploymentRequest.Size(m)
+}
+func (m *UpdateGameServerDeploymentRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UpdateGameServerDeploymentRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UpdateGameServerDeploymentRequest proto.InternalMessageInfo
+
+func (m *UpdateGameServerDeploymentRequest) GetGameServerDeployment() *GameServerDeployment {
+	if m != nil {
+		return m.GameServerDeployment
+	}
+	return nil
+}
+
+func (m *UpdateGameServerDeploymentRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+// Request message for
+// GameServerDeploymentsService.UpdateGameServerRolloutDeployment.
+type UpdateGameServerDeploymentRolloutRequest struct {
+	// Required. The Game Server Deployment Rollout to be updated.
+	// Only fields specified in update_mask are updated.
+	Rollout *GameServerDeploymentRollout `protobuf:"bytes,1,opt,name=rollout,proto3" json:"rollout,omitempty"`
+	// Required. Mask of fields to update. At least one path must be supplied in
+	// this field. For the `FieldMask` definition, see
+	//
+	// https:
+	// //developers.google.com/protocol-buffers
+	// // /docs/reference/google.protobuf#fieldmask
+	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *UpdateGameServerDeploymentRolloutRequest) Reset() {
+	*m = UpdateGameServerDeploymentRolloutRequest{}
+}
+func (m *UpdateGameServerDeploymentRolloutRequest) String() string { return proto.CompactTextString(m) }
+func (*UpdateGameServerDeploymentRolloutRequest) ProtoMessage()    {}
+func (*UpdateGameServerDeploymentRolloutRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{7}
+}
+
+func (m *UpdateGameServerDeploymentRolloutRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UpdateGameServerDeploymentRolloutRequest.Unmarshal(m, b)
+}
+func (m *UpdateGameServerDeploymentRolloutRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UpdateGameServerDeploymentRolloutRequest.Marshal(b, m, deterministic)
+}
+func (m *UpdateGameServerDeploymentRolloutRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UpdateGameServerDeploymentRolloutRequest.Merge(m, src)
+}
+func (m *UpdateGameServerDeploymentRolloutRequest) XXX_Size() int {
+	return xxx_messageInfo_UpdateGameServerDeploymentRolloutRequest.Size(m)
+}
+func (m *UpdateGameServerDeploymentRolloutRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UpdateGameServerDeploymentRolloutRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UpdateGameServerDeploymentRolloutRequest proto.InternalMessageInfo
+
+func (m *UpdateGameServerDeploymentRolloutRequest) GetRollout() *GameServerDeploymentRollout {
+	if m != nil {
+		return m.Rollout
+	}
+	return nil
+}
+
+func (m *UpdateGameServerDeploymentRolloutRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+// Request message for GameServerDeploymentsService.FetchDeploymentState.
+type FetchDeploymentStateRequest struct {
+	// Required. The name of the Game Server Deployment. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *FetchDeploymentStateRequest) Reset()         { *m = FetchDeploymentStateRequest{} }
+func (m *FetchDeploymentStateRequest) String() string { return proto.CompactTextString(m) }
+func (*FetchDeploymentStateRequest) ProtoMessage()    {}
+func (*FetchDeploymentStateRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{8}
+}
+
+func (m *FetchDeploymentStateRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_FetchDeploymentStateRequest.Unmarshal(m, b)
+}
+func (m *FetchDeploymentStateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_FetchDeploymentStateRequest.Marshal(b, m, deterministic)
+}
+func (m *FetchDeploymentStateRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_FetchDeploymentStateRequest.Merge(m, src)
+}
+func (m *FetchDeploymentStateRequest) XXX_Size() int {
+	return xxx_messageInfo_FetchDeploymentStateRequest.Size(m)
+}
+func (m *FetchDeploymentStateRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_FetchDeploymentStateRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FetchDeploymentStateRequest proto.InternalMessageInfo
+
+func (m *FetchDeploymentStateRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Response message for GameServerDeploymentsService.FetchDeploymentState.
+type FetchDeploymentStateResponse struct {
+	// The state of the Game Server Deployment in each Game Server Cluster.
+	ClusterState []*FetchDeploymentStateResponse_DeployedClusterState `protobuf:"bytes,1,rep,name=cluster_state,json=clusterState,proto3" json:"cluster_state,omitempty"`
+	// List of Locations that could not be reached.
+	Unavailable          []string `protobuf:"bytes,2,rep,name=unavailable,proto3" json:"unavailable,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *FetchDeploymentStateResponse) Reset()         { *m = FetchDeploymentStateResponse{} }
+func (m *FetchDeploymentStateResponse) String() string { return proto.CompactTextString(m) }
+func (*FetchDeploymentStateResponse) ProtoMessage()    {}
+func (*FetchDeploymentStateResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{9}
+}
+
+func (m *FetchDeploymentStateResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_FetchDeploymentStateResponse.Unmarshal(m, b)
+}
+func (m *FetchDeploymentStateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_FetchDeploymentStateResponse.Marshal(b, m, deterministic)
+}
+func (m *FetchDeploymentStateResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_FetchDeploymentStateResponse.Merge(m, src)
+}
+func (m *FetchDeploymentStateResponse) XXX_Size() int {
+	return xxx_messageInfo_FetchDeploymentStateResponse.Size(m)
+}
+func (m *FetchDeploymentStateResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_FetchDeploymentStateResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FetchDeploymentStateResponse proto.InternalMessageInfo
+
+func (m *FetchDeploymentStateResponse) GetClusterState() []*FetchDeploymentStateResponse_DeployedClusterState {
+	if m != nil {
+		return m.ClusterState
+	}
+	return nil
+}
+
+func (m *FetchDeploymentStateResponse) GetUnavailable() []string {
+	if m != nil {
+		return m.Unavailable
+	}
+	return nil
+}
+
+// The Game Server Cluster changes made by the Game Server Deployment.
+type FetchDeploymentStateResponse_DeployedClusterState struct {
+	// The name of the cluster.
+	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
+	// The details about the Agones fleets and autoscalers created in the
+	// Game Server Cluster.
+	FleetDetails         []*DeployedFleetDetails `protobuf:"bytes,2,rep,name=fleet_details,json=fleetDetails,proto3" json:"fleet_details,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
+	XXX_unrecognized     []byte                  `json:"-"`
+	XXX_sizecache        int32                   `json:"-"`
+}
+
+func (m *FetchDeploymentStateResponse_DeployedClusterState) Reset() {
+	*m = FetchDeploymentStateResponse_DeployedClusterState{}
+}
+func (m *FetchDeploymentStateResponse_DeployedClusterState) String() string {
+	return proto.CompactTextString(m)
+}
+func (*FetchDeploymentStateResponse_DeployedClusterState) ProtoMessage() {}
+func (*FetchDeploymentStateResponse_DeployedClusterState) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{9, 0}
+}
+
+func (m *FetchDeploymentStateResponse_DeployedClusterState) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_FetchDeploymentStateResponse_DeployedClusterState.Unmarshal(m, b)
+}
+func (m *FetchDeploymentStateResponse_DeployedClusterState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_FetchDeploymentStateResponse_DeployedClusterState.Marshal(b, m, deterministic)
+}
+func (m *FetchDeploymentStateResponse_DeployedClusterState) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_FetchDeploymentStateResponse_DeployedClusterState.Merge(m, src)
+}
+func (m *FetchDeploymentStateResponse_DeployedClusterState) XXX_Size() int {
+	return xxx_messageInfo_FetchDeploymentStateResponse_DeployedClusterState.Size(m)
+}
+func (m *FetchDeploymentStateResponse_DeployedClusterState) XXX_DiscardUnknown() {
+	xxx_messageInfo_FetchDeploymentStateResponse_DeployedClusterState.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_FetchDeploymentStateResponse_DeployedClusterState proto.InternalMessageInfo
+
+func (m *FetchDeploymentStateResponse_DeployedClusterState) GetCluster() string {
+	if m != nil {
+		return m.Cluster
+	}
+	return ""
+}
+
+func (m *FetchDeploymentStateResponse_DeployedClusterState) GetFleetDetails() []*DeployedFleetDetails {
+	if m != nil {
+		return m.FleetDetails
+	}
+	return nil
+}
+
+// A Game Server Deployment resource.
+type GameServerDeployment struct {
+	// The resource name of the Game Server Deployment. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.
+	// For example,
+	//
+	// `projects/my-project/locations/{location}/gameServerDeployments/my-deployment`.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Output only. The creation time.
+	CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+	// Output only. The last-modified time.
+	UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+	// The labels associated with this Game Server Deployment. Each label is a
+	// key-value pair.
+	Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// ETag of the resource.
+	Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"`
+	// Human readable description of the Game Server Deployment.
+	Description          string   `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GameServerDeployment) Reset()         { *m = GameServerDeployment{} }
+func (m *GameServerDeployment) String() string { return proto.CompactTextString(m) }
+func (*GameServerDeployment) ProtoMessage()    {}
+func (*GameServerDeployment) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{10}
+}
+
+func (m *GameServerDeployment) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GameServerDeployment.Unmarshal(m, b)
+}
+func (m *GameServerDeployment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GameServerDeployment.Marshal(b, m, deterministic)
+}
+func (m *GameServerDeployment) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GameServerDeployment.Merge(m, src)
+}
+func (m *GameServerDeployment) XXX_Size() int {
+	return xxx_messageInfo_GameServerDeployment.Size(m)
+}
+func (m *GameServerDeployment) XXX_DiscardUnknown() {
+	xxx_messageInfo_GameServerDeployment.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GameServerDeployment proto.InternalMessageInfo
+
+func (m *GameServerDeployment) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *GameServerDeployment) GetCreateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *GameServerDeployment) GetUpdateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.UpdateTime
+	}
+	return nil
+}
+
+func (m *GameServerDeployment) GetLabels() map[string]string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
+func (m *GameServerDeployment) GetEtag() string {
+	if m != nil {
+		return m.Etag
+	}
+	return ""
+}
+
+func (m *GameServerDeployment) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+// A Game Server Config override.
+type GameServerConfigOverride struct {
+	// Selector chooses the Game Server Config targets.
+	//
+	// Types that are valid to be assigned to Selector:
+	//	*GameServerConfigOverride_RealmsSelector
+	Selector isGameServerConfigOverride_Selector `protobuf_oneof:"selector"`
+	// Selects the Game Server Config and how it should be applied.
+	//
+	// Types that are valid to be assigned to Change:
+	//	*GameServerConfigOverride_ConfigVersion
+	Change               isGameServerConfigOverride_Change `protobuf_oneof:"change"`
+	XXX_NoUnkeyedLiteral struct{}                          `json:"-"`
+	XXX_unrecognized     []byte                            `json:"-"`
+	XXX_sizecache        int32                             `json:"-"`
+}
+
+func (m *GameServerConfigOverride) Reset()         { *m = GameServerConfigOverride{} }
+func (m *GameServerConfigOverride) String() string { return proto.CompactTextString(m) }
+func (*GameServerConfigOverride) ProtoMessage()    {}
+func (*GameServerConfigOverride) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{11}
+}
+
+func (m *GameServerConfigOverride) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GameServerConfigOverride.Unmarshal(m, b)
+}
+func (m *GameServerConfigOverride) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GameServerConfigOverride.Marshal(b, m, deterministic)
+}
+func (m *GameServerConfigOverride) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GameServerConfigOverride.Merge(m, src)
+}
+func (m *GameServerConfigOverride) XXX_Size() int {
+	return xxx_messageInfo_GameServerConfigOverride.Size(m)
+}
+func (m *GameServerConfigOverride) XXX_DiscardUnknown() {
+	xxx_messageInfo_GameServerConfigOverride.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GameServerConfigOverride proto.InternalMessageInfo
+
+type isGameServerConfigOverride_Selector interface {
+	isGameServerConfigOverride_Selector()
+}
+
+type GameServerConfigOverride_RealmsSelector struct {
+	RealmsSelector *RealmSelector `protobuf:"bytes,1,opt,name=realms_selector,json=realmsSelector,proto3,oneof"`
+}
+
+func (*GameServerConfigOverride_RealmsSelector) isGameServerConfigOverride_Selector() {}
+
+func (m *GameServerConfigOverride) GetSelector() isGameServerConfigOverride_Selector {
+	if m != nil {
+		return m.Selector
+	}
+	return nil
+}
+
+func (m *GameServerConfigOverride) GetRealmsSelector() *RealmSelector {
+	if x, ok := m.GetSelector().(*GameServerConfigOverride_RealmsSelector); ok {
+		return x.RealmsSelector
+	}
+	return nil
+}
+
+type isGameServerConfigOverride_Change interface {
+	isGameServerConfigOverride_Change()
+}
+
+type GameServerConfigOverride_ConfigVersion struct {
+	ConfigVersion string `protobuf:"bytes,100,opt,name=config_version,json=configVersion,proto3,oneof"`
+}
+
+func (*GameServerConfigOverride_ConfigVersion) isGameServerConfigOverride_Change() {}
+
+func (m *GameServerConfigOverride) GetChange() isGameServerConfigOverride_Change {
+	if m != nil {
+		return m.Change
+	}
+	return nil
+}
+
+func (m *GameServerConfigOverride) GetConfigVersion() string {
+	if x, ok := m.GetChange().(*GameServerConfigOverride_ConfigVersion); ok {
+		return x.ConfigVersion
+	}
+	return ""
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*GameServerConfigOverride) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*GameServerConfigOverride_RealmsSelector)(nil),
+		(*GameServerConfigOverride_ConfigVersion)(nil),
+	}
+}
+
+// The Game Server Deployment Rollout which represents the desired rollout
+// state.
+type GameServerDeploymentRollout struct {
+	// The resource name of the Game Server Deployment Rollout. Uses the form:
+	//
+	// `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.
+	// For example,
+	//
+	// `projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Output only. The creation time.
+	CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+	// Output only. The last-modified time.
+	UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+	// The default Game Server Config is applied to all Realms unless overridden
+	// in the Rollout. For example,
+	//
+	// `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
+	DefaultGameServerConfig string `protobuf:"bytes,4,opt,name=default_game_server_config,json=defaultGameServerConfig,proto3" json:"default_game_server_config,omitempty"`
+	// Contains the Game Server Config Rollout overrides. Overrides are processed
+	// in the order they are listed. Once a match is found for a Realm, the rest
+	// of the list is not processed.
+	GameServerConfigOverrides []*GameServerConfigOverride `protobuf:"bytes,5,rep,name=game_server_config_overrides,json=gameServerConfigOverrides,proto3" json:"game_server_config_overrides,omitempty"`
+	// ETag of the resource.
+	Etag                 string   `protobuf:"bytes,6,opt,name=etag,proto3" json:"etag,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GameServerDeploymentRollout) Reset()         { *m = GameServerDeploymentRollout{} }
+func (m *GameServerDeploymentRollout) String() string { return proto.CompactTextString(m) }
+func (*GameServerDeploymentRollout) ProtoMessage()    {}
+func (*GameServerDeploymentRollout) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{12}
+}
+
+func (m *GameServerDeploymentRollout) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GameServerDeploymentRollout.Unmarshal(m, b)
+}
+func (m *GameServerDeploymentRollout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GameServerDeploymentRollout.Marshal(b, m, deterministic)
+}
+func (m *GameServerDeploymentRollout) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GameServerDeploymentRollout.Merge(m, src)
+}
+func (m *GameServerDeploymentRollout) XXX_Size() int {
+	return xxx_messageInfo_GameServerDeploymentRollout.Size(m)
+}
+func (m *GameServerDeploymentRollout) XXX_DiscardUnknown() {
+	xxx_messageInfo_GameServerDeploymentRollout.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GameServerDeploymentRollout proto.InternalMessageInfo
+
+func (m *GameServerDeploymentRollout) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *GameServerDeploymentRollout) GetCreateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *GameServerDeploymentRollout) GetUpdateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.UpdateTime
+	}
+	return nil
+}
+
+func (m *GameServerDeploymentRollout) GetDefaultGameServerConfig() string {
+	if m != nil {
+		return m.DefaultGameServerConfig
+	}
+	return ""
+}
+
+func (m *GameServerDeploymentRollout) GetGameServerConfigOverrides() []*GameServerConfigOverride {
+	if m != nil {
+		return m.GameServerConfigOverrides
+	}
+	return nil
+}
+
+func (m *GameServerDeploymentRollout) GetEtag() string {
+	if m != nil {
+		return m.Etag
+	}
+	return ""
+}
+
+// Request message for PreviewGameServerDeploymentRollout.
+type PreviewGameServerDeploymentRolloutRequest struct {
+	// Required. The Game Server Deployment Rollout to be updated.
+	// Only fields specified in update_mask are updated.
+	Rollout *GameServerDeploymentRollout `protobuf:"bytes,1,opt,name=rollout,proto3" json:"rollout,omitempty"`
+	// Optional. Mask of fields to update. At least one path must be supplied in
+	// this field. For the `FieldMask` definition, see
+	//
+	// https:
+	// //developers.google.com/protocol-buffers
+	// // /docs/reference/google.protobuf#fieldmask
+	UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	// Optional. The target timestamp to compute the preview. Defaults to the immediately
+	// after the proposed Rollout completes.
+	PreviewTime          *timestamp.Timestamp `protobuf:"bytes,3,opt,name=preview_time,json=previewTime,proto3" json:"preview_time,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *PreviewGameServerDeploymentRolloutRequest) Reset() {
+	*m = PreviewGameServerDeploymentRolloutRequest{}
+}
+func (m *PreviewGameServerDeploymentRolloutRequest) String() string { return proto.CompactTextString(m) }
+func (*PreviewGameServerDeploymentRolloutRequest) ProtoMessage()    {}
+func (*PreviewGameServerDeploymentRolloutRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{13}
+}
+
+func (m *PreviewGameServerDeploymentRolloutRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PreviewGameServerDeploymentRolloutRequest.Unmarshal(m, b)
+}
+func (m *PreviewGameServerDeploymentRolloutRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PreviewGameServerDeploymentRolloutRequest.Marshal(b, m, deterministic)
+}
+func (m *PreviewGameServerDeploymentRolloutRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PreviewGameServerDeploymentRolloutRequest.Merge(m, src)
+}
+func (m *PreviewGameServerDeploymentRolloutRequest) XXX_Size() int {
+	return xxx_messageInfo_PreviewGameServerDeploymentRolloutRequest.Size(m)
+}
+func (m *PreviewGameServerDeploymentRolloutRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_PreviewGameServerDeploymentRolloutRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PreviewGameServerDeploymentRolloutRequest proto.InternalMessageInfo
+
+func (m *PreviewGameServerDeploymentRolloutRequest) GetRollout() *GameServerDeploymentRollout {
+	if m != nil {
+		return m.Rollout
+	}
+	return nil
+}
+
+func (m *PreviewGameServerDeploymentRolloutRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+func (m *PreviewGameServerDeploymentRolloutRequest) GetPreviewTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.PreviewTime
+	}
+	return nil
+}
+
+// Response message for PreviewGameServerDeploymentRollout.
+// This has details about the Agones fleet and autoscaler to be actuated.
+type PreviewGameServerDeploymentRolloutResponse struct {
+	// Locations that could not be reached on this request.
+	Unavailable []string `protobuf:"bytes,2,rep,name=unavailable,proto3" json:"unavailable,omitempty"`
+	// ETag of the Game Server Deployment.
+	Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"`
+	// The target state.
+	TargetState          *TargetState `protobuf:"bytes,4,opt,name=target_state,json=targetState,proto3" json:"target_state,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
+	XXX_unrecognized     []byte       `json:"-"`
+	XXX_sizecache        int32        `json:"-"`
+}
+
+func (m *PreviewGameServerDeploymentRolloutResponse) Reset() {
+	*m = PreviewGameServerDeploymentRolloutResponse{}
+}
+func (m *PreviewGameServerDeploymentRolloutResponse) String() string {
+	return proto.CompactTextString(m)
+}
+func (*PreviewGameServerDeploymentRolloutResponse) ProtoMessage() {}
+func (*PreviewGameServerDeploymentRolloutResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7a002952c0fe6cad, []int{14}
+}
+
+func (m *PreviewGameServerDeploymentRolloutResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PreviewGameServerDeploymentRolloutResponse.Unmarshal(m, b)
+}
+func (m *PreviewGameServerDeploymentRolloutResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PreviewGameServerDeploymentRolloutResponse.Marshal(b, m, deterministic)
+}
+func (m *PreviewGameServerDeploymentRolloutResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PreviewGameServerDeploymentRolloutResponse.Merge(m, src)
+}
+func (m *PreviewGameServerDeploymentRolloutResponse) XXX_Size() int {
+	return xxx_messageInfo_PreviewGameServerDeploymentRolloutResponse.Size(m)
+}
+func (m *PreviewGameServerDeploymentRolloutResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_PreviewGameServerDeploymentRolloutResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PreviewGameServerDeploymentRolloutResponse proto.InternalMessageInfo
+
+func (m *PreviewGameServerDeploymentRolloutResponse) GetUnavailable() []string {
+	if m != nil {
+		return m.Unavailable
+	}
+	return nil
+}
+
+func (m *PreviewGameServerDeploymentRolloutResponse) GetEtag() string {
+	if m != nil {
+		return m.Etag
+	}
+	return ""
+}
+
+func (m *PreviewGameServerDeploymentRolloutResponse) GetTargetState() *TargetState {
+	if m != nil {
+		return m.TargetState
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*ListGameServerDeploymentsRequest)(nil), "google.cloud.gaming.v1beta.ListGameServerDeploymentsRequest")
+	proto.RegisterType((*ListGameServerDeploymentsResponse)(nil), "google.cloud.gaming.v1beta.ListGameServerDeploymentsResponse")
+	proto.RegisterType((*GetGameServerDeploymentRequest)(nil), "google.cloud.gaming.v1beta.GetGameServerDeploymentRequest")
+	proto.RegisterType((*GetGameServerDeploymentRolloutRequest)(nil), "google.cloud.gaming.v1beta.GetGameServerDeploymentRolloutRequest")
+	proto.RegisterType((*CreateGameServerDeploymentRequest)(nil), "google.cloud.gaming.v1beta.CreateGameServerDeploymentRequest")
+	proto.RegisterType((*DeleteGameServerDeploymentRequest)(nil), "google.cloud.gaming.v1beta.DeleteGameServerDeploymentRequest")
+	proto.RegisterType((*UpdateGameServerDeploymentRequest)(nil), "google.cloud.gaming.v1beta.UpdateGameServerDeploymentRequest")
+	proto.RegisterType((*UpdateGameServerDeploymentRolloutRequest)(nil), "google.cloud.gaming.v1beta.UpdateGameServerDeploymentRolloutRequest")
+	proto.RegisterType((*FetchDeploymentStateRequest)(nil), "google.cloud.gaming.v1beta.FetchDeploymentStateRequest")
+	proto.RegisterType((*FetchDeploymentStateResponse)(nil), "google.cloud.gaming.v1beta.FetchDeploymentStateResponse")
+	proto.RegisterType((*FetchDeploymentStateResponse_DeployedClusterState)(nil), "google.cloud.gaming.v1beta.FetchDeploymentStateResponse.DeployedClusterState")
+	proto.RegisterType((*GameServerDeployment)(nil), "google.cloud.gaming.v1beta.GameServerDeployment")
+	proto.RegisterMapType((map[string]string)(nil), "google.cloud.gaming.v1beta.GameServerDeployment.LabelsEntry")
+	proto.RegisterType((*GameServerConfigOverride)(nil), "google.cloud.gaming.v1beta.GameServerConfigOverride")
+	proto.RegisterType((*GameServerDeploymentRollout)(nil), "google.cloud.gaming.v1beta.GameServerDeploymentRollout")
+	proto.RegisterType((*PreviewGameServerDeploymentRolloutRequest)(nil), "google.cloud.gaming.v1beta.PreviewGameServerDeploymentRolloutRequest")
+	proto.RegisterType((*PreviewGameServerDeploymentRolloutResponse)(nil), "google.cloud.gaming.v1beta.PreviewGameServerDeploymentRolloutResponse")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/gaming/v1beta/game_server_deployments.proto", fileDescriptor_7a002952c0fe6cad)
+}
+
+var fileDescriptor_7a002952c0fe6cad = []byte{
+	// 1171 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x57, 0xcf, 0x6e, 0xdc, 0xd4,
+	0x17, 0xfe, 0x79, 0x26, 0x7f, 0xcf, 0x24, 0xed, 0x4f, 0x56, 0xa0, 0xee, 0xb4, 0x6a, 0x27, 0x96,
+	0xa0, 0x29, 0x0b, 0xbb, 0x04, 0x44, 0x4b, 0xcb, 0xa2, 0x99, 0x96, 0xb6, 0x54, 0xad, 0x88, 0x9c,
+	0xb4, 0x0b, 0x36, 0xd6, 0x1d, 0xfb, 0x8c, 0x63, 0x62, 0xfb, 0xba, 0xd7, 0xd7, 0x03, 0x69, 0x55,
+	0x24, 0x56, 0x08, 0x09, 0x16, 0x7d, 0x11, 0x78, 0x03, 0x56, 0x3c, 0x01, 0x1b, 0xb6, 0x5d, 0xf7,
+	0x05, 0x10, 0xac, 0xd0, 0xfd, 0xe3, 0xda, 0x29, 0x33, 0xd3, 0x0c, 0x0a, 0x12, 0xec, 0x7c, 0xcf,
+	0x3d, 0xdf, 0x39, 0x3e, 0xdf, 0xf9, 0x7c, 0xce, 0x0c, 0x5c, 0x89, 0x28, 0x8d, 0x12, 0x74, 0x83,
+	0x84, 0x96, 0xa1, 0x1b, 0x91, 0x34, 0xce, 0x22, 0x77, 0xf4, 0xee, 0x00, 0x39, 0x11, 0x27, 0xf4,
+	0x0b, 0x64, 0x23, 0x64, 0x7e, 0x88, 0x79, 0x42, 0x0f, 0x52, 0xcc, 0x78, 0xe1, 0xe4, 0x8c, 0x72,
+	0x6a, 0x76, 0x15, 0xd2, 0x91, 0x48, 0x47, 0x21, 0x1d, 0x85, 0xec, 0x9e, 0xd7, 0x51, 0x49, 0x1e,
+	0xbb, 0xc3, 0x18, 0x93, 0xd0, 0x1f, 0xe0, 0x1e, 0x19, 0xc5, 0x94, 0x29, 0x70, 0xf7, 0x74, 0xc3,
+	0x81, 0x61, 0x41, 0x4b, 0x16, 0xa0, 0xbe, 0xba, 0x30, 0xe5, 0x8d, 0x02, 0x9a, 0xa6, 0x34, 0xd3,
+	0x8e, 0x3d, 0xed, 0x28, 0x4f, 0x83, 0x72, 0xa8, 0x33, 0xa5, 0xa4, 0xd8, 0xd7, 0x1e, 0xe7, 0x5f,
+	0xf5, 0xe0, 0x71, 0x8a, 0x05, 0x27, 0x69, 0xae, 0x1d, 0xce, 0x36, 0x5e, 0x83, 0x64, 0x19, 0xe5,
+	0x84, 0xc7, 0x34, 0xd3, 0x15, 0xda, 0xbf, 0x19, 0xd0, 0xbb, 0x17, 0x17, 0xfc, 0x36, 0x49, 0x71,
+	0x47, 0xd2, 0x70, 0xb3, 0x66, 0xc1, 0xc3, 0x47, 0x25, 0x16, 0xdc, 0xdc, 0x86, 0x85, 0x9c, 0x30,
+	0xcc, 0xb8, 0x65, 0xf4, 0x8c, 0x8d, 0xe5, 0xfe, 0x95, 0xe7, 0x5b, 0xad, 0x3f, 0xb6, 0x36, 0xcd,
+	0x4b, 0x82, 0x3d, 0x41, 0x5e, 0x1c, 0x60, 0xe1, 0xa8, 0x3c, 0x24, 0x8f, 0x0b, 0x27, 0xa0, 0xa9,
+	0x3b, 0x2e, 0xa2, 0xa7, 0xe3, 0x98, 0x3d, 0x58, 0xce, 0x49, 0x84, 0x7e, 0x11, 0x3f, 0x46, 0xab,
+	0xd5, 0x33, 0x36, 0xe6, 0xfb, 0xed, 0xe7, 0x5b, 0x86, 0xb7, 0x24, 0xac, 0x3b, 0xf1, 0x63, 0x34,
+	0x6d, 0x00, 0xe9, 0xc1, 0xe9, 0x3e, 0x66, 0x56, 0x5b, 0xe6, 0x95, 0x2e, 0x12, 0xb8, 0x2b, 0xac,
+	0xe6, 0x19, 0x58, 0x18, 0xc6, 0x09, 0x47, 0x66, 0xcd, 0xd5, 0xf7, 0xda, 0x64, 0x9e, 0x83, 0x25,
+	0xca, 0x42, 0x64, 0xfe, 0xe0, 0xc0, 0x9a, 0xaf, 0xaf, 0x17, 0xa5, 0xb1, 0x7f, 0x60, 0xff, 0x6a,
+	0xc0, 0xfa, 0x94, 0xca, 0x8b, 0x9c, 0x66, 0x05, 0x9a, 0x7b, 0x70, 0x6a, 0x82, 0x44, 0x2c, 0xa3,
+	0xd7, 0xde, 0xe8, 0x6c, 0x5e, 0x72, 0x26, 0x6b, 0xc4, 0x19, 0xcb, 0xc1, 0x1b, 0xd1, 0xb8, 0x8c,
+	0xe6, 0xdb, 0x70, 0x32, 0xc3, 0x2f, 0xb9, 0xdf, 0xa8, 0x5a, 0x10, 0xb3, 0xec, 0xad, 0x0a, 0xf3,
+	0xf6, 0xcb, 0xa2, 0x7b, 0xd0, 0x29, 0x33, 0x86, 0x24, 0xd8, 0x23, 0x83, 0x04, 0xad, 0xb9, 0x5e,
+	0x7b, 0x63, 0xd9, 0x6b, 0x9a, 0xec, 0x0c, 0xce, 0xdd, 0xc6, 0xb1, 0x75, 0x55, 0x0d, 0xbd, 0x07,
+	0x73, 0x19, 0x49, 0xf1, 0x70, 0x3b, 0x61, 0xf6, 0x76, 0xca, 0x28, 0x76, 0x09, 0x6f, 0x4d, 0xca,
+	0x47, 0x93, 0x84, 0x96, 0xff, 0x50, 0xda, 0xef, 0x5a, 0xb0, 0x7e, 0x83, 0x21, 0xe1, 0x38, 0xad,
+	0xd4, 0xe3, 0xd7, 0xee, 0x06, 0xac, 0xd6, 0x32, 0xf0, 0xe3, 0x50, 0xb5, 0x49, 0xa8, 0xab, 0xe5,
+	0xad, 0xd4, 0x37, 0x9f, 0x84, 0xe6, 0x3e, 0xbc, 0x39, 0x5e, 0x3c, 0x52, 0xcf, 0x7f, 0x43, 0x3b,
+	0x2a, 0xc9, 0xda, 0x38, 0x01, 0xd9, 0x8f, 0x60, 0xfd, 0x26, 0x26, 0x38, 0x9d, 0x8d, 0xe3, 0xed,
+	0xc0, 0x2f, 0x06, 0xac, 0x3f, 0xc8, 0xc3, 0xd7, 0x74, 0x60, 0x32, 0x0b, 0xc6, 0xb1, 0xb3, 0x60,
+	0x5e, 0x87, 0x4e, 0x29, 0xdf, 0x48, 0xce, 0x48, 0xd9, 0x9a, 0xce, 0x66, 0xb7, 0xca, 0x50, 0x0d,
+	0x49, 0xe7, 0x96, 0x18, 0xa3, 0xf7, 0x49, 0xb1, 0xaf, 0x62, 0x81, 0xc2, 0x08, 0x83, 0xfd, 0xb3,
+	0x01, 0x1b, 0x53, 0x8a, 0x3a, 0xac, 0xe8, 0x87, 0xb0, 0xc8, 0x94, 0x45, 0x17, 0x73, 0x79, 0xe6,
+	0x71, 0xa0, 0xe0, 0xea, 0x3d, 0xaa, 0x60, 0xc7, 0x50, 0xc6, 0x07, 0x70, 0xe6, 0x16, 0xf2, 0x60,
+	0xaf, 0xce, 0xb4, 0xc3, 0x09, 0xc7, 0xea, 0xc5, 0x4f, 0x1d, 0x12, 0x82, 0x44, 0xab, 0x9e, 0xfe,
+	0xd4, 0x82, 0xb3, 0xe3, 0x81, 0x7a, 0x22, 0x32, 0x58, 0x0d, 0x92, 0xb2, 0xe0, 0xc8, 0xfc, 0x42,
+	0x5c, 0xe8, 0x39, 0x78, 0x7f, 0x5a, 0xe1, 0xd3, 0x02, 0x3a, 0xca, 0x8e, 0xe1, 0x0d, 0x15, 0x55,
+	0x5d, 0xae, 0x04, 0x8d, 0x93, 0x9a, 0x79, 0x64, 0x44, 0xe2, 0x44, 0xce, 0xbc, 0x56, 0x35, 0xf3,
+	0x5e, 0x9a, 0xba, 0xdf, 0x18, 0xb0, 0x36, 0x2e, 0x90, 0x69, 0xc1, 0xa2, 0x0e, 0xa5, 0x6a, 0xf5,
+	0xaa, 0xa3, 0xf9, 0x00, 0x56, 0x87, 0x09, 0x22, 0xf7, 0x43, 0xe4, 0x24, 0x4e, 0x0a, 0x19, 0xf6,
+	0x35, 0x72, 0xac, 0x52, 0xdc, 0x12, 0xc0, 0x9b, 0x0a, 0xe7, 0xad, 0x0c, 0x1b, 0x27, 0xfb, 0xf7,
+	0x36, 0xac, 0x8d, 0x6b, 0xb4, 0x69, 0x36, 0x29, 0x57, 0x6c, 0x8b, 0x3e, 0x07, 0x72, 0x84, 0xf9,
+	0x62, 0x6d, 0x4f, 0xec, 0xf3, 0x6e, 0xb5, 0xd3, 0x45, 0xa7, 0xda, 0x1e, 0x28, 0x8c, 0xb0, 0x36,
+	0x94, 0x22, 0x23, 0xb4, 0x8f, 0x18, 0x41, 0x61, 0x64, 0x84, 0x5d, 0x58, 0x48, 0xc8, 0x00, 0x93,
+	0x42, 0xee, 0x92, 0xce, 0xe6, 0x47, 0xb3, 0x4a, 0xd8, 0xb9, 0x27, 0xe1, 0x1f, 0x67, 0x9c, 0x1d,
+	0x78, 0x3a, 0x96, 0xa8, 0x16, 0x39, 0x89, 0xac, 0x45, 0x55, 0xad, 0x78, 0x16, 0x6d, 0x0c, 0xb1,
+	0x08, 0x58, 0x9c, 0x8b, 0x9f, 0x20, 0xd6, 0x92, 0xbc, 0x6a, 0x9a, 0xba, 0x1f, 0x42, 0xa7, 0x11,
+	0xcc, 0xfc, 0x3f, 0xb4, 0xf7, 0xf1, 0x40, 0x33, 0x26, 0x1e, 0xcd, 0x35, 0x98, 0x1f, 0x91, 0xa4,
+	0x44, 0xbd, 0x1b, 0xd5, 0xe1, 0x6a, 0xeb, 0x8a, 0x71, 0xf5, 0x6b, 0xe3, 0xc5, 0xd6, 0x57, 0xb3,
+	0x8f, 0x32, 0xf3, 0x6e, 0xce, 0xe8, 0xe7, 0x18, 0xf0, 0xc2, 0x7d, 0xa2, 0x9f, 0x9e, 0xba, 0x09,
+	0x0d, 0xd4, 0xaf, 0x24, 0xf7, 0x49, 0xf5, 0xf8, 0xd4, 0x1d, 0xbb, 0xb6, 0xdd, 0x27, 0xf5, 0x3c,
+	0x7b, 0x6a, 0xff, 0x68, 0x80, 0x55, 0x27, 0xb9, 0x41, 0xb3, 0x61, 0x1c, 0x7d, 0x3a, 0x42, 0xc6,
+	0xe2, 0x50, 0xf0, 0x7c, 0x92, 0x21, 0x49, 0xd2, 0xc2, 0x2f, 0x30, 0xc1, 0x80, 0x53, 0xa6, 0x67,
+	0xc6, 0xc5, 0x69, 0x84, 0x7b, 0x02, 0xb2, 0xa3, 0x01, 0x77, 0xfe, 0xe7, 0x9d, 0x50, 0x31, 0x2a,
+	0x8b, 0x79, 0x01, 0x4e, 0x04, 0x32, 0x8f, 0x3f, 0x42, 0x56, 0x08, 0x5a, 0x43, 0xc1, 0xcc, 0x1d,
+	0xc3, 0x5b, 0x55, 0xf6, 0x87, 0xca, 0xdc, 0x07, 0x58, 0xaa, 0xf2, 0xf6, 0x97, 0x60, 0x21, 0xd8,
+	0x23, 0x59, 0x84, 0xf6, 0xb3, 0x39, 0x38, 0x33, 0x65, 0x2c, 0xfd, 0x6b, 0x45, 0x7b, 0x0d, 0xba,
+	0x21, 0x0e, 0x49, 0x99, 0x70, 0xbf, 0xb9, 0x5c, 0x54, 0xc9, 0xea, 0xe7, 0xa0, 0x77, 0x4a, 0x7b,
+	0xbc, 0xda, 0x11, 0xb3, 0x84, 0xb3, 0x7f, 0x05, 0xf9, 0x54, 0x37, 0xaa, 0xb0, 0xe6, 0xe5, 0x77,
+	0xf0, 0xfe, 0xd1, 0xbe, 0x83, 0xc3, 0x5d, 0xf6, 0x4e, 0x47, 0x13, 0x6e, 0xea, 0x4f, 0x62, 0xa1,
+	0xfe, 0x24, 0xae, 0x3e, 0x33, 0x5e, 0x6c, 0x7d, 0x6f, 0xc0, 0xe5, 0x99, 0x37, 0xb0, 0xee, 0x8f,
+	0x77, 0x7c, 0xea, 0x75, 0xf5, 0xf2, 0xb1, 0xbf, 0x6d, 0xc1, 0xc5, 0x6d, 0x86, 0xa3, 0x18, 0xbf,
+	0xf8, 0x8f, 0xad, 0x40, 0xa3, 0xb9, 0x02, 0xcd, 0x3e, 0xac, 0xe4, 0xaa, 0x8c, 0x19, 0x64, 0x66,
+	0x78, 0x1d, 0x0d, 0x12, 0x66, 0xfb, 0x07, 0x03, 0xde, 0x39, 0x0a, 0x17, 0x7a, 0x39, 0xbe, 0x76,
+	0x51, 0xbd, 0x14, 0x41, 0xbb, 0x31, 0x17, 0xef, 0xc2, 0x0a, 0x27, 0x2c, 0x42, 0xae, 0x37, 0xea,
+	0x9c, 0x7c, 0xd1, 0x0b, 0xd3, 0x78, 0xdc, 0x95, 0xfe, 0x6a, 0x57, 0x76, 0x78, 0x7d, 0xe8, 0x87,
+	0x70, 0x2e, 0xa0, 0xe9, 0x14, 0xe8, 0xb6, 0xf1, 0xd9, 0x75, 0x7d, 0x1b, 0xd1, 0x84, 0x64, 0x91,
+	0x43, 0x59, 0xe4, 0x46, 0x98, 0x49, 0x3e, 0xdc, 0x5a, 0x7b, 0xe3, 0xfe, 0x9d, 0x5e, 0x53, 0xa7,
+	0xc1, 0x82, 0x74, 0x7e, 0xef, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xbe, 0x9c, 0x98, 0xd2, 0x5b,
+	0x0f, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/gaming/v1beta/game_server_deployments_service.pb.go b/googleapis/cloud/gaming/v1beta/game_server_deployments_service.pb.go
new file mode 100644
index 0000000..a675a4a
--- /dev/null
+++ b/googleapis/cloud/gaming/v1beta/game_server_deployments_service.pb.go
@@ -0,0 +1,482 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/gaming/v1beta/game_server_deployments_service.proto
+
+package gaming
+
+import (
+	context "context"
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	longrunning "google.golang.org/genproto/googleapis/longrunning"
+	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+func init() {
+	proto.RegisterFile("google/cloud/gaming/v1beta/game_server_deployments_service.proto", fileDescriptor_ddfdf81c8b5915df)
+}
+
+var fileDescriptor_ddfdf81c8b5915df = []byte{
+	// 693 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x96, 0x4f, 0x6f, 0xd3, 0x30,
+	0x18, 0xc6, 0x95, 0x0a, 0x0d, 0xc9, 0x37, 0xb2, 0x89, 0x89, 0xb0, 0x4d, 0x22, 0x9c, 0xa8, 0x86,
+	0x0d, 0xe5, 0xc0, 0x54, 0x98, 0x20, 0xb0, 0x3f, 0x97, 0x8d, 0x4d, 0xfb, 0x23, 0x10, 0x12, 0x1a,
+	0x5e, 0xfa, 0x2e, 0x0b, 0x24, 0x76, 0x88, 0xdd, 0x15, 0x84, 0x76, 0xe1, 0x2b, 0x70, 0xe4, 0xc2,
+	0x09, 0x09, 0xf1, 0x2d, 0x40, 0x5c, 0x76, 0x04, 0x71, 0xd9, 0x99, 0xc3, 0xce, 0x88, 0x0f, 0x80,
+	0x1a, 0x3b, 0x6b, 0xa1, 0x4e, 0xb6, 0xb6, 0x1c, 0x6b, 0xfb, 0xf7, 0xda, 0xcf, 0xe3, 0xa7, 0xce,
+	0x8b, 0xee, 0x06, 0x9c, 0x07, 0x11, 0x10, 0x3f, 0xe2, 0xcd, 0x06, 0x09, 0x68, 0x1c, 0xb2, 0x80,
+	0xec, 0x5d, 0xdf, 0x06, 0x49, 0xdb, 0xbf, 0x60, 0x4b, 0x40, 0xba, 0x07, 0xe9, 0x56, 0x03, 0x92,
+	0x88, 0xbf, 0x8a, 0x81, 0x49, 0x91, 0x0d, 0x85, 0x3e, 0xe0, 0x24, 0xe5, 0x92, 0xdb, 0x8e, 0xaa,
+	0x80, 0xb3, 0x0a, 0x58, 0x55, 0xc0, 0xaa, 0x82, 0x33, 0xa1, 0xab, 0xd3, 0x24, 0x24, 0x94, 0x31,
+	0x2e, 0xa9, 0x0c, 0x39, 0x13, 0x8a, 0x74, 0xc6, 0xbb, 0x66, 0xfd, 0x28, 0x04, 0x26, 0xf5, 0xc4,
+	0x4c, 0xff, 0x87, 0xd2, 0xe4, 0x65, 0x4d, 0x46, 0x9c, 0x05, 0x69, 0x93, 0xb1, 0x36, 0xc8, 0x13,
+	0x48, 0xbb, 0xf7, 0xad, 0x7d, 0x19, 0x45, 0x13, 0x8b, 0x34, 0x86, 0xf5, 0xac, 0xca, 0x5c, 0xa7,
+	0xc8, 0xba, 0x12, 0x66, 0x1f, 0x59, 0xe8, 0xc2, 0x52, 0x28, 0xa4, 0x71, 0x91, 0x7d, 0x1b, 0x17,
+	0x2b, 0xc6, 0x85, 0xd8, 0x1a, 0xbc, 0x68, 0x82, 0x90, 0xce, 0xec, 0x80, 0xb4, 0x48, 0x38, 0x13,
+	0xe0, 0x3e, 0x38, 0xf4, 0x46, 0x12, 0x9a, 0x02, 0x93, 0x6f, 0xbe, 0xff, 0x7c, 0x5b, 0xb9, 0x63,
+	0xcf, 0xe6, 0xc6, 0xbc, 0x56, 0xc3, 0xb3, 0x49, 0xca, 0x9f, 0x81, 0x2f, 0x05, 0xa9, 0x92, 0x88,
+	0xfb, 0x4a, 0x38, 0xa9, 0xee, 0x67, 0xc6, 0xf5, 0x8a, 0xf9, 0x61, 0xa1, 0xf1, 0x45, 0x30, 0x6e,
+	0x6a, 0xd7, 0xcb, 0x8e, 0x5a, 0x00, 0xe5, 0x32, 0xaf, 0x95, 0xb2, 0x06, 0xd0, 0x5d, 0x3a, 0xf4,
+	0xce, 0x30, 0x1a, 0x43, 0x8f, 0xae, 0xf6, 0x60, 0x81, 0x2a, 0xb3, 0x28, 0x52, 0xdd, 0xb7, 0x3f,
+	0x54, 0x90, 0x73, 0x3f, 0x05, 0x2a, 0xc1, 0x28, 0xad, 0xf4, 0x16, 0x8a, 0xb9, 0x5c, 0xdd, 0x64,
+	0x8e, 0x77, 0xe5, 0x0c, 0xaf, 0xe4, 0x39, 0x73, 0x3f, 0x5a, 0x07, 0xde, 0x15, 0x34, 0x66, 0xdc,
+	0xf9, 0xdc, 0xf1, 0xb2, 0x65, 0x90, 0xb4, 0x41, 0x25, 0x3d, 0xf4, 0x26, 0xd5, 0xd5, 0x4d, 0x9b,
+	0xb3, 0x9d, 0x19, 0xf2, 0xd0, 0x1d, 0xee, 0xa2, 0xeb, 0xe7, 0xcd, 0xc5, 0xed, 0xdf, 0x16, 0x72,
+	0xe6, 0x20, 0x82, 0x41, 0x8c, 0x2a, 0xe6, 0x4e, 0x69, 0xd4, 0xcb, 0xfe, 0x7c, 0xea, 0xca, 0x47,
+	0x75, 0xc8, 0x7c, 0x7c, 0xae, 0x20, 0x67, 0x33, 0x69, 0x0c, 0x94, 0x8f, 0x62, 0xee, 0x94, 0xb2,
+	0xbf, 0xf6, 0x99, 0x0f, 0xd7, 0x7c, 0x77, 0xd3, 0xcd, 0xec, 0x20, 0x5b, 0x31, 0x15, 0xcf, 0x33,
+	0x57, 0x58, 0x6d, 0xe3, 0xd8, 0x15, 0x33, 0x82, 0x07, 0x31, 0xab, 0x30, 0x3b, 0xbf, 0x2c, 0x34,
+	0x55, 0xf4, 0x0e, 0xf0, 0x28, 0xe2, 0x4d, 0x69, 0x7b, 0x83, 0xbc, 0x21, 0x8a, 0xcd, 0xcd, 0xbc,
+	0xd9, 0xef, 0x53, 0xa2, 0x79, 0x77, 0xa3, 0x3b, 0x31, 0x8b, 0xf6, 0xfc, 0x50, 0x89, 0x21, 0xa9,
+	0x56, 0xf4, 0xa9, 0x82, 0x2e, 0x95, 0x24, 0x40, 0xaf, 0x9a, 0x1b, 0x30, 0x40, 0x7f, 0x4b, 0x3f,
+	0x21, 0x47, 0xef, 0xfb, 0xcc, 0xd1, 0xa8, 0xd6, 0xd0, 0x13, 0x9c, 0x47, 0xb5, 0xe5, 0x63, 0x73,
+	0xf4, 0x1a, 0x3c, 0x8c, 0x49, 0xf5, 0xb3, 0xb9, 0x5b, 0xef, 0x2a, 0xc8, 0x5d, 0x4d, 0x61, 0x2f,
+	0x84, 0x56, 0x99, 0x5d, 0xf3, 0x65, 0x76, 0x9d, 0xcc, 0xe7, 0x7e, 0x2d, 0x0c, 0x5b, 0x46, 0x7f,
+	0x65, 0x77, 0x32, 0x57, 0x9e, 0xd6, 0x36, 0xff, 0xaf, 0x2b, 0x89, 0x3a, 0x41, 0xc7, 0x9d, 0x23,
+	0x0b, 0x8d, 0x2d, 0x80, 0xf4, 0x77, 0x3b, 0xc0, 0xba, 0xa4, 0x12, 0xec, 0xd2, 0xcc, 0x9b, 0x88,
+	0xdc, 0x81, 0x99, 0xfe, 0x41, 0xad, 0xf9, 0x89, 0xfe, 0xce, 0xac, 0x0d, 0xf5, 0x37, 0xa9, 0xef,
+	0x18, 0xf6, 0xa8, 0x5b, 0x55, 0x67, 0xe5, 0xc0, 0xbb, 0xd8, 0x86, 0x74, 0xf3, 0x28, 0xf4, 0x39,
+	0x69, 0x12, 0x0a, 0xec, 0xf3, 0xf8, 0x9b, 0x87, 0x77, 0xa5, 0x4c, 0x44, 0x9d, 0x90, 0x56, 0xab,
+	0xf5, 0xcf, 0x24, 0xa1, 0x4d, 0xb9, 0xab, 0xba, 0xc1, 0xab, 0x49, 0x44, 0xe5, 0x0e, 0x4f, 0xe3,
+	0x7b, 0x0d, 0x34, 0xe5, 0xf3, 0xb8, 0x44, 0xee, 0xaa, 0xf5, 0x58, 0x77, 0xb7, 0x38, 0xe0, 0x11,
+	0x65, 0x01, 0xe6, 0x69, 0x40, 0x02, 0x60, 0x59, 0x17, 0x48, 0x3a, 0x5b, 0x98, 0xfa, 0xcc, 0x5b,
+	0xea, 0xd7, 0xf6, 0x48, 0xb6, 0xf8, 0xc6, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x54, 0x67,
+	0xfc, 0x28, 0x0b, 0x00, 0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// GameServerDeploymentsServiceClient is the client API for GameServerDeploymentsService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type GameServerDeploymentsServiceClient interface {
+	// Lists Game Server Deployments in a given project and Location.
+	ListGameServerDeployments(ctx context.Context, in *ListGameServerDeploymentsRequest, opts ...grpc.CallOption) (*ListGameServerDeploymentsResponse, error)
+	// Gets details of a single Game Server Deployment.
+	GetGameServerDeployment(ctx context.Context, in *GetGameServerDeploymentRequest, opts ...grpc.CallOption) (*GameServerDeployment, error)
+	// Creates a new Game Server Deployment in a given project and Location.
+	CreateGameServerDeployment(ctx context.Context, in *CreateGameServerDeploymentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Deletes a single Game Server Deployment.
+	DeleteGameServerDeployment(ctx context.Context, in *DeleteGameServerDeploymentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Patches a Game Server Deployment.
+	UpdateGameServerDeployment(ctx context.Context, in *UpdateGameServerDeploymentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Gets details a single Game Server Deployment Rollout.
+	GetGameServerDeploymentRollout(ctx context.Context, in *GetGameServerDeploymentRolloutRequest, opts ...grpc.CallOption) (*GameServerDeploymentRollout, error)
+	// 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.
+	UpdateGameServerDeploymentRollout(ctx context.Context, in *UpdateGameServerDeploymentRolloutRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Previews the Game Server Deployment Rollout. This API does not mutate the
+	// Rollout resource.
+	PreviewGameServerDeploymentRollout(ctx context.Context, in *PreviewGameServerDeploymentRolloutRequest, opts ...grpc.CallOption) (*PreviewGameServerDeploymentRolloutResponse, error)
+	// Retrieves information about the current state of the Game Server
+	// Ddeployment. Gathers all the Agones fleets and Agones autoscalers,
+	// including fleets running an older version of the Game Server Deployment.
+	FetchDeploymentState(ctx context.Context, in *FetchDeploymentStateRequest, opts ...grpc.CallOption) (*FetchDeploymentStateResponse, error)
+}
+
+type gameServerDeploymentsServiceClient struct {
+	cc grpc.ClientConnInterface
+}
+
+func NewGameServerDeploymentsServiceClient(cc grpc.ClientConnInterface) GameServerDeploymentsServiceClient {
+	return &gameServerDeploymentsServiceClient{cc}
+}
+
+func (c *gameServerDeploymentsServiceClient) ListGameServerDeployments(ctx context.Context, in *ListGameServerDeploymentsRequest, opts ...grpc.CallOption) (*ListGameServerDeploymentsResponse, error) {
+	out := new(ListGameServerDeploymentsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerDeploymentsService/ListGameServerDeployments", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerDeploymentsServiceClient) GetGameServerDeployment(ctx context.Context, in *GetGameServerDeploymentRequest, opts ...grpc.CallOption) (*GameServerDeployment, error) {
+	out := new(GameServerDeployment)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerDeploymentsService/GetGameServerDeployment", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerDeploymentsServiceClient) CreateGameServerDeployment(ctx context.Context, in *CreateGameServerDeploymentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerDeploymentsService/CreateGameServerDeployment", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerDeploymentsServiceClient) DeleteGameServerDeployment(ctx context.Context, in *DeleteGameServerDeploymentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerDeploymentsService/DeleteGameServerDeployment", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerDeploymentsServiceClient) UpdateGameServerDeployment(ctx context.Context, in *UpdateGameServerDeploymentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerDeploymentsService/UpdateGameServerDeployment", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerDeploymentsServiceClient) GetGameServerDeploymentRollout(ctx context.Context, in *GetGameServerDeploymentRolloutRequest, opts ...grpc.CallOption) (*GameServerDeploymentRollout, error) {
+	out := new(GameServerDeploymentRollout)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerDeploymentsService/GetGameServerDeploymentRollout", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerDeploymentsServiceClient) UpdateGameServerDeploymentRollout(ctx context.Context, in *UpdateGameServerDeploymentRolloutRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerDeploymentsService/UpdateGameServerDeploymentRollout", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerDeploymentsServiceClient) PreviewGameServerDeploymentRollout(ctx context.Context, in *PreviewGameServerDeploymentRolloutRequest, opts ...grpc.CallOption) (*PreviewGameServerDeploymentRolloutResponse, error) {
+	out := new(PreviewGameServerDeploymentRolloutResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerDeploymentsService/PreviewGameServerDeploymentRollout", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *gameServerDeploymentsServiceClient) FetchDeploymentState(ctx context.Context, in *FetchDeploymentStateRequest, opts ...grpc.CallOption) (*FetchDeploymentStateResponse, error) {
+	out := new(FetchDeploymentStateResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.GameServerDeploymentsService/FetchDeploymentState", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// GameServerDeploymentsServiceServer is the server API for GameServerDeploymentsService service.
+type GameServerDeploymentsServiceServer interface {
+	// Lists Game Server Deployments in a given project and Location.
+	ListGameServerDeployments(context.Context, *ListGameServerDeploymentsRequest) (*ListGameServerDeploymentsResponse, error)
+	// Gets details of a single Game Server Deployment.
+	GetGameServerDeployment(context.Context, *GetGameServerDeploymentRequest) (*GameServerDeployment, error)
+	// Creates a new Game Server Deployment in a given project and Location.
+	CreateGameServerDeployment(context.Context, *CreateGameServerDeploymentRequest) (*longrunning.Operation, error)
+	// Deletes a single Game Server Deployment.
+	DeleteGameServerDeployment(context.Context, *DeleteGameServerDeploymentRequest) (*longrunning.Operation, error)
+	// Patches a Game Server Deployment.
+	UpdateGameServerDeployment(context.Context, *UpdateGameServerDeploymentRequest) (*longrunning.Operation, error)
+	// Gets details a single Game Server Deployment Rollout.
+	GetGameServerDeploymentRollout(context.Context, *GetGameServerDeploymentRolloutRequest) (*GameServerDeploymentRollout, error)
+	// 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.
+	UpdateGameServerDeploymentRollout(context.Context, *UpdateGameServerDeploymentRolloutRequest) (*longrunning.Operation, error)
+	// Previews the Game Server Deployment Rollout. This API does not mutate the
+	// Rollout resource.
+	PreviewGameServerDeploymentRollout(context.Context, *PreviewGameServerDeploymentRolloutRequest) (*PreviewGameServerDeploymentRolloutResponse, error)
+	// Retrieves information about the current state of the Game Server
+	// Ddeployment. Gathers all the Agones fleets and Agones autoscalers,
+	// including fleets running an older version of the Game Server Deployment.
+	FetchDeploymentState(context.Context, *FetchDeploymentStateRequest) (*FetchDeploymentStateResponse, error)
+}
+
+// UnimplementedGameServerDeploymentsServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedGameServerDeploymentsServiceServer struct {
+}
+
+func (*UnimplementedGameServerDeploymentsServiceServer) ListGameServerDeployments(ctx context.Context, req *ListGameServerDeploymentsRequest) (*ListGameServerDeploymentsResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListGameServerDeployments not implemented")
+}
+func (*UnimplementedGameServerDeploymentsServiceServer) GetGameServerDeployment(ctx context.Context, req *GetGameServerDeploymentRequest) (*GameServerDeployment, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetGameServerDeployment not implemented")
+}
+func (*UnimplementedGameServerDeploymentsServiceServer) CreateGameServerDeployment(ctx context.Context, req *CreateGameServerDeploymentRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CreateGameServerDeployment not implemented")
+}
+func (*UnimplementedGameServerDeploymentsServiceServer) DeleteGameServerDeployment(ctx context.Context, req *DeleteGameServerDeploymentRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DeleteGameServerDeployment not implemented")
+}
+func (*UnimplementedGameServerDeploymentsServiceServer) UpdateGameServerDeployment(ctx context.Context, req *UpdateGameServerDeploymentRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateGameServerDeployment not implemented")
+}
+func (*UnimplementedGameServerDeploymentsServiceServer) GetGameServerDeploymentRollout(ctx context.Context, req *GetGameServerDeploymentRolloutRequest) (*GameServerDeploymentRollout, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetGameServerDeploymentRollout not implemented")
+}
+func (*UnimplementedGameServerDeploymentsServiceServer) UpdateGameServerDeploymentRollout(ctx context.Context, req *UpdateGameServerDeploymentRolloutRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateGameServerDeploymentRollout not implemented")
+}
+func (*UnimplementedGameServerDeploymentsServiceServer) PreviewGameServerDeploymentRollout(ctx context.Context, req *PreviewGameServerDeploymentRolloutRequest) (*PreviewGameServerDeploymentRolloutResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method PreviewGameServerDeploymentRollout not implemented")
+}
+func (*UnimplementedGameServerDeploymentsServiceServer) FetchDeploymentState(ctx context.Context, req *FetchDeploymentStateRequest) (*FetchDeploymentStateResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method FetchDeploymentState not implemented")
+}
+
+func RegisterGameServerDeploymentsServiceServer(s *grpc.Server, srv GameServerDeploymentsServiceServer) {
+	s.RegisterService(&_GameServerDeploymentsService_serviceDesc, srv)
+}
+
+func _GameServerDeploymentsService_ListGameServerDeployments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListGameServerDeploymentsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerDeploymentsServiceServer).ListGameServerDeployments(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerDeploymentsService/ListGameServerDeployments",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerDeploymentsServiceServer).ListGameServerDeployments(ctx, req.(*ListGameServerDeploymentsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerDeploymentsService_GetGameServerDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetGameServerDeploymentRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerDeploymentsServiceServer).GetGameServerDeployment(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerDeploymentsService/GetGameServerDeployment",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerDeploymentsServiceServer).GetGameServerDeployment(ctx, req.(*GetGameServerDeploymentRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerDeploymentsService_CreateGameServerDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateGameServerDeploymentRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerDeploymentsServiceServer).CreateGameServerDeployment(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerDeploymentsService/CreateGameServerDeployment",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerDeploymentsServiceServer).CreateGameServerDeployment(ctx, req.(*CreateGameServerDeploymentRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerDeploymentsService_DeleteGameServerDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteGameServerDeploymentRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerDeploymentsServiceServer).DeleteGameServerDeployment(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerDeploymentsService/DeleteGameServerDeployment",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerDeploymentsServiceServer).DeleteGameServerDeployment(ctx, req.(*DeleteGameServerDeploymentRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerDeploymentsService_UpdateGameServerDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateGameServerDeploymentRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerDeploymentsServiceServer).UpdateGameServerDeployment(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerDeploymentsService/UpdateGameServerDeployment",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerDeploymentsServiceServer).UpdateGameServerDeployment(ctx, req.(*UpdateGameServerDeploymentRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerDeploymentsService_GetGameServerDeploymentRollout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetGameServerDeploymentRolloutRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerDeploymentsServiceServer).GetGameServerDeploymentRollout(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerDeploymentsService/GetGameServerDeploymentRollout",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerDeploymentsServiceServer).GetGameServerDeploymentRollout(ctx, req.(*GetGameServerDeploymentRolloutRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerDeploymentsService_UpdateGameServerDeploymentRollout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateGameServerDeploymentRolloutRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerDeploymentsServiceServer).UpdateGameServerDeploymentRollout(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerDeploymentsService/UpdateGameServerDeploymentRollout",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerDeploymentsServiceServer).UpdateGameServerDeploymentRollout(ctx, req.(*UpdateGameServerDeploymentRolloutRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerDeploymentsService_PreviewGameServerDeploymentRollout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(PreviewGameServerDeploymentRolloutRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerDeploymentsServiceServer).PreviewGameServerDeploymentRollout(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerDeploymentsService/PreviewGameServerDeploymentRollout",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerDeploymentsServiceServer).PreviewGameServerDeploymentRollout(ctx, req.(*PreviewGameServerDeploymentRolloutRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GameServerDeploymentsService_FetchDeploymentState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(FetchDeploymentStateRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GameServerDeploymentsServiceServer).FetchDeploymentState(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.GameServerDeploymentsService/FetchDeploymentState",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GameServerDeploymentsServiceServer).FetchDeploymentState(ctx, req.(*FetchDeploymentStateRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _GameServerDeploymentsService_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.gaming.v1beta.GameServerDeploymentsService",
+	HandlerType: (*GameServerDeploymentsServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "ListGameServerDeployments",
+			Handler:    _GameServerDeploymentsService_ListGameServerDeployments_Handler,
+		},
+		{
+			MethodName: "GetGameServerDeployment",
+			Handler:    _GameServerDeploymentsService_GetGameServerDeployment_Handler,
+		},
+		{
+			MethodName: "CreateGameServerDeployment",
+			Handler:    _GameServerDeploymentsService_CreateGameServerDeployment_Handler,
+		},
+		{
+			MethodName: "DeleteGameServerDeployment",
+			Handler:    _GameServerDeploymentsService_DeleteGameServerDeployment_Handler,
+		},
+		{
+			MethodName: "UpdateGameServerDeployment",
+			Handler:    _GameServerDeploymentsService_UpdateGameServerDeployment_Handler,
+		},
+		{
+			MethodName: "GetGameServerDeploymentRollout",
+			Handler:    _GameServerDeploymentsService_GetGameServerDeploymentRollout_Handler,
+		},
+		{
+			MethodName: "UpdateGameServerDeploymentRollout",
+			Handler:    _GameServerDeploymentsService_UpdateGameServerDeploymentRollout_Handler,
+		},
+		{
+			MethodName: "PreviewGameServerDeploymentRollout",
+			Handler:    _GameServerDeploymentsService_PreviewGameServerDeploymentRollout_Handler,
+		},
+		{
+			MethodName: "FetchDeploymentState",
+			Handler:    _GameServerDeploymentsService_FetchDeploymentState_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "google/cloud/gaming/v1beta/game_server_deployments_service.proto",
+}
diff --git a/googleapis/cloud/gaming/v1beta/realms.pb.go b/googleapis/cloud/gaming/v1beta/realms.pb.go
new file mode 100644
index 0000000..427ae1e
--- /dev/null
+++ b/googleapis/cloud/gaming/v1beta/realms.pb.go
@@ -0,0 +1,655 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/gaming/v1beta/realms.proto
+
+package gaming
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	field_mask "google.golang.org/genproto/protobuf/field_mask"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Request message for RealmsService.ListRealms.
+type ListRealmsRequest struct {
+	// Required. The parent resource name. Uses the form:
+	// `projects/{project}/locations/{location}`.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// 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.v1beta.ListRealmsResponse.next_page_token] to
+	// determine if there are more Realms left to be queried.
+	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	// Optional. The next_page_token value returned from a previous List request,
+	// if any.
+	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// Optional. The filter to apply to list results.
+	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
+	// Optional. Specifies the ordering of results following syntax at
+	// https://cloud.google.com/apis/design/design_patterns#sorting_order.
+	OrderBy              string   `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListRealmsRequest) Reset()         { *m = ListRealmsRequest{} }
+func (m *ListRealmsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListRealmsRequest) ProtoMessage()    {}
+func (*ListRealmsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_5baf61803ba783df, []int{0}
+}
+
+func (m *ListRealmsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListRealmsRequest.Unmarshal(m, b)
+}
+func (m *ListRealmsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListRealmsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListRealmsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListRealmsRequest.Merge(m, src)
+}
+func (m *ListRealmsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListRealmsRequest.Size(m)
+}
+func (m *ListRealmsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListRealmsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListRealmsRequest proto.InternalMessageInfo
+
+func (m *ListRealmsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListRealmsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListRealmsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListRealmsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListRealmsRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
+// Response message for RealmsService.ListRealms.
+type ListRealmsResponse struct {
+	// The list of Realms.
+	Realms []*Realm `protobuf:"bytes,1,rep,name=realms,proto3" json:"realms,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no more
+	// results in the list.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	// List of Locations that could not be reached.
+	Unreachable          []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListRealmsResponse) Reset()         { *m = ListRealmsResponse{} }
+func (m *ListRealmsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListRealmsResponse) ProtoMessage()    {}
+func (*ListRealmsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_5baf61803ba783df, []int{1}
+}
+
+func (m *ListRealmsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListRealmsResponse.Unmarshal(m, b)
+}
+func (m *ListRealmsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListRealmsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListRealmsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListRealmsResponse.Merge(m, src)
+}
+func (m *ListRealmsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListRealmsResponse.Size(m)
+}
+func (m *ListRealmsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListRealmsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListRealmsResponse proto.InternalMessageInfo
+
+func (m *ListRealmsResponse) GetRealms() []*Realm {
+	if m != nil {
+		return m.Realms
+	}
+	return nil
+}
+
+func (m *ListRealmsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListRealmsResponse) GetUnreachable() []string {
+	if m != nil {
+		return m.Unreachable
+	}
+	return nil
+}
+
+// Request message for RealmsService.GetRealm.
+type GetRealmRequest struct {
+	// Required. The name of the Realm to retrieve. Uses the form:
+	// `projects/{project}/locations/{location}/realms/{realm}`.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetRealmRequest) Reset()         { *m = GetRealmRequest{} }
+func (m *GetRealmRequest) String() string { return proto.CompactTextString(m) }
+func (*GetRealmRequest) ProtoMessage()    {}
+func (*GetRealmRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_5baf61803ba783df, []int{2}
+}
+
+func (m *GetRealmRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetRealmRequest.Unmarshal(m, b)
+}
+func (m *GetRealmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetRealmRequest.Marshal(b, m, deterministic)
+}
+func (m *GetRealmRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetRealmRequest.Merge(m, src)
+}
+func (m *GetRealmRequest) XXX_Size() int {
+	return xxx_messageInfo_GetRealmRequest.Size(m)
+}
+func (m *GetRealmRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetRealmRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetRealmRequest proto.InternalMessageInfo
+
+func (m *GetRealmRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request message for RealmsService.CreateRealm.
+type CreateRealmRequest struct {
+	// Required. The parent resource name. Uses the form:
+	// `projects/{project}/locations/{location}`.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Required. The ID of the Realm resource to be created.
+	RealmId string `protobuf:"bytes,2,opt,name=realm_id,json=realmId,proto3" json:"realm_id,omitempty"`
+	// Required. The Realm resource to be created.
+	Realm                *Realm   `protobuf:"bytes,3,opt,name=realm,proto3" json:"realm,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CreateRealmRequest) Reset()         { *m = CreateRealmRequest{} }
+func (m *CreateRealmRequest) String() string { return proto.CompactTextString(m) }
+func (*CreateRealmRequest) ProtoMessage()    {}
+func (*CreateRealmRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_5baf61803ba783df, []int{3}
+}
+
+func (m *CreateRealmRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CreateRealmRequest.Unmarshal(m, b)
+}
+func (m *CreateRealmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CreateRealmRequest.Marshal(b, m, deterministic)
+}
+func (m *CreateRealmRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CreateRealmRequest.Merge(m, src)
+}
+func (m *CreateRealmRequest) XXX_Size() int {
+	return xxx_messageInfo_CreateRealmRequest.Size(m)
+}
+func (m *CreateRealmRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CreateRealmRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CreateRealmRequest proto.InternalMessageInfo
+
+func (m *CreateRealmRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateRealmRequest) GetRealmId() string {
+	if m != nil {
+		return m.RealmId
+	}
+	return ""
+}
+
+func (m *CreateRealmRequest) GetRealm() *Realm {
+	if m != nil {
+		return m.Realm
+	}
+	return nil
+}
+
+// Request message for RealmsService.DeleteRealm.
+type DeleteRealmRequest struct {
+	// Required. The name of the Realm to delete. Uses the form:
+	// `projects/{project}/locations/{location}/realms/{realm}`.
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *DeleteRealmRequest) Reset()         { *m = DeleteRealmRequest{} }
+func (m *DeleteRealmRequest) String() string { return proto.CompactTextString(m) }
+func (*DeleteRealmRequest) ProtoMessage()    {}
+func (*DeleteRealmRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_5baf61803ba783df, []int{4}
+}
+
+func (m *DeleteRealmRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeleteRealmRequest.Unmarshal(m, b)
+}
+func (m *DeleteRealmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeleteRealmRequest.Marshal(b, m, deterministic)
+}
+func (m *DeleteRealmRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeleteRealmRequest.Merge(m, src)
+}
+func (m *DeleteRealmRequest) XXX_Size() int {
+	return xxx_messageInfo_DeleteRealmRequest.Size(m)
+}
+func (m *DeleteRealmRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeleteRealmRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeleteRealmRequest proto.InternalMessageInfo
+
+func (m *DeleteRealmRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request message for RealmsService.UpdateRealm.
+type UpdateRealmRequest struct {
+	// Required. The Realm to be updated.
+	// Only fields specified in update_mask are updated.
+	Realm *Realm `protobuf:"bytes,1,opt,name=realm,proto3" json:"realm,omitempty"`
+	// Required. The update mask applies to the resource. For the `FieldMask`
+	// definition, see
+	//
+	// https:
+	// //developers.google.com/protocol-buffers
+	// // /docs/reference/google.protobuf#fieldmask
+	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *UpdateRealmRequest) Reset()         { *m = UpdateRealmRequest{} }
+func (m *UpdateRealmRequest) String() string { return proto.CompactTextString(m) }
+func (*UpdateRealmRequest) ProtoMessage()    {}
+func (*UpdateRealmRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_5baf61803ba783df, []int{5}
+}
+
+func (m *UpdateRealmRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UpdateRealmRequest.Unmarshal(m, b)
+}
+func (m *UpdateRealmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UpdateRealmRequest.Marshal(b, m, deterministic)
+}
+func (m *UpdateRealmRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UpdateRealmRequest.Merge(m, src)
+}
+func (m *UpdateRealmRequest) XXX_Size() int {
+	return xxx_messageInfo_UpdateRealmRequest.Size(m)
+}
+func (m *UpdateRealmRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UpdateRealmRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UpdateRealmRequest proto.InternalMessageInfo
+
+func (m *UpdateRealmRequest) GetRealm() *Realm {
+	if m != nil {
+		return m.Realm
+	}
+	return nil
+}
+
+func (m *UpdateRealmRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+// Request message for RealmsService.PreviewRealmUpdate.
+type PreviewRealmUpdateRequest struct {
+	// Required. The Realm to be updated.
+	// Only fields specified in update_mask are updated.
+	Realm *Realm `protobuf:"bytes,1,opt,name=realm,proto3" json:"realm,omitempty"`
+	// Required. The update mask applies to the resource. For the `FieldMask`
+	// definition, see
+	//
+	// https:
+	// //developers.google.com/protocol-buffers
+	// // /docs/reference/google.protobuf#fieldmask
+	UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	// Optional. The target timestamp to compute the preview.
+	PreviewTime          *timestamp.Timestamp `protobuf:"bytes,3,opt,name=preview_time,json=previewTime,proto3" json:"preview_time,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *PreviewRealmUpdateRequest) Reset()         { *m = PreviewRealmUpdateRequest{} }
+func (m *PreviewRealmUpdateRequest) String() string { return proto.CompactTextString(m) }
+func (*PreviewRealmUpdateRequest) ProtoMessage()    {}
+func (*PreviewRealmUpdateRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_5baf61803ba783df, []int{6}
+}
+
+func (m *PreviewRealmUpdateRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PreviewRealmUpdateRequest.Unmarshal(m, b)
+}
+func (m *PreviewRealmUpdateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PreviewRealmUpdateRequest.Marshal(b, m, deterministic)
+}
+func (m *PreviewRealmUpdateRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PreviewRealmUpdateRequest.Merge(m, src)
+}
+func (m *PreviewRealmUpdateRequest) XXX_Size() int {
+	return xxx_messageInfo_PreviewRealmUpdateRequest.Size(m)
+}
+func (m *PreviewRealmUpdateRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_PreviewRealmUpdateRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PreviewRealmUpdateRequest proto.InternalMessageInfo
+
+func (m *PreviewRealmUpdateRequest) GetRealm() *Realm {
+	if m != nil {
+		return m.Realm
+	}
+	return nil
+}
+
+func (m *PreviewRealmUpdateRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+func (m *PreviewRealmUpdateRequest) GetPreviewTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.PreviewTime
+	}
+	return nil
+}
+
+// Response message for RealmsService.PreviewRealmUpdate.
+type PreviewRealmUpdateResponse struct {
+	// ETag of the realm.
+	Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
+	// The target state.
+	TargetState          *TargetState `protobuf:"bytes,3,opt,name=target_state,json=targetState,proto3" json:"target_state,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
+	XXX_unrecognized     []byte       `json:"-"`
+	XXX_sizecache        int32        `json:"-"`
+}
+
+func (m *PreviewRealmUpdateResponse) Reset()         { *m = PreviewRealmUpdateResponse{} }
+func (m *PreviewRealmUpdateResponse) String() string { return proto.CompactTextString(m) }
+func (*PreviewRealmUpdateResponse) ProtoMessage()    {}
+func (*PreviewRealmUpdateResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_5baf61803ba783df, []int{7}
+}
+
+func (m *PreviewRealmUpdateResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PreviewRealmUpdateResponse.Unmarshal(m, b)
+}
+func (m *PreviewRealmUpdateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PreviewRealmUpdateResponse.Marshal(b, m, deterministic)
+}
+func (m *PreviewRealmUpdateResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PreviewRealmUpdateResponse.Merge(m, src)
+}
+func (m *PreviewRealmUpdateResponse) XXX_Size() int {
+	return xxx_messageInfo_PreviewRealmUpdateResponse.Size(m)
+}
+func (m *PreviewRealmUpdateResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_PreviewRealmUpdateResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PreviewRealmUpdateResponse proto.InternalMessageInfo
+
+func (m *PreviewRealmUpdateResponse) GetEtag() string {
+	if m != nil {
+		return m.Etag
+	}
+	return ""
+}
+
+func (m *PreviewRealmUpdateResponse) GetTargetState() *TargetState {
+	if m != nil {
+		return m.TargetState
+	}
+	return nil
+}
+
+// A Realm resource.
+type Realm struct {
+	// The resource name of the Realm. Uses the form:
+	// `projects/{project}/locations/{location}/realms/{realm}`. For
+	// example, `projects/my-project/locations/{location}/realms/my-realm`.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Output only. The creation time.
+	CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+	// Output only. The last-modified time.
+	UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+	// The labels associated with this Realm. Each label is a key-value pair.
+	Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// Required. Time zone where all policies targeting this Realm are evaluated. The value
+	// of this field must be from the IANA time zone database:
+	// https://www.iana.org/time-zones.
+	TimeZone string `protobuf:"bytes,6,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
+	// ETag of the resource.
+	Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"`
+	// Human readable description of the Realm.
+	Description          string   `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *Realm) Reset()         { *m = Realm{} }
+func (m *Realm) String() string { return proto.CompactTextString(m) }
+func (*Realm) ProtoMessage()    {}
+func (*Realm) Descriptor() ([]byte, []int) {
+	return fileDescriptor_5baf61803ba783df, []int{8}
+}
+
+func (m *Realm) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Realm.Unmarshal(m, b)
+}
+func (m *Realm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Realm.Marshal(b, m, deterministic)
+}
+func (m *Realm) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Realm.Merge(m, src)
+}
+func (m *Realm) XXX_Size() int {
+	return xxx_messageInfo_Realm.Size(m)
+}
+func (m *Realm) XXX_DiscardUnknown() {
+	xxx_messageInfo_Realm.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Realm proto.InternalMessageInfo
+
+func (m *Realm) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Realm) GetCreateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *Realm) GetUpdateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.UpdateTime
+	}
+	return nil
+}
+
+func (m *Realm) GetLabels() map[string]string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
+func (m *Realm) GetTimeZone() string {
+	if m != nil {
+		return m.TimeZone
+	}
+	return ""
+}
+
+func (m *Realm) GetEtag() string {
+	if m != nil {
+		return m.Etag
+	}
+	return ""
+}
+
+func (m *Realm) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterType((*ListRealmsRequest)(nil), "google.cloud.gaming.v1beta.ListRealmsRequest")
+	proto.RegisterType((*ListRealmsResponse)(nil), "google.cloud.gaming.v1beta.ListRealmsResponse")
+	proto.RegisterType((*GetRealmRequest)(nil), "google.cloud.gaming.v1beta.GetRealmRequest")
+	proto.RegisterType((*CreateRealmRequest)(nil), "google.cloud.gaming.v1beta.CreateRealmRequest")
+	proto.RegisterType((*DeleteRealmRequest)(nil), "google.cloud.gaming.v1beta.DeleteRealmRequest")
+	proto.RegisterType((*UpdateRealmRequest)(nil), "google.cloud.gaming.v1beta.UpdateRealmRequest")
+	proto.RegisterType((*PreviewRealmUpdateRequest)(nil), "google.cloud.gaming.v1beta.PreviewRealmUpdateRequest")
+	proto.RegisterType((*PreviewRealmUpdateResponse)(nil), "google.cloud.gaming.v1beta.PreviewRealmUpdateResponse")
+	proto.RegisterType((*Realm)(nil), "google.cloud.gaming.v1beta.Realm")
+	proto.RegisterMapType((map[string]string)(nil), "google.cloud.gaming.v1beta.Realm.LabelsEntry")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/gaming/v1beta/realms.proto", fileDescriptor_5baf61803ba783df)
+}
+
+var fileDescriptor_5baf61803ba783df = []byte{
+	// 813 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x55, 0xcd, 0x8e, 0xdc, 0x44,
+	0x10, 0x96, 0xc7, 0x3b, 0xb3, 0xb3, 0x35, 0x41, 0x81, 0x16, 0x07, 0x67, 0x40, 0x1b, 0xc7, 0x48,
+	0x64, 0x39, 0x60, 0x8b, 0x20, 0x21, 0x12, 0x40, 0xca, 0x0c, 0x04, 0x04, 0x0a, 0xd2, 0xca, 0xbb,
+	0x5c, 0x82, 0x84, 0xd5, 0x63, 0xd7, 0x3a, 0x66, 0xed, 0x6e, 0xd3, 0xdd, 0x33, 0x30, 0xbb, 0xec,
+	0x5b, 0x70, 0xe1, 0x41, 0x78, 0x98, 0x9c, 0xc8, 0x99, 0x47, 0xe0, 0x84, 0xfa, 0xc7, 0x19, 0x67,
+	0x09, 0xcb, 0x08, 0x38, 0x70, 0x72, 0x77, 0xf5, 0x57, 0x55, 0x5f, 0x7d, 0xe5, 0xea, 0x86, 0xdb,
+	0x25, 0xe7, 0x65, 0x8d, 0x49, 0x5e, 0xf3, 0x65, 0x91, 0x94, 0xb4, 0xa9, 0x58, 0x99, 0xac, 0xde,
+	0x59, 0xa0, 0xa2, 0x89, 0x40, 0x5a, 0x37, 0x32, 0x6e, 0x05, 0x57, 0x9c, 0x4c, 0x2d, 0x30, 0x36,
+	0xc0, 0xd8, 0x02, 0x63, 0x0b, 0x9c, 0xde, 0x74, 0x41, 0x68, 0x5b, 0x25, 0x27, 0x15, 0xd6, 0x45,
+	0xb6, 0xc0, 0xc7, 0x74, 0x55, 0x71, 0x61, 0x9d, 0xa7, 0x37, 0x7a, 0x00, 0x81, 0x92, 0x2f, 0x45,
+	0x8e, 0xee, 0xe8, 0x2a, 0x02, 0x39, 0x6f, 0x1a, 0xce, 0x1c, 0x30, 0x74, 0x40, 0xb3, 0x5b, 0x2c,
+	0x4f, 0x5c, 0xa6, 0x86, 0xca, 0x53, 0x87, 0xb8, 0x79, 0x19, 0xa1, 0xaa, 0x06, 0xa5, 0xa2, 0x4d,
+	0xeb, 0x00, 0xaf, 0xf7, 0x68, 0x50, 0xc6, 0xb8, 0xa2, 0xaa, 0xe2, 0xcc, 0x55, 0x18, 0x3d, 0xf1,
+	0xe0, 0x95, 0x87, 0x95, 0x54, 0xa9, 0x29, 0x3b, 0xc5, 0xef, 0x96, 0x28, 0x15, 0x99, 0xc1, 0xa8,
+	0xa5, 0x02, 0x99, 0x0a, 0xbc, 0xd0, 0x3b, 0xd8, 0x9b, 0xbf, 0xf5, 0x74, 0x36, 0xf8, 0x7d, 0xf6,
+	0x06, 0xb9, 0x55, 0xd2, 0x06, 0x25, 0x8a, 0x55, 0x95, 0xa3, 0x8c, 0x6d, 0x60, 0xda, 0x56, 0x32,
+	0xce, 0x79, 0x93, 0x98, 0x10, 0xa9, 0x73, 0x24, 0x21, 0xec, 0xb5, 0xb4, 0xc4, 0x4c, 0x56, 0x67,
+	0x18, 0x0c, 0x42, 0xef, 0x60, 0x38, 0xf7, 0x9f, 0xce, 0xbc, 0x74, 0xac, 0xad, 0x47, 0xd5, 0x19,
+	0x92, 0x08, 0xc0, 0x20, 0x14, 0x3f, 0x45, 0x16, 0xf8, 0x26, 0x91, 0x81, 0x18, 0xc7, 0x63, 0x6d,
+	0x25, 0xaf, 0xc1, 0xe8, 0xa4, 0xaa, 0x15, 0x8a, 0x60, 0x67, 0x73, 0xee, 0x4c, 0x64, 0x1f, 0xc6,
+	0x5c, 0x14, 0x28, 0xb2, 0xc5, 0x3a, 0x18, 0x6e, 0x8e, 0x77, 0x8d, 0x71, 0xbe, 0x8e, 0x7e, 0xf6,
+	0x80, 0xf4, 0x6b, 0x93, 0x2d, 0x67, 0x12, 0xc9, 0x5d, 0x18, 0xd9, 0x26, 0x07, 0x5e, 0xe8, 0x1f,
+	0x4c, 0xee, 0xdc, 0x8a, 0xff, 0xba, 0xcb, 0xb1, 0x2b, 0xca, 0x3a, 0x90, 0x37, 0xe1, 0x3a, 0xc3,
+	0x1f, 0x54, 0xd6, 0xe3, 0xad, 0x4b, 0xdb, 0x4b, 0x5f, 0xd2, 0xe6, 0xc3, 0x67, 0xb4, 0x43, 0x98,
+	0x2c, 0x99, 0x40, 0x9a, 0x3f, 0xa6, 0x8b, 0x1a, 0x03, 0x3f, 0xf4, 0x0f, 0xf6, 0xd2, 0xbe, 0x29,
+	0x3a, 0x84, 0xeb, 0x9f, 0xa1, 0x65, 0xd6, 0x89, 0xfe, 0x11, 0xec, 0x30, 0xda, 0xe0, 0xf3, 0x92,
+	0xc3, 0x16, 0x92, 0x1b, 0xb7, 0xe8, 0x17, 0x0f, 0xc8, 0xc7, 0x02, 0xa9, 0xc2, 0xe7, 0xa2, 0xfe,
+	0x07, 0xad, 0xdc, 0x87, 0xb1, 0xa9, 0x3f, 0xab, 0x0a, 0x5b, 0xae, 0xd6, 0x79, 0x90, 0xee, 0x1a,
+	0xe3, 0xe7, 0x05, 0xf9, 0x10, 0x86, 0x66, 0x69, 0x7a, 0xb8, 0x8d, 0x9e, 0xd6, 0xdf, 0x3a, 0x45,
+	0x47, 0x40, 0x3e, 0xc1, 0x1a, 0x2f, 0xd1, 0xfe, 0x97, 0x62, 0xfc, 0xe4, 0x01, 0xf9, 0xaa, 0x2d,
+	0x2e, 0x8b, 0xf1, 0x8c, 0xa9, 0xf7, 0x0f, 0x98, 0x92, 0xfb, 0x30, 0x59, 0x9a, 0x98, 0x66, 0xfe,
+	0x8c, 0x14, 0x93, 0x3b, 0xd3, 0x2e, 0x46, 0x37, 0x80, 0xf1, 0xa7, 0x7a, 0x44, 0xbf, 0xa4, 0xf2,
+	0xd4, 0x3a, 0x83, 0xf5, 0xd1, 0x86, 0xe8, 0x57, 0x0f, 0x6e, 0x1c, 0x0a, 0x5c, 0x55, 0xf8, 0xbd,
+	0x09, 0xdf, 0x51, 0xfc, 0x5f, 0xb0, 0x23, 0x73, 0xb8, 0xd6, 0x5a, 0x72, 0x99, 0xbe, 0x44, 0x5c,
+	0x3b, 0xff, 0x1c, 0xe2, 0xb8, 0xbb, 0x61, 0xec, 0xbc, 0x4d, 0x9c, 0x93, 0x36, 0x47, 0x3f, 0xc2,
+	0xf4, 0x45, 0x05, 0xba, 0xd1, 0x23, 0xb0, 0x83, 0x8a, 0x96, 0x6e, 0x68, 0xcc, 0x9a, 0x7c, 0x01,
+	0xd7, 0x14, 0x15, 0x25, 0xaa, 0x4c, 0x2a, 0xaa, 0xba, 0xac, 0xb7, 0xaf, 0x2a, 0xfe, 0xd8, 0xe0,
+	0x8f, 0x34, 0x3c, 0x9d, 0xa8, 0xcd, 0x26, 0x7a, 0xe2, 0xc3, 0xd0, 0xe4, 0xd5, 0x99, 0x36, 0xff,
+	0x8f, 0xfd, 0x29, 0xb4, 0x42, 0xb9, 0x19, 0x10, 0x5b, 0xde, 0x60, 0x9b, 0xf2, 0xfc, 0x14, 0xac,
+	0x8f, 0xb6, 0xf6, 0x34, 0xde, 0x5e, 0x20, 0xbf, 0xd3, 0xd8, 0x44, 0x78, 0x00, 0xa3, 0x9a, 0x2e,
+	0xb0, 0x96, 0xc1, 0x8e, 0xb9, 0x7c, 0xde, 0xfe, 0xdb, 0x26, 0xc7, 0x0f, 0x0d, 0xfe, 0x01, 0x53,
+	0x62, 0x9d, 0x3a, 0x67, 0x7d, 0xbb, 0x6a, 0x06, 0xd9, 0x19, 0x67, 0x18, 0x8c, 0x36, 0x33, 0x39,
+	0xd6, 0xd6, 0x47, 0x9c, 0x6d, 0xa4, 0xde, 0xed, 0x49, 0x1d, 0xc2, 0xa4, 0x40, 0x99, 0x8b, 0xaa,
+	0xd5, 0x4f, 0x40, 0x30, 0x36, 0x47, 0x7d, 0xd3, 0xf4, 0x2e, 0x4c, 0x7a, 0xe9, 0xc8, 0xcb, 0xe0,
+	0x9f, 0xe2, 0xda, 0x89, 0xa8, 0x97, 0xe4, 0x55, 0x18, 0xae, 0x68, 0xbd, 0x44, 0xd7, 0x42, 0xbb,
+	0xb9, 0x37, 0x78, 0xdf, 0xbb, 0xf7, 0xcd, 0x6f, 0xb3, 0xaf, 0xb7, 0x18, 0x50, 0xf2, 0x5e, 0x2b,
+	0xf8, 0xb7, 0x98, 0x2b, 0x99, 0x9c, 0xbb, 0xd5, 0x45, 0x52, 0xf3, 0xdc, 0xbe, 0x4a, 0xc9, 0x79,
+	0xb7, 0xbc, 0x70, 0x2f, 0x71, 0x72, 0x6e, 0xbe, 0x17, 0xf3, 0x02, 0xf6, 0x73, 0xde, 0x5c, 0x21,
+	0xd7, 0xa1, 0xf7, 0xe8, 0xbe, 0x3b, 0x2d, 0x79, 0x4d, 0x59, 0x19, 0x73, 0x51, 0x26, 0x25, 0x32,
+	0xd3, 0x97, 0x64, 0x43, 0xe6, 0x45, 0xcf, 0xee, 0x07, 0x76, 0xb7, 0x18, 0x19, 0xf0, 0xbb, 0x7f,
+	0x04, 0x00, 0x00, 0xff, 0xff, 0xaf, 0x72, 0x8f, 0xa9, 0x23, 0x08, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/gaming/v1beta/realms_service.pb.go b/googleapis/cloud/gaming/v1beta/realms_service.pb.go
new file mode 100644
index 0000000..8319d96
--- /dev/null
+++ b/googleapis/cloud/gaming/v1beta/realms_service.pb.go
@@ -0,0 +1,343 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/gaming/v1beta/realms_service.proto
+
+package gaming
+
+import (
+	context "context"
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	longrunning "google.golang.org/genproto/googleapis/longrunning"
+	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+func init() {
+	proto.RegisterFile("google/cloud/gaming/v1beta/realms_service.proto", fileDescriptor_e30a00ee1bdb000d)
+}
+
+var fileDescriptor_e30a00ee1bdb000d = []byte{
+	// 547 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0xcd, 0x6a, 0x14, 0x41,
+	0x10, 0xc7, 0x19, 0x31, 0x41, 0x3b, 0x78, 0x48, 0x83, 0x08, 0xe3, 0x07, 0xb8, 0x1e, 0x84, 0xd5,
+	0x74, 0xeb, 0xfa, 0x05, 0x91, 0x45, 0x27, 0x0a, 0x1e, 0x54, 0x12, 0x23, 0x5e, 0x72, 0x59, 0x3a,
+	0x33, 0x65, 0x67, 0x74, 0xa6, 0xbb, 0xed, 0xee, 0xd9, 0x3d, 0x48, 0x2e, 0xbe, 0x82, 0x27, 0xdf,
+	0xc1, 0x07, 0xf0, 0x19, 0x72, 0x92, 0x08, 0x1e, 0xf6, 0x2c, 0xf8, 0x1a, 0x92, 0xee, 0x9e, 0x64,
+	0x30, 0x66, 0x76, 0xd6, 0xcb, 0x2e, 0x5b, 0xf5, 0xaf, 0xaa, 0xff, 0xaf, 0x8b, 0x2d, 0x44, 0xb9,
+	0x94, 0xbc, 0x00, 0x9a, 0x16, 0xb2, 0xca, 0x28, 0x67, 0x65, 0x2e, 0x38, 0x1d, 0xdf, 0xde, 0x06,
+	0xcb, 0xa8, 0x06, 0x56, 0x94, 0x66, 0x64, 0x40, 0x8f, 0xf3, 0x14, 0x88, 0xd2, 0xd2, 0x4a, 0x1c,
+	0xfb, 0x02, 0xe2, 0x0a, 0x88, 0x2f, 0x20, 0xbe, 0x20, 0xbe, 0x14, 0x9a, 0x31, 0x95, 0x53, 0x26,
+	0x84, 0xb4, 0xcc, 0xe6, 0x52, 0x18, 0x5f, 0x19, 0x5f, 0x68, 0x64, 0xd3, 0x22, 0x07, 0x61, 0x43,
+	0xe2, 0xfa, 0x4c, 0x0f, 0x41, 0x78, 0x2d, 0x08, 0x0b, 0x29, 0xb8, 0xae, 0x84, 0x38, 0xd0, 0x49,
+	0x05, 0xba, 0x39, 0x66, 0xf0, 0xfb, 0x2c, 0x3a, 0xb7, 0xe9, 0xaa, 0x5e, 0x7b, 0xe3, 0xf8, 0x6b,
+	0x84, 0xd0, 0x8b, 0xdc, 0x58, 0x1f, 0xc5, 0x2b, 0xe4, 0x64, 0x04, 0x72, 0xa4, 0xdb, 0x84, 0x0f,
+	0x15, 0x18, 0x1b, 0x93, 0xae, 0x72, 0xa3, 0xa4, 0x30, 0xd0, 0x7b, 0x34, 0x4d, 0x16, 0x15, 0xd3,
+	0x20, 0xec, 0xa7, 0x1f, 0xbf, 0x3e, 0x9f, 0xba, 0x85, 0x49, 0xcd, 0xf2, 0xd1, 0x87, 0x87, 0x4a,
+	0xcb, 0x77, 0x90, 0x5a, 0x43, 0xfb, 0xb4, 0x90, 0xa9, 0x37, 0x4f, 0xfb, 0xbb, 0x81, 0x15, 0x7f,
+	0x89, 0xd0, 0x99, 0x67, 0xe0, 0xdb, 0xe2, 0x1b, 0x6d, 0xd3, 0x6b, 0x55, 0x6d, 0xf5, 0x6a, 0x9b,
+	0xd8, 0x29, 0x7b, 0xc3, 0x69, 0x72, 0x5a, 0xb0, 0x12, 0x8e, 0x79, 0x3b, 0x08, 0x9e, 0xe0, 0x2c,
+	0x18, 0xa3, 0xfd, 0x5d, 0xfc, 0x3d, 0x42, 0x4b, 0x4f, 0x34, 0x30, 0x0b, 0xde, 0x5e, 0xeb, 0xe3,
+	0x34, 0x84, 0xb5, 0xc3, 0xcb, 0xb5, 0xbe, 0xb1, 0x42, 0xb2, 0x5e, 0xaf, 0xb0, 0xa7, 0xf7, 0x92,
+	0x18, 0x2d, 0xf8, 0xd6, 0xcb, 0x87, 0xe1, 0x97, 0x60, 0x59, 0xc6, 0x2c, 0x9b, 0x26, 0xe7, 0xfd,
+	0x0b, 0xde, 0x74, 0x86, 0xfc, 0xe7, 0x28, 0xcf, 0x1c, 0xcb, 0x83, 0xde, 0x9c, 0xef, 0xbc, 0xba,
+	0xe0, 0xbe, 0xf1, 0xb7, 0x08, 0x2d, 0x3d, 0x85, 0x02, 0x3a, 0x21, 0x35, 0x84, 0x1d, 0x91, 0xb6,
+	0x66, 0x20, 0x35, 0xb6, 0xd1, 0x9f, 0x77, 0x1b, 0xfb, 0x11, 0x5a, 0x7a, 0xa3, 0xb2, 0x6e, 0xdb,
+	0x68, 0x08, 0x3b, 0x5a, 0xb7, 0x33, 0xac, 0x2f, 0xfb, 0x35, 0x54, 0xae, 0xf1, 0xa8, 0x64, 0xe6,
+	0xbd, 0xe3, 0x18, 0x0e, 0xee, 0x1e, 0x72, 0x38, 0x05, 0xe9, 0x44, 0x53, 0xef, 0xe3, 0x67, 0x84,
+	0xf0, 0x86, 0x86, 0x71, 0x0e, 0x13, 0x37, 0xda, 0xfb, 0xc6, 0xf7, 0xda, 0xd8, 0x8e, 0xeb, 0x6b,
+	0xc4, 0xfb, 0xf3, 0x96, 0x85, 0x7f, 0xf1, 0x2b, 0x87, 0xf2, 0x7c, 0xb0, 0xf6, 0x5f, 0x28, 0xca,
+	0x37, 0xf6, 0x3d, 0x03, 0x58, 0xbc, 0xbe, 0x97, 0x5c, 0xe4, 0xac, 0x84, 0x70, 0x4f, 0x4d, 0x70,
+	0xc6, 0x54, 0x6e, 0x48, 0x2a, 0xcb, 0xfd, 0x84, 0xec, 0x58, 0xab, 0xcc, 0x2a, 0xa5, 0x93, 0xc9,
+	0xe4, 0xaf, 0x24, 0x65, 0x95, 0xdd, 0xf1, 0x07, 0x72, 0x45, 0x15, 0xcc, 0xbe, 0x95, 0xba, 0x5c,
+	0xcb, 0xd0, 0x95, 0x54, 0x96, 0x2d, 0x80, 0x1b, 0xd1, 0xd6, 0xe3, 0x90, 0xe5, 0xb2, 0x60, 0x82,
+	0x13, 0xa9, 0x39, 0xe5, 0x20, 0xdc, 0xa5, 0xa4, 0x47, 0x23, 0xfe, 0x75, 0x7a, 0x1f, 0xfa, 0x5f,
+	0xdb, 0x8b, 0x4e, 0x7c, 0xe7, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb7, 0xcb, 0xb5, 0x11, 0x2a,
+	0x06, 0x00, 0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// RealmsServiceClient is the client API for RealmsService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type RealmsServiceClient interface {
+	// Lists Realms in a given project and Location.
+	ListRealms(ctx context.Context, in *ListRealmsRequest, opts ...grpc.CallOption) (*ListRealmsResponse, error)
+	// Gets details of a single Realm.
+	GetRealm(ctx context.Context, in *GetRealmRequest, opts ...grpc.CallOption) (*Realm, error)
+	// Creates a new Realm in a given project and Location.
+	CreateRealm(ctx context.Context, in *CreateRealmRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Deletes a single Realm.
+	DeleteRealm(ctx context.Context, in *DeleteRealmRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Patches a single Realm.
+	UpdateRealm(ctx context.Context, in *UpdateRealmRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Previews patches to a single Realm.
+	PreviewRealmUpdate(ctx context.Context, in *PreviewRealmUpdateRequest, opts ...grpc.CallOption) (*PreviewRealmUpdateResponse, error)
+}
+
+type realmsServiceClient struct {
+	cc grpc.ClientConnInterface
+}
+
+func NewRealmsServiceClient(cc grpc.ClientConnInterface) RealmsServiceClient {
+	return &realmsServiceClient{cc}
+}
+
+func (c *realmsServiceClient) ListRealms(ctx context.Context, in *ListRealmsRequest, opts ...grpc.CallOption) (*ListRealmsResponse, error) {
+	out := new(ListRealmsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.RealmsService/ListRealms", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *realmsServiceClient) GetRealm(ctx context.Context, in *GetRealmRequest, opts ...grpc.CallOption) (*Realm, error) {
+	out := new(Realm)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.RealmsService/GetRealm", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *realmsServiceClient) CreateRealm(ctx context.Context, in *CreateRealmRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.RealmsService/CreateRealm", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *realmsServiceClient) DeleteRealm(ctx context.Context, in *DeleteRealmRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.RealmsService/DeleteRealm", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *realmsServiceClient) UpdateRealm(ctx context.Context, in *UpdateRealmRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.RealmsService/UpdateRealm", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *realmsServiceClient) PreviewRealmUpdate(ctx context.Context, in *PreviewRealmUpdateRequest, opts ...grpc.CallOption) (*PreviewRealmUpdateResponse, error) {
+	out := new(PreviewRealmUpdateResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.gaming.v1beta.RealmsService/PreviewRealmUpdate", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// RealmsServiceServer is the server API for RealmsService service.
+type RealmsServiceServer interface {
+	// Lists Realms in a given project and Location.
+	ListRealms(context.Context, *ListRealmsRequest) (*ListRealmsResponse, error)
+	// Gets details of a single Realm.
+	GetRealm(context.Context, *GetRealmRequest) (*Realm, error)
+	// Creates a new Realm in a given project and Location.
+	CreateRealm(context.Context, *CreateRealmRequest) (*longrunning.Operation, error)
+	// Deletes a single Realm.
+	DeleteRealm(context.Context, *DeleteRealmRequest) (*longrunning.Operation, error)
+	// Patches a single Realm.
+	UpdateRealm(context.Context, *UpdateRealmRequest) (*longrunning.Operation, error)
+	// Previews patches to a single Realm.
+	PreviewRealmUpdate(context.Context, *PreviewRealmUpdateRequest) (*PreviewRealmUpdateResponse, error)
+}
+
+// UnimplementedRealmsServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedRealmsServiceServer struct {
+}
+
+func (*UnimplementedRealmsServiceServer) ListRealms(ctx context.Context, req *ListRealmsRequest) (*ListRealmsResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListRealms not implemented")
+}
+func (*UnimplementedRealmsServiceServer) GetRealm(ctx context.Context, req *GetRealmRequest) (*Realm, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetRealm not implemented")
+}
+func (*UnimplementedRealmsServiceServer) CreateRealm(ctx context.Context, req *CreateRealmRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CreateRealm not implemented")
+}
+func (*UnimplementedRealmsServiceServer) DeleteRealm(ctx context.Context, req *DeleteRealmRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DeleteRealm not implemented")
+}
+func (*UnimplementedRealmsServiceServer) UpdateRealm(ctx context.Context, req *UpdateRealmRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateRealm not implemented")
+}
+func (*UnimplementedRealmsServiceServer) PreviewRealmUpdate(ctx context.Context, req *PreviewRealmUpdateRequest) (*PreviewRealmUpdateResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method PreviewRealmUpdate not implemented")
+}
+
+func RegisterRealmsServiceServer(s *grpc.Server, srv RealmsServiceServer) {
+	s.RegisterService(&_RealmsService_serviceDesc, srv)
+}
+
+func _RealmsService_ListRealms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListRealmsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(RealmsServiceServer).ListRealms(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.RealmsService/ListRealms",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(RealmsServiceServer).ListRealms(ctx, req.(*ListRealmsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _RealmsService_GetRealm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetRealmRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(RealmsServiceServer).GetRealm(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.RealmsService/GetRealm",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(RealmsServiceServer).GetRealm(ctx, req.(*GetRealmRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _RealmsService_CreateRealm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateRealmRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(RealmsServiceServer).CreateRealm(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.RealmsService/CreateRealm",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(RealmsServiceServer).CreateRealm(ctx, req.(*CreateRealmRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _RealmsService_DeleteRealm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteRealmRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(RealmsServiceServer).DeleteRealm(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.RealmsService/DeleteRealm",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(RealmsServiceServer).DeleteRealm(ctx, req.(*DeleteRealmRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _RealmsService_UpdateRealm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateRealmRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(RealmsServiceServer).UpdateRealm(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.RealmsService/UpdateRealm",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(RealmsServiceServer).UpdateRealm(ctx, req.(*UpdateRealmRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _RealmsService_PreviewRealmUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(PreviewRealmUpdateRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(RealmsServiceServer).PreviewRealmUpdate(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.gaming.v1beta.RealmsService/PreviewRealmUpdate",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(RealmsServiceServer).PreviewRealmUpdate(ctx, req.(*PreviewRealmUpdateRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _RealmsService_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.gaming.v1beta.RealmsService",
+	HandlerType: (*RealmsServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "ListRealms",
+			Handler:    _RealmsService_ListRealms_Handler,
+		},
+		{
+			MethodName: "GetRealm",
+			Handler:    _RealmsService_GetRealm_Handler,
+		},
+		{
+			MethodName: "CreateRealm",
+			Handler:    _RealmsService_CreateRealm_Handler,
+		},
+		{
+			MethodName: "DeleteRealm",
+			Handler:    _RealmsService_DeleteRealm_Handler,
+		},
+		{
+			MethodName: "UpdateRealm",
+			Handler:    _RealmsService_UpdateRealm_Handler,
+		},
+		{
+			MethodName: "PreviewRealmUpdate",
+			Handler:    _RealmsService_PreviewRealmUpdate_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "google/cloud/gaming/v1beta/realms_service.proto",
+}