blob: 3f44eefd6da02d80c5d58e6c3f520f9fdc058b23 [file] [log] [blame]
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.12.2
// source: google/cloud/redis/v1/cloud_redis.proto
package redispb
import (
context "context"
reflect "reflect"
sync "sync"
duration "github.com/golang/protobuf/ptypes/duration"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
_ "google.golang.org/genproto/googleapis/api/annotations"
longrunning "google.golang.org/genproto/googleapis/longrunning"
dayofweek "google.golang.org/genproto/googleapis/type/dayofweek"
timeofday "google.golang.org/genproto/googleapis/type/timeofday"
field_mask "google.golang.org/genproto/protobuf/field_mask"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Represents the different states of a Redis instance.
type Instance_State int32
const (
// Not set.
Instance_STATE_UNSPECIFIED Instance_State = 0
// Redis instance is being created.
Instance_CREATING Instance_State = 1
// Redis instance has been created and is fully usable.
Instance_READY Instance_State = 2
// Redis instance configuration is being updated. Certain kinds of updates
// may cause the instance to become unusable while the update is in
// progress.
Instance_UPDATING Instance_State = 3
// Redis instance is being deleted.
Instance_DELETING Instance_State = 4
// Redis instance is being repaired and may be unusable.
Instance_REPAIRING Instance_State = 5
// Maintenance is being performed on this Redis instance.
Instance_MAINTENANCE Instance_State = 6
// Redis instance is importing data (availability may be affected).
Instance_IMPORTING Instance_State = 8
// Redis instance is failing over (availability may be affected).
Instance_FAILING_OVER Instance_State = 9
)
// Enum value maps for Instance_State.
var (
Instance_State_name = map[int32]string{
0: "STATE_UNSPECIFIED",
1: "CREATING",
2: "READY",
3: "UPDATING",
4: "DELETING",
5: "REPAIRING",
6: "MAINTENANCE",
8: "IMPORTING",
9: "FAILING_OVER",
}
Instance_State_value = map[string]int32{
"STATE_UNSPECIFIED": 0,
"CREATING": 1,
"READY": 2,
"UPDATING": 3,
"DELETING": 4,
"REPAIRING": 5,
"MAINTENANCE": 6,
"IMPORTING": 8,
"FAILING_OVER": 9,
}
)
func (x Instance_State) Enum() *Instance_State {
p := new(Instance_State)
*p = x
return p
}
func (x Instance_State) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Instance_State) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[0].Descriptor()
}
func (Instance_State) Type() protoreflect.EnumType {
return &file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[0]
}
func (x Instance_State) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Instance_State.Descriptor instead.
func (Instance_State) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{1, 0}
}
// Available service tiers to choose from
type Instance_Tier int32
const (
// Not set.
Instance_TIER_UNSPECIFIED Instance_Tier = 0
// BASIC tier: standalone instance
Instance_BASIC Instance_Tier = 1
// STANDARD_HA tier: highly available primary/replica instances
Instance_STANDARD_HA Instance_Tier = 3
)
// Enum value maps for Instance_Tier.
var (
Instance_Tier_name = map[int32]string{
0: "TIER_UNSPECIFIED",
1: "BASIC",
3: "STANDARD_HA",
}
Instance_Tier_value = map[string]int32{
"TIER_UNSPECIFIED": 0,
"BASIC": 1,
"STANDARD_HA": 3,
}
)
func (x Instance_Tier) Enum() *Instance_Tier {
p := new(Instance_Tier)
*p = x
return p
}
func (x Instance_Tier) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Instance_Tier) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[1].Descriptor()
}
func (Instance_Tier) Type() protoreflect.EnumType {
return &file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[1]
}
func (x Instance_Tier) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Instance_Tier.Descriptor instead.
func (Instance_Tier) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{1, 1}
}
// Available connection modes.
type Instance_ConnectMode int32
const (
// Not set.
Instance_CONNECT_MODE_UNSPECIFIED Instance_ConnectMode = 0
// Connect via direct peering to the Memorystore for Redis hosted service.
Instance_DIRECT_PEERING Instance_ConnectMode = 1
// Connect your Memorystore for Redis instance using Private Service
// Access. Private services access provides an IP address range for multiple
// Google Cloud services, including Memorystore.
Instance_PRIVATE_SERVICE_ACCESS Instance_ConnectMode = 2
)
// Enum value maps for Instance_ConnectMode.
var (
Instance_ConnectMode_name = map[int32]string{
0: "CONNECT_MODE_UNSPECIFIED",
1: "DIRECT_PEERING",
2: "PRIVATE_SERVICE_ACCESS",
}
Instance_ConnectMode_value = map[string]int32{
"CONNECT_MODE_UNSPECIFIED": 0,
"DIRECT_PEERING": 1,
"PRIVATE_SERVICE_ACCESS": 2,
}
)
func (x Instance_ConnectMode) Enum() *Instance_ConnectMode {
p := new(Instance_ConnectMode)
*p = x
return p
}
func (x Instance_ConnectMode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Instance_ConnectMode) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[2].Descriptor()
}
func (Instance_ConnectMode) Type() protoreflect.EnumType {
return &file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[2]
}
func (x Instance_ConnectMode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Instance_ConnectMode.Descriptor instead.
func (Instance_ConnectMode) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{1, 2}
}
// Available TLS modes.
type Instance_TransitEncryptionMode int32
const (
// Not set.
Instance_TRANSIT_ENCRYPTION_MODE_UNSPECIFIED Instance_TransitEncryptionMode = 0
// Client to Server traffic encryption enabled with server authentication.
Instance_SERVER_AUTHENTICATION Instance_TransitEncryptionMode = 1
// TLS is disabled for the instance.
Instance_DISABLED Instance_TransitEncryptionMode = 2
)
// Enum value maps for Instance_TransitEncryptionMode.
var (
Instance_TransitEncryptionMode_name = map[int32]string{
0: "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED",
1: "SERVER_AUTHENTICATION",
2: "DISABLED",
}
Instance_TransitEncryptionMode_value = map[string]int32{
"TRANSIT_ENCRYPTION_MODE_UNSPECIFIED": 0,
"SERVER_AUTHENTICATION": 1,
"DISABLED": 2,
}
)
func (x Instance_TransitEncryptionMode) Enum() *Instance_TransitEncryptionMode {
p := new(Instance_TransitEncryptionMode)
*p = x
return p
}
func (x Instance_TransitEncryptionMode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Instance_TransitEncryptionMode) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[3].Descriptor()
}
func (Instance_TransitEncryptionMode) Type() protoreflect.EnumType {
return &file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[3]
}
func (x Instance_TransitEncryptionMode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Instance_TransitEncryptionMode.Descriptor instead.
func (Instance_TransitEncryptionMode) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{1, 3}
}
// Read replicas mode.
type Instance_ReadReplicasMode int32
const (
// If not set, Memorystore Redis backend will default to
// READ_REPLICAS_DISABLED.
Instance_READ_REPLICAS_MODE_UNSPECIFIED Instance_ReadReplicasMode = 0
// If disabled, read endpoint will not be provided and the instance cannot
// scale up or down the number of replicas.
Instance_READ_REPLICAS_DISABLED Instance_ReadReplicasMode = 1
// If enabled, read endpoint will be provided and the instance can scale
// up and down the number of replicas. Not valid for basic tier.
Instance_READ_REPLICAS_ENABLED Instance_ReadReplicasMode = 2
)
// Enum value maps for Instance_ReadReplicasMode.
var (
Instance_ReadReplicasMode_name = map[int32]string{
0: "READ_REPLICAS_MODE_UNSPECIFIED",
1: "READ_REPLICAS_DISABLED",
2: "READ_REPLICAS_ENABLED",
}
Instance_ReadReplicasMode_value = map[string]int32{
"READ_REPLICAS_MODE_UNSPECIFIED": 0,
"READ_REPLICAS_DISABLED": 1,
"READ_REPLICAS_ENABLED": 2,
}
)
func (x Instance_ReadReplicasMode) Enum() *Instance_ReadReplicasMode {
p := new(Instance_ReadReplicasMode)
*p = x
return p
}
func (x Instance_ReadReplicasMode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Instance_ReadReplicasMode) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[4].Descriptor()
}
func (Instance_ReadReplicasMode) Type() protoreflect.EnumType {
return &file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[4]
}
func (x Instance_ReadReplicasMode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Instance_ReadReplicasMode.Descriptor instead.
func (Instance_ReadReplicasMode) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{1, 4}
}
// Reschedule options.
type RescheduleMaintenanceRequest_RescheduleType int32
const (
// Not set.
RescheduleMaintenanceRequest_RESCHEDULE_TYPE_UNSPECIFIED RescheduleMaintenanceRequest_RescheduleType = 0
// If the user wants to schedule the maintenance to happen now.
RescheduleMaintenanceRequest_IMMEDIATE RescheduleMaintenanceRequest_RescheduleType = 1
// If the user wants to use the existing maintenance policy to find the
// next available window.
RescheduleMaintenanceRequest_NEXT_AVAILABLE_WINDOW RescheduleMaintenanceRequest_RescheduleType = 2
// If the user wants to reschedule the maintenance to a specific time.
RescheduleMaintenanceRequest_SPECIFIC_TIME RescheduleMaintenanceRequest_RescheduleType = 3
)
// Enum value maps for RescheduleMaintenanceRequest_RescheduleType.
var (
RescheduleMaintenanceRequest_RescheduleType_name = map[int32]string{
0: "RESCHEDULE_TYPE_UNSPECIFIED",
1: "IMMEDIATE",
2: "NEXT_AVAILABLE_WINDOW",
3: "SPECIFIC_TIME",
}
RescheduleMaintenanceRequest_RescheduleType_value = map[string]int32{
"RESCHEDULE_TYPE_UNSPECIFIED": 0,
"IMMEDIATE": 1,
"NEXT_AVAILABLE_WINDOW": 2,
"SPECIFIC_TIME": 3,
}
)
func (x RescheduleMaintenanceRequest_RescheduleType) Enum() *RescheduleMaintenanceRequest_RescheduleType {
p := new(RescheduleMaintenanceRequest_RescheduleType)
*p = x
return p
}
func (x RescheduleMaintenanceRequest_RescheduleType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RescheduleMaintenanceRequest_RescheduleType) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[5].Descriptor()
}
func (RescheduleMaintenanceRequest_RescheduleType) Type() protoreflect.EnumType {
return &file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[5]
}
func (x RescheduleMaintenanceRequest_RescheduleType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RescheduleMaintenanceRequest_RescheduleType.Descriptor instead.
func (RescheduleMaintenanceRequest_RescheduleType) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{2, 0}
}
// Specifies different modes of operation in relation to the data retention.
type FailoverInstanceRequest_DataProtectionMode int32
const (
// Defaults to LIMITED_DATA_LOSS if a data protection mode is not
// specified.
FailoverInstanceRequest_DATA_PROTECTION_MODE_UNSPECIFIED FailoverInstanceRequest_DataProtectionMode = 0
// Instance failover will be protected with data loss control. More
// specifically, the failover will only be performed if the current
// replication offset diff between primary and replica is under a certain
// threshold.
FailoverInstanceRequest_LIMITED_DATA_LOSS FailoverInstanceRequest_DataProtectionMode = 1
// Instance failover will be performed without data loss control.
FailoverInstanceRequest_FORCE_DATA_LOSS FailoverInstanceRequest_DataProtectionMode = 2
)
// Enum value maps for FailoverInstanceRequest_DataProtectionMode.
var (
FailoverInstanceRequest_DataProtectionMode_name = map[int32]string{
0: "DATA_PROTECTION_MODE_UNSPECIFIED",
1: "LIMITED_DATA_LOSS",
2: "FORCE_DATA_LOSS",
}
FailoverInstanceRequest_DataProtectionMode_value = map[string]int32{
"DATA_PROTECTION_MODE_UNSPECIFIED": 0,
"LIMITED_DATA_LOSS": 1,
"FORCE_DATA_LOSS": 2,
}
)
func (x FailoverInstanceRequest_DataProtectionMode) Enum() *FailoverInstanceRequest_DataProtectionMode {
p := new(FailoverInstanceRequest_DataProtectionMode)
*p = x
return p
}
func (x FailoverInstanceRequest_DataProtectionMode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (FailoverInstanceRequest_DataProtectionMode) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[6].Descriptor()
}
func (FailoverInstanceRequest_DataProtectionMode) Type() protoreflect.EnumType {
return &file_google_cloud_redis_v1_cloud_redis_proto_enumTypes[6]
}
func (x FailoverInstanceRequest_DataProtectionMode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use FailoverInstanceRequest_DataProtectionMode.Descriptor instead.
func (FailoverInstanceRequest_DataProtectionMode) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{21, 0}
}
// Node specific properties.
type NodeInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Output only. Node identifying string. e.g. 'node-0', 'node-1'
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Output only. Location of the node.
Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
}
func (x *NodeInfo) Reset() {
*x = NodeInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NodeInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeInfo) ProtoMessage() {}
func (x *NodeInfo) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeInfo.ProtoReflect.Descriptor instead.
func (*NodeInfo) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{0}
}
func (x *NodeInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *NodeInfo) GetZone() string {
if x != nil {
return x.Zone
}
return ""
}
// A Memorystore for Redis instance.
type Instance struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Unique name of the resource in this scope including project and
// location using the form:
//
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
//
// Note: Redis instances are managed and addressed at regional level so
// location_id here refers to a GCP region; however, users may choose which
// specific zone (or collection of zones for cross-zone instances) an instance
// should be provisioned in. Refer to [location_id][google.cloud.redis.v1.Instance.location_id] and
// [alternative_location_id][google.cloud.redis.v1.Instance.alternative_location_id] fields for more details.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// An arbitrary and optional user-provided name for the instance.
DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// Resource labels to represent user provided metadata
Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Optional. The zone where the instance will be provisioned. If not provided,
// the service will choose a zone from the specified region for the instance.
// For standard tier, additional nodes will be added across multiple zones for
// protection against zonal failures. If specified, at least one node will be
// provisioned in this zone.
LocationId string `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
// Optional. If specified, at least one node will be provisioned in this zone
// in addition to the zone specified in location_id. Only applicable to
// standard tier. If provided, it must be a different zone from the one
// provided in [location_id]. Additional nodes beyond the first 2 will be
// placed in zones selected by the service.
AlternativeLocationId string `protobuf:"bytes,5,opt,name=alternative_location_id,json=alternativeLocationId,proto3" json:"alternative_location_id,omitempty"`
// Optional. The version of Redis software.
// If not provided, latest supported version will be used. Currently, the
// supported values are:
//
// - `REDIS_3_2` for Redis 3.2 compatibility
// - `REDIS_4_0` for Redis 4.0 compatibility (default)
// - `REDIS_5_0` for Redis 5.0 compatibility
// - `REDIS_6_X` for Redis 6.x compatibility
RedisVersion string `protobuf:"bytes,7,opt,name=redis_version,json=redisVersion,proto3" json:"redis_version,omitempty"`
// Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses
// that are reserved for this instance. Range must
// be unique and non-overlapping with existing subnets in an authorized
// network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP
// address ranges associated with this private service access connection.
// If not provided, the service will choose an unused /29 block, for
// example, 10.0.0.0/29 or 192.168.0.0/29. For READ_REPLICAS_ENABLED
// the default block size is /28.
ReservedIpRange string `protobuf:"bytes,9,opt,name=reserved_ip_range,json=reservedIpRange,proto3" json:"reserved_ip_range,omitempty"`
// Optional. Additional IP range for node placement. Required when enabling read
// replicas on an existing instance. For DIRECT_PEERING mode value must be a
// CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS mode value
// must be the name of an allocated address range associated with the private
// service access connection, or "auto".
SecondaryIpRange string `protobuf:"bytes,30,opt,name=secondary_ip_range,json=secondaryIpRange,proto3" json:"secondary_ip_range,omitempty"`
// Output only. Hostname or IP address of the exposed Redis endpoint used by
// clients to connect to the service.
Host string `protobuf:"bytes,10,opt,name=host,proto3" json:"host,omitempty"`
// Output only. The port number of the exposed Redis endpoint.
Port int32 `protobuf:"varint,11,opt,name=port,proto3" json:"port,omitempty"`
// Output only. The current zone where the Redis primary node is located. In
// basic tier, this will always be the same as [location_id]. In
// standard tier, this can be the zone of any node in the instance.
CurrentLocationId string `protobuf:"bytes,12,opt,name=current_location_id,json=currentLocationId,proto3" json:"current_location_id,omitempty"`
// Output only. The time the instance was created.
CreateTime *timestamp.Timestamp `protobuf:"bytes,13,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Output only. The current state of this instance.
State Instance_State `protobuf:"varint,14,opt,name=state,proto3,enum=google.cloud.redis.v1.Instance_State" json:"state,omitempty"`
// Output only. Additional information about the current status of this
// instance, if available.
StatusMessage string `protobuf:"bytes,15,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
// Optional. Redis configuration parameters, according to
// http://redis.io/topics/config. Currently, the only supported parameters
// are:
//
// Redis version 3.2 and newer:
//
// * maxmemory-policy
// * notify-keyspace-events
//
// Redis version 4.0 and newer:
//
// * activedefrag
// * lfu-decay-time
// * lfu-log-factor
// * maxmemory-gb
//
// Redis version 5.0 and newer:
//
// * stream-node-max-bytes
// * stream-node-max-entries
RedisConfigs map[string]string `protobuf:"bytes,16,rep,name=redis_configs,json=redisConfigs,proto3" json:"redis_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Required. The service tier of the instance.
Tier Instance_Tier `protobuf:"varint,17,opt,name=tier,proto3,enum=google.cloud.redis.v1.Instance_Tier" json:"tier,omitempty"`
// Required. Redis memory size in GiB.
MemorySizeGb int32 `protobuf:"varint,18,opt,name=memory_size_gb,json=memorySizeGb,proto3" json:"memory_size_gb,omitempty"`
// Optional. The full name of the Google Compute Engine
// [network](https://cloud.google.com/vpc/docs/vpc) to which the
// instance is connected. If left unspecified, the `default` network
// will be used.
AuthorizedNetwork string `protobuf:"bytes,20,opt,name=authorized_network,json=authorizedNetwork,proto3" json:"authorized_network,omitempty"`
// Output only. Cloud IAM identity used by import / export operations to
// transfer data to/from Cloud Storage. Format is
// "serviceAccount:<service_account_email>". The value may change over time
// for a given instance so should be checked before each import/export
// operation.
PersistenceIamIdentity string `protobuf:"bytes,21,opt,name=persistence_iam_identity,json=persistenceIamIdentity,proto3" json:"persistence_iam_identity,omitempty"`
// Optional. The network connect mode of the Redis instance.
// If not provided, the connect mode defaults to DIRECT_PEERING.
ConnectMode Instance_ConnectMode `protobuf:"varint,22,opt,name=connect_mode,json=connectMode,proto3,enum=google.cloud.redis.v1.Instance_ConnectMode" json:"connect_mode,omitempty"`
// Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If set to
// "true" AUTH is enabled on the instance. Default value is "false" meaning
// AUTH is disabled.
AuthEnabled bool `protobuf:"varint,23,opt,name=auth_enabled,json=authEnabled,proto3" json:"auth_enabled,omitempty"`
// Output only. List of server CA certificates for the instance.
ServerCaCerts []*TlsCertificate `protobuf:"bytes,25,rep,name=server_ca_certs,json=serverCaCerts,proto3" json:"server_ca_certs,omitempty"`
// Optional. The TLS mode of the Redis instance.
// If not provided, TLS is disabled for the instance.
TransitEncryptionMode Instance_TransitEncryptionMode `protobuf:"varint,26,opt,name=transit_encryption_mode,json=transitEncryptionMode,proto3,enum=google.cloud.redis.v1.Instance_TransitEncryptionMode" json:"transit_encryption_mode,omitempty"`
// Optional. The maintenance policy for the instance. If not provided,
// maintenance events can be performed at any time.
MaintenancePolicy *MaintenancePolicy `protobuf:"bytes,27,opt,name=maintenance_policy,json=maintenancePolicy,proto3" json:"maintenance_policy,omitempty"`
// Output only. Date and time of upcoming maintenance events which have been
// scheduled.
MaintenanceSchedule *MaintenanceSchedule `protobuf:"bytes,28,opt,name=maintenance_schedule,json=maintenanceSchedule,proto3" json:"maintenance_schedule,omitempty"`
// Optional. The number of replica nodes. The valid range for the Standard Tier with
// read replicas enabled is [1-5] and defaults to 2. If read replicas are not
// enabled for a Standard Tier instance, the only valid value is 1 and the
// default is 1. The valid value for basic tier is 0 and the default is also
// 0.
ReplicaCount int32 `protobuf:"varint,31,opt,name=replica_count,json=replicaCount,proto3" json:"replica_count,omitempty"`
// Output only. Info per node.
Nodes []*NodeInfo `protobuf:"bytes,32,rep,name=nodes,proto3" json:"nodes,omitempty"`
// Output only. Hostname or IP address of the exposed readonly Redis
// endpoint. Standard tier only. Targets all healthy replica nodes in
// instance. Replication is asynchronous and replica nodes will exhibit some
// lag behind the primary. Write requests must target 'host'.
ReadEndpoint string `protobuf:"bytes,33,opt,name=read_endpoint,json=readEndpoint,proto3" json:"read_endpoint,omitempty"`
// Output only. The port number of the exposed readonly redis
// endpoint. Standard tier only. Write requests should target 'port'.
ReadEndpointPort int32 `protobuf:"varint,34,opt,name=read_endpoint_port,json=readEndpointPort,proto3" json:"read_endpoint_port,omitempty"`
// Optional. Read replicas mode for the instance. Defaults to READ_REPLICAS_DISABLED.
ReadReplicasMode Instance_ReadReplicasMode `protobuf:"varint,35,opt,name=read_replicas_mode,json=readReplicasMode,proto3,enum=google.cloud.redis.v1.Instance_ReadReplicasMode" json:"read_replicas_mode,omitempty"`
}
func (x *Instance) Reset() {
*x = Instance{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Instance) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Instance) ProtoMessage() {}
func (x *Instance) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Instance.ProtoReflect.Descriptor instead.
func (*Instance) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{1}
}
func (x *Instance) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Instance) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *Instance) GetLabels() map[string]string {
if x != nil {
return x.Labels
}
return nil
}
func (x *Instance) GetLocationId() string {
if x != nil {
return x.LocationId
}
return ""
}
func (x *Instance) GetAlternativeLocationId() string {
if x != nil {
return x.AlternativeLocationId
}
return ""
}
func (x *Instance) GetRedisVersion() string {
if x != nil {
return x.RedisVersion
}
return ""
}
func (x *Instance) GetReservedIpRange() string {
if x != nil {
return x.ReservedIpRange
}
return ""
}
func (x *Instance) GetSecondaryIpRange() string {
if x != nil {
return x.SecondaryIpRange
}
return ""
}
func (x *Instance) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
func (x *Instance) GetPort() int32 {
if x != nil {
return x.Port
}
return 0
}
func (x *Instance) GetCurrentLocationId() string {
if x != nil {
return x.CurrentLocationId
}
return ""
}
func (x *Instance) GetCreateTime() *timestamp.Timestamp {
if x != nil {
return x.CreateTime
}
return nil
}
func (x *Instance) GetState() Instance_State {
if x != nil {
return x.State
}
return Instance_STATE_UNSPECIFIED
}
func (x *Instance) GetStatusMessage() string {
if x != nil {
return x.StatusMessage
}
return ""
}
func (x *Instance) GetRedisConfigs() map[string]string {
if x != nil {
return x.RedisConfigs
}
return nil
}
func (x *Instance) GetTier() Instance_Tier {
if x != nil {
return x.Tier
}
return Instance_TIER_UNSPECIFIED
}
func (x *Instance) GetMemorySizeGb() int32 {
if x != nil {
return x.MemorySizeGb
}
return 0
}
func (x *Instance) GetAuthorizedNetwork() string {
if x != nil {
return x.AuthorizedNetwork
}
return ""
}
func (x *Instance) GetPersistenceIamIdentity() string {
if x != nil {
return x.PersistenceIamIdentity
}
return ""
}
func (x *Instance) GetConnectMode() Instance_ConnectMode {
if x != nil {
return x.ConnectMode
}
return Instance_CONNECT_MODE_UNSPECIFIED
}
func (x *Instance) GetAuthEnabled() bool {
if x != nil {
return x.AuthEnabled
}
return false
}
func (x *Instance) GetServerCaCerts() []*TlsCertificate {
if x != nil {
return x.ServerCaCerts
}
return nil
}
func (x *Instance) GetTransitEncryptionMode() Instance_TransitEncryptionMode {
if x != nil {
return x.TransitEncryptionMode
}
return Instance_TRANSIT_ENCRYPTION_MODE_UNSPECIFIED
}
func (x *Instance) GetMaintenancePolicy() *MaintenancePolicy {
if x != nil {
return x.MaintenancePolicy
}
return nil
}
func (x *Instance) GetMaintenanceSchedule() *MaintenanceSchedule {
if x != nil {
return x.MaintenanceSchedule
}
return nil
}
func (x *Instance) GetReplicaCount() int32 {
if x != nil {
return x.ReplicaCount
}
return 0
}
func (x *Instance) GetNodes() []*NodeInfo {
if x != nil {
return x.Nodes
}
return nil
}
func (x *Instance) GetReadEndpoint() string {
if x != nil {
return x.ReadEndpoint
}
return ""
}
func (x *Instance) GetReadEndpointPort() int32 {
if x != nil {
return x.ReadEndpointPort
}
return 0
}
func (x *Instance) GetReadReplicasMode() Instance_ReadReplicasMode {
if x != nil {
return x.ReadReplicasMode
}
return Instance_READ_REPLICAS_MODE_UNSPECIFIED
}
// Request for [RescheduleMaintenance][google.cloud.redis.v1.CloudRedis.RescheduleMaintenance].
type RescheduleMaintenanceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Redis instance resource name using the form:
//
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
//
// where `location_id` refers to a GCP region.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.
RescheduleType RescheduleMaintenanceRequest_RescheduleType `protobuf:"varint,2,opt,name=reschedule_type,json=rescheduleType,proto3,enum=google.cloud.redis.v1.RescheduleMaintenanceRequest_RescheduleType" json:"reschedule_type,omitempty"`
// Optional. Timestamp when the maintenance shall be rescheduled to if
// reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for
// example `2012-11-15T16:19:00.094Z`.
ScheduleTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=schedule_time,json=scheduleTime,proto3" json:"schedule_time,omitempty"`
}
func (x *RescheduleMaintenanceRequest) Reset() {
*x = RescheduleMaintenanceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RescheduleMaintenanceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RescheduleMaintenanceRequest) ProtoMessage() {}
func (x *RescheduleMaintenanceRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RescheduleMaintenanceRequest.ProtoReflect.Descriptor instead.
func (*RescheduleMaintenanceRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{2}
}
func (x *RescheduleMaintenanceRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *RescheduleMaintenanceRequest) GetRescheduleType() RescheduleMaintenanceRequest_RescheduleType {
if x != nil {
return x.RescheduleType
}
return RescheduleMaintenanceRequest_RESCHEDULE_TYPE_UNSPECIFIED
}
func (x *RescheduleMaintenanceRequest) GetScheduleTime() *timestamp.Timestamp {
if x != nil {
return x.ScheduleTime
}
return nil
}
// Maintenance policy for an instance.
type MaintenancePolicy struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Output only. The time when the policy was created.
CreateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Output only. The time when the policy was last updated.
UpdateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
// Optional. Description of what this policy is for. Create/Update methods
// return INVALID_ARGUMENT if the length is greater than 512.
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// Optional. Maintenance window that is applied to resources covered by this
// policy. Minimum 1. For the current version, the maximum number of
// weekly_window is expected to be one.
WeeklyMaintenanceWindow []*WeeklyMaintenanceWindow `protobuf:"bytes,4,rep,name=weekly_maintenance_window,json=weeklyMaintenanceWindow,proto3" json:"weekly_maintenance_window,omitempty"`
}
func (x *MaintenancePolicy) Reset() {
*x = MaintenancePolicy{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MaintenancePolicy) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MaintenancePolicy) ProtoMessage() {}
func (x *MaintenancePolicy) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MaintenancePolicy.ProtoReflect.Descriptor instead.
func (*MaintenancePolicy) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{3}
}
func (x *MaintenancePolicy) GetCreateTime() *timestamp.Timestamp {
if x != nil {
return x.CreateTime
}
return nil
}
func (x *MaintenancePolicy) GetUpdateTime() *timestamp.Timestamp {
if x != nil {
return x.UpdateTime
}
return nil
}
func (x *MaintenancePolicy) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *MaintenancePolicy) GetWeeklyMaintenanceWindow() []*WeeklyMaintenanceWindow {
if x != nil {
return x.WeeklyMaintenanceWindow
}
return nil
}
// Time window in which disruptive maintenance updates occur. Non-disruptive
// updates can occur inside or outside this window.
type WeeklyMaintenanceWindow struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The day of week that maintenance updates occur.
Day dayofweek.DayOfWeek `protobuf:"varint,1,opt,name=day,proto3,enum=google.type.DayOfWeek" json:"day,omitempty"`
// Required. Start time of the window in UTC time.
StartTime *timeofday.TimeOfDay `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
// Output only. Duration of the maintenance window. The current window is fixed at 1 hour.
Duration *duration.Duration `protobuf:"bytes,3,opt,name=duration,proto3" json:"duration,omitempty"`
}
func (x *WeeklyMaintenanceWindow) Reset() {
*x = WeeklyMaintenanceWindow{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WeeklyMaintenanceWindow) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WeeklyMaintenanceWindow) ProtoMessage() {}
func (x *WeeklyMaintenanceWindow) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WeeklyMaintenanceWindow.ProtoReflect.Descriptor instead.
func (*WeeklyMaintenanceWindow) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{4}
}
func (x *WeeklyMaintenanceWindow) GetDay() dayofweek.DayOfWeek {
if x != nil {
return x.Day
}
return dayofweek.DayOfWeek_DAY_OF_WEEK_UNSPECIFIED
}
func (x *WeeklyMaintenanceWindow) GetStartTime() *timeofday.TimeOfDay {
if x != nil {
return x.StartTime
}
return nil
}
func (x *WeeklyMaintenanceWindow) GetDuration() *duration.Duration {
if x != nil {
return x.Duration
}
return nil
}
// Upcoming maintenance schedule. If no maintenance is scheduled, fields are not
// populated.
type MaintenanceSchedule struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Output only. The start time of any upcoming scheduled maintenance for this instance.
StartTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
// Output only. The end time of any upcoming scheduled maintenance for this instance.
EndTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
// If the scheduled maintenance can be rescheduled, default is true.
//
// Deprecated: Do not use.
CanReschedule bool `protobuf:"varint,3,opt,name=can_reschedule,json=canReschedule,proto3" json:"can_reschedule,omitempty"`
// Output only. The deadline that the maintenance schedule start time can not go beyond,
// including reschedule.
ScheduleDeadlineTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=schedule_deadline_time,json=scheduleDeadlineTime,proto3" json:"schedule_deadline_time,omitempty"`
}
func (x *MaintenanceSchedule) Reset() {
*x = MaintenanceSchedule{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MaintenanceSchedule) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MaintenanceSchedule) ProtoMessage() {}
func (x *MaintenanceSchedule) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MaintenanceSchedule.ProtoReflect.Descriptor instead.
func (*MaintenanceSchedule) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{5}
}
func (x *MaintenanceSchedule) GetStartTime() *timestamp.Timestamp {
if x != nil {
return x.StartTime
}
return nil
}
func (x *MaintenanceSchedule) GetEndTime() *timestamp.Timestamp {
if x != nil {
return x.EndTime
}
return nil
}
// Deprecated: Do not use.
func (x *MaintenanceSchedule) GetCanReschedule() bool {
if x != nil {
return x.CanReschedule
}
return false
}
func (x *MaintenanceSchedule) GetScheduleDeadlineTime() *timestamp.Timestamp {
if x != nil {
return x.ScheduleDeadlineTime
}
return nil
}
// Request for [ListInstances][google.cloud.redis.v1.CloudRedis.ListInstances].
type ListInstancesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the instance location using the form:
//
// `projects/{project_id}/locations/{location_id}`
//
// where `location_id` refers to a GCP region.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The maximum number of items to return.
//
// If not specified, a default value of 1000 will be used by the service.
// Regardless of the page_size value, the response may include a partial list
// and a caller should only rely on response's
// [`next_page_token`][google.cloud.redis.v1.ListInstancesResponse.next_page_token]
// to determine if there are more instances left to be queried.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// The `next_page_token` value returned from a previous
// [ListInstances][google.cloud.redis.v1.CloudRedis.ListInstances] request, if any.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}
func (x *ListInstancesRequest) Reset() {
*x = ListInstancesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListInstancesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListInstancesRequest) ProtoMessage() {}
func (x *ListInstancesRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListInstancesRequest.ProtoReflect.Descriptor instead.
func (*ListInstancesRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{6}
}
func (x *ListInstancesRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *ListInstancesRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListInstancesRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
// Response for [ListInstances][google.cloud.redis.v1.CloudRedis.ListInstances].
type ListInstancesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// A list of Redis instances in the project in the specified location,
// or across all locations.
//
// If the `location_id` in the parent field of the request is "-", all regions
// available to the project are queried, and the results aggregated.
// If in such an aggregated query a location is unavailable, a placeholder
// Redis entry is included in the response with the `name` field set to a
// value of the form
// `projects/{project_id}/locations/{location_id}/instances/`- and the
// `status` field set to ERROR and `status_message` field set to "location not
// available for ListInstances".
Instances []*Instance `protobuf:"bytes,1,rep,name=instances,proto3" json:"instances,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"`
// Locations that could not be reached.
Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
}
func (x *ListInstancesResponse) Reset() {
*x = ListInstancesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListInstancesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListInstancesResponse) ProtoMessage() {}
func (x *ListInstancesResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListInstancesResponse.ProtoReflect.Descriptor instead.
func (*ListInstancesResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{7}
}
func (x *ListInstancesResponse) GetInstances() []*Instance {
if x != nil {
return x.Instances
}
return nil
}
func (x *ListInstancesResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
func (x *ListInstancesResponse) GetUnreachable() []string {
if x != nil {
return x.Unreachable
}
return nil
}
// Request for [GetInstance][google.cloud.redis.v1.CloudRedis.GetInstance].
type GetInstanceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Redis instance resource name using the form:
//
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
//
// where `location_id` refers to a GCP region.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetInstanceRequest) Reset() {
*x = GetInstanceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetInstanceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetInstanceRequest) ProtoMessage() {}
func (x *GetInstanceRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetInstanceRequest.ProtoReflect.Descriptor instead.
func (*GetInstanceRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{8}
}
func (x *GetInstanceRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request for [GetInstanceAuthString][google.cloud.redis.v1.CloudRedis.GetInstanceAuthString].
type GetInstanceAuthStringRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Redis instance resource name using the form:
//
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
//
// where `location_id` refers to a GCP region.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetInstanceAuthStringRequest) Reset() {
*x = GetInstanceAuthStringRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetInstanceAuthStringRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetInstanceAuthStringRequest) ProtoMessage() {}
func (x *GetInstanceAuthStringRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetInstanceAuthStringRequest.ProtoReflect.Descriptor instead.
func (*GetInstanceAuthStringRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{9}
}
func (x *GetInstanceAuthStringRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Instance AUTH string details.
type InstanceAuthString struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// AUTH string set on the instance.
AuthString string `protobuf:"bytes,1,opt,name=auth_string,json=authString,proto3" json:"auth_string,omitempty"`
}
func (x *InstanceAuthString) Reset() {
*x = InstanceAuthString{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InstanceAuthString) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InstanceAuthString) ProtoMessage() {}
func (x *InstanceAuthString) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InstanceAuthString.ProtoReflect.Descriptor instead.
func (*InstanceAuthString) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{10}
}
func (x *InstanceAuthString) GetAuthString() string {
if x != nil {
return x.AuthString
}
return ""
}
// Request for [CreateInstance][google.cloud.redis.v1.CloudRedis.CreateInstance].
type CreateInstanceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The resource name of the instance location using the form:
//
// `projects/{project_id}/locations/{location_id}`
//
// where `location_id` refers to a GCP region.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. The logical name of the Redis instance in the customer project
// with the following restrictions:
//
// * Must contain only lowercase letters, numbers, and hyphens.
// * Must start with a letter.
// * Must be between 1-40 characters.
// * Must end with a number or a letter.
// * Must be unique within the customer project / location
InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
// Required. A Redis [Instance] resource
Instance *Instance `protobuf:"bytes,3,opt,name=instance,proto3" json:"instance,omitempty"`
}
func (x *CreateInstanceRequest) Reset() {
*x = CreateInstanceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateInstanceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateInstanceRequest) ProtoMessage() {}
func (x *CreateInstanceRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateInstanceRequest.ProtoReflect.Descriptor instead.
func (*CreateInstanceRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{11}
}
func (x *CreateInstanceRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *CreateInstanceRequest) GetInstanceId() string {
if x != nil {
return x.InstanceId
}
return ""
}
func (x *CreateInstanceRequest) GetInstance() *Instance {
if x != nil {
return x.Instance
}
return nil
}
// Request for [UpdateInstance][google.cloud.redis.v1.CloudRedis.UpdateInstance].
type UpdateInstanceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Mask of fields to update. At least one path must be supplied in
// this field. The elements of the repeated paths field may only include these
// fields from [Instance][google.cloud.redis.v1.Instance]:
//
// - `displayName`
// - `labels`
// - `memorySizeGb`
// - `redisConfig`
// - `replica_count`
UpdateMask *field_mask.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// Required. Update description.
// Only fields specified in update_mask are updated.
Instance *Instance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"`
}
func (x *UpdateInstanceRequest) Reset() {
*x = UpdateInstanceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateInstanceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateInstanceRequest) ProtoMessage() {}
func (x *UpdateInstanceRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateInstanceRequest.ProtoReflect.Descriptor instead.
func (*UpdateInstanceRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{12}
}
func (x *UpdateInstanceRequest) GetUpdateMask() *field_mask.FieldMask {
if x != nil {
return x.UpdateMask
}
return nil
}
func (x *UpdateInstanceRequest) GetInstance() *Instance {
if x != nil {
return x.Instance
}
return nil
}
// Request for [UpgradeInstance][google.cloud.redis.v1.CloudRedis.UpgradeInstance].
type UpgradeInstanceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Redis instance resource name using the form:
//
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
//
// where `location_id` refers to a GCP region.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. Specifies the target version of Redis software to upgrade to.
RedisVersion string `protobuf:"bytes,2,opt,name=redis_version,json=redisVersion,proto3" json:"redis_version,omitempty"`
}
func (x *UpgradeInstanceRequest) Reset() {
*x = UpgradeInstanceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpgradeInstanceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpgradeInstanceRequest) ProtoMessage() {}
func (x *UpgradeInstanceRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpgradeInstanceRequest.ProtoReflect.Descriptor instead.
func (*UpgradeInstanceRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{13}
}
func (x *UpgradeInstanceRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *UpgradeInstanceRequest) GetRedisVersion() string {
if x != nil {
return x.RedisVersion
}
return ""
}
// Request for [DeleteInstance][google.cloud.redis.v1.CloudRedis.DeleteInstance].
type DeleteInstanceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Redis instance resource name using the form:
//
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
//
// where `location_id` refers to a GCP region.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *DeleteInstanceRequest) Reset() {
*x = DeleteInstanceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteInstanceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteInstanceRequest) ProtoMessage() {}
func (x *DeleteInstanceRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteInstanceRequest.ProtoReflect.Descriptor instead.
func (*DeleteInstanceRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{14}
}
func (x *DeleteInstanceRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// The Cloud Storage location for the input content
type GcsSource struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Source data URI. (e.g. 'gs://my_bucket/my_object').
Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
}
func (x *GcsSource) Reset() {
*x = GcsSource{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GcsSource) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GcsSource) ProtoMessage() {}
func (x *GcsSource) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GcsSource.ProtoReflect.Descriptor instead.
func (*GcsSource) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{15}
}
func (x *GcsSource) GetUri() string {
if x != nil {
return x.Uri
}
return ""
}
// The input content
type InputConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Specify source location of input data
//
// Types that are assignable to Source:
//
// *InputConfig_GcsSource
Source isInputConfig_Source `protobuf_oneof:"source"`
}
func (x *InputConfig) Reset() {
*x = InputConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InputConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InputConfig) ProtoMessage() {}
func (x *InputConfig) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InputConfig.ProtoReflect.Descriptor instead.
func (*InputConfig) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{16}
}
func (m *InputConfig) GetSource() isInputConfig_Source {
if m != nil {
return m.Source
}
return nil
}
func (x *InputConfig) GetGcsSource() *GcsSource {
if x, ok := x.GetSource().(*InputConfig_GcsSource); ok {
return x.GcsSource
}
return nil
}
type isInputConfig_Source interface {
isInputConfig_Source()
}
type InputConfig_GcsSource struct {
// Google Cloud Storage location where input content is located.
GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
}
func (*InputConfig_GcsSource) isInputConfig_Source() {}
// Request for [Import][google.cloud.redis.v1.CloudRedis.ImportInstance].
type ImportInstanceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Redis instance resource name using the form:
//
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
//
// where `location_id` refers to a GCP region.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. Specify data to be imported.
InputConfig *InputConfig `protobuf:"bytes,3,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
}
func (x *ImportInstanceRequest) Reset() {
*x = ImportInstanceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ImportInstanceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImportInstanceRequest) ProtoMessage() {}
func (x *ImportInstanceRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ImportInstanceRequest.ProtoReflect.Descriptor instead.
func (*ImportInstanceRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{17}
}
func (x *ImportInstanceRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ImportInstanceRequest) GetInputConfig() *InputConfig {
if x != nil {
return x.InputConfig
}
return nil
}
// The Cloud Storage location for the output content
type GcsDestination struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Data destination URI (e.g.
// 'gs://my_bucket/my_object'). Existing files will be overwritten.
Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
}
func (x *GcsDestination) Reset() {
*x = GcsDestination{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GcsDestination) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GcsDestination) ProtoMessage() {}
func (x *GcsDestination) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GcsDestination.ProtoReflect.Descriptor instead.
func (*GcsDestination) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{18}
}
func (x *GcsDestination) GetUri() string {
if x != nil {
return x.Uri
}
return ""
}
// The output content
type OutputConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Specify destination location of output data
//
// Types that are assignable to Destination:
//
// *OutputConfig_GcsDestination
Destination isOutputConfig_Destination `protobuf_oneof:"destination"`
}
func (x *OutputConfig) Reset() {
*x = OutputConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OutputConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OutputConfig) ProtoMessage() {}
func (x *OutputConfig) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead.
func (*OutputConfig) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{19}
}
func (m *OutputConfig) GetDestination() isOutputConfig_Destination {
if m != nil {
return m.Destination
}
return nil
}
func (x *OutputConfig) GetGcsDestination() *GcsDestination {
if x, ok := x.GetDestination().(*OutputConfig_GcsDestination); ok {
return x.GcsDestination
}
return nil
}
type isOutputConfig_Destination interface {
isOutputConfig_Destination()
}
type OutputConfig_GcsDestination struct {
// Google Cloud Storage destination for output content.
GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"`
}
func (*OutputConfig_GcsDestination) isOutputConfig_Destination() {}
// Request for [Export][google.cloud.redis.v1.CloudRedis.ExportInstance].
type ExportInstanceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Redis instance resource name using the form:
//
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
//
// where `location_id` refers to a GCP region.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. Specify data to be exported.
OutputConfig *OutputConfig `protobuf:"bytes,3,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
}
func (x *ExportInstanceRequest) Reset() {
*x = ExportInstanceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExportInstanceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExportInstanceRequest) ProtoMessage() {}
func (x *ExportInstanceRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExportInstanceRequest.ProtoReflect.Descriptor instead.
func (*ExportInstanceRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{20}
}
func (x *ExportInstanceRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ExportInstanceRequest) GetOutputConfig() *OutputConfig {
if x != nil {
return x.OutputConfig
}
return nil
}
// Request for [Failover][google.cloud.redis.v1.CloudRedis.FailoverInstance].
type FailoverInstanceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Redis instance resource name using the form:
//
// `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
//
// where `location_id` refers to a GCP region.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Optional. Available data protection modes that the user can choose. If it's
// unspecified, data protection mode will be LIMITED_DATA_LOSS by default.
DataProtectionMode FailoverInstanceRequest_DataProtectionMode `protobuf:"varint,2,opt,name=data_protection_mode,json=dataProtectionMode,proto3,enum=google.cloud.redis.v1.FailoverInstanceRequest_DataProtectionMode" json:"data_protection_mode,omitempty"`
}
func (x *FailoverInstanceRequest) Reset() {
*x = FailoverInstanceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FailoverInstanceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FailoverInstanceRequest) ProtoMessage() {}
func (x *FailoverInstanceRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FailoverInstanceRequest.ProtoReflect.Descriptor instead.
func (*FailoverInstanceRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{21}
}
func (x *FailoverInstanceRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *FailoverInstanceRequest) GetDataProtectionMode() FailoverInstanceRequest_DataProtectionMode {
if x != nil {
return x.DataProtectionMode
}
return FailoverInstanceRequest_DATA_PROTECTION_MODE_UNSPECIFIED
}
// Represents the v1 metadata of the long-running operation.
type OperationMetadata struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Creation timestamp.
CreateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// End timestamp.
EndTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
// Operation target.
Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
// Operation verb.
Verb string `protobuf:"bytes,4,opt,name=verb,proto3" json:"verb,omitempty"`
// Operation status details.
StatusDetail string `protobuf:"bytes,5,opt,name=status_detail,json=statusDetail,proto3" json:"status_detail,omitempty"`
// Specifies if cancellation was requested for the operation.
CancelRequested bool `protobuf:"varint,6,opt,name=cancel_requested,json=cancelRequested,proto3" json:"cancel_requested,omitempty"`
// API version.
ApiVersion string `protobuf:"bytes,7,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
}
func (x *OperationMetadata) Reset() {
*x = OperationMetadata{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OperationMetadata) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OperationMetadata) ProtoMessage() {}
func (x *OperationMetadata) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead.
func (*OperationMetadata) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{22}
}
func (x *OperationMetadata) GetCreateTime() *timestamp.Timestamp {
if x != nil {
return x.CreateTime
}
return nil
}
func (x *OperationMetadata) GetEndTime() *timestamp.Timestamp {
if x != nil {
return x.EndTime
}
return nil
}
func (x *OperationMetadata) GetTarget() string {
if x != nil {
return x.Target
}
return ""
}
func (x *OperationMetadata) GetVerb() string {
if x != nil {
return x.Verb
}
return ""
}
func (x *OperationMetadata) GetStatusDetail() string {
if x != nil {
return x.StatusDetail
}
return ""
}
func (x *OperationMetadata) GetCancelRequested() bool {
if x != nil {
return x.CancelRequested
}
return false
}
func (x *OperationMetadata) GetApiVersion() string {
if x != nil {
return x.ApiVersion
}
return ""
}
// This location metadata represents additional configuration options for a
// given location where a Redis instance may be created. All fields are output
// only. It is returned as content of the
// `google.cloud.location.Location.metadata` field.
type LocationMetadata struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Output only. The set of available zones in the location. The map is keyed
// by the lowercase ID of each zone, as defined by GCE. These keys can be
// specified in `location_id` or `alternative_location_id` fields when
// creating a Redis instance.
AvailableZones map[string]*ZoneMetadata `protobuf:"bytes,1,rep,name=available_zones,json=availableZones,proto3" json:"available_zones,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *LocationMetadata) Reset() {
*x = LocationMetadata{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LocationMetadata) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LocationMetadata) ProtoMessage() {}
func (x *LocationMetadata) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LocationMetadata.ProtoReflect.Descriptor instead.
func (*LocationMetadata) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{23}
}
func (x *LocationMetadata) GetAvailableZones() map[string]*ZoneMetadata {
if x != nil {
return x.AvailableZones
}
return nil
}
// Defines specific information for a particular zone. Currently empty and
// reserved for future use only.
type ZoneMetadata struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ZoneMetadata) Reset() {
*x = ZoneMetadata{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ZoneMetadata) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ZoneMetadata) ProtoMessage() {}
func (x *ZoneMetadata) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ZoneMetadata.ProtoReflect.Descriptor instead.
func (*ZoneMetadata) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{24}
}
// TlsCertificate Resource
type TlsCertificate struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Serial number, as extracted from the certificate.
SerialNumber string `protobuf:"bytes,1,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
// PEM representation.
Cert string `protobuf:"bytes,2,opt,name=cert,proto3" json:"cert,omitempty"`
// Output only. The time when the certificate was created in [RFC
// 3339](https://tools.ietf.org/html/rfc3339) format, for example
// `2020-05-18T00:00:00.094Z`.
CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Output only. The time when the certificate expires in [RFC
// 3339](https://tools.ietf.org/html/rfc3339) format, for example
// `2020-05-18T00:00:00.094Z`.
ExpireTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
// Sha1 Fingerprint of the certificate.
Sha1Fingerprint string `protobuf:"bytes,5,opt,name=sha1_fingerprint,json=sha1Fingerprint,proto3" json:"sha1_fingerprint,omitempty"`
}
func (x *TlsCertificate) Reset() {
*x = TlsCertificate{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TlsCertificate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TlsCertificate) ProtoMessage() {}
func (x *TlsCertificate) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TlsCertificate.ProtoReflect.Descriptor instead.
func (*TlsCertificate) Descriptor() ([]byte, []int) {
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP(), []int{25}
}
func (x *TlsCertificate) GetSerialNumber() string {
if x != nil {
return x.SerialNumber
}
return ""
}
func (x *TlsCertificate) GetCert() string {
if x != nil {
return x.Cert
}
return ""
}
func (x *TlsCertificate) GetCreateTime() *timestamp.Timestamp {
if x != nil {
return x.CreateTime
}
return nil
}
func (x *TlsCertificate) GetExpireTime() *timestamp.Timestamp {
if x != nil {
return x.ExpireTime
}
return nil
}
func (x *TlsCertificate) GetSha1Fingerprint() string {
if x != nil {
return x.Sha1Fingerprint
}
return ""
}
var File_google_cloud_redis_v1_cloud_redis_proto protoreflect.FileDescriptor
var file_google_cloud_redis_v1_cloud_redis_proto_rawDesc = []byte{
0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72,
0x65, 0x64, 0x69, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x65,
0x64, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31,
0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69,
0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67,
0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x64, 0x61, 0x79, 0x6f, 0x66, 0x77, 0x65,
0x65, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x66, 0x64, 0x61, 0x79, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
0x41, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22,
0xe2, 0x13, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73,
0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65,
0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31,
0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x24, 0x0a,
0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69,
0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x61, 0x6c, 0x74, 0x65, 0x72,
0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x72, 0x65,
0x64, 0x69, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x72, 0x65,
0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18,
0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x65,
0x72, 0x76, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x31, 0x0a, 0x12, 0x73,
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67,
0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x73, 0x65,
0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x17,
0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
0x03, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74,
0x12, 0x33, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
0x41, 0x03, 0x52, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49,
0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0,
0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5b, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69,
0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x52, 0x65,
0x64, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42,
0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x73, 0x12, 0x3d, 0x0a, 0x04, 0x74, 0x69, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x54, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x69, 0x65,
0x72, 0x12, 0x29, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65,
0x5f, 0x67, 0x62, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c,
0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x12, 0x32, 0x0a, 0x12,
0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x61,
0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x12, 0x3d, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x5f,
0x69, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x15, 0x20, 0x01,
0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
0x65, 0x6e, 0x63, 0x65, 0x49, 0x61, 0x6d, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12,
0x53, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18,
0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x6f,
0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
0x0b, 0x61, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x0f,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x18,
0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6c,
0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41,
0x03, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x43, 0x65, 0x72, 0x74, 0x73,
0x12, 0x72, 0x0a, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72,
0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x74,
0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x4d, 0x6f, 0x64, 0x65, 0x12, 0x5c, 0x0a, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61,
0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e,
0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
0x11, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x12, 0x62, 0x0a, 0x14, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63,
0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e,
0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41,
0x03, 0x52, 0x13, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0,
0x41, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x3a, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0d,
0x72, 0x65, 0x61, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x21, 0x20,
0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x45, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x12, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x65,
0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x22, 0x20, 0x01,
0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x72, 0x65, 0x61, 0x64, 0x45, 0x6e, 0x64,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x61,
0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18,
0x23, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65,
0x61, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x1a, 0x39,
0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x52, 0x65, 0x64,
0x69, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x94, 0x01, 0x0a, 0x05, 0x53,
0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e,
0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43,
0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41,
0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47,
0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04,
0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x50, 0x41, 0x49, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12,
0x0f, 0x0a, 0x0b, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x06,
0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x12,
0x10, 0x0a, 0x0c, 0x46, 0x41, 0x49, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x10,
0x09, 0x22, 0x38, 0x0a, 0x04, 0x54, 0x69, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x49, 0x45,
0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
0x09, 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54,
0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41, 0x10, 0x03, 0x22, 0x5b, 0x0a, 0x0b, 0x43,
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f,
0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x49, 0x52, 0x45,
0x43, 0x54, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16,
0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f,
0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x22, 0x69, 0x0a, 0x15, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64,
0x65, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x5f, 0x45, 0x4e, 0x43,
0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53,
0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45,
0x52, 0x56, 0x45, 0x52, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54,
0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45,
0x44, 0x10, 0x02, 0x22, 0x6d, 0x0a, 0x10, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x41, 0x44, 0x5f,
0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x53, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e,
0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x52,
0x45, 0x41, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x53, 0x5f, 0x44, 0x49, 0x53,
0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x41, 0x44, 0x5f,
0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x53, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44,
0x10, 0x02, 0x3a, 0x60, 0xea, 0x41, 0x5d, 0x0a, 0x1d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f,
0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61,
0x6e, 0x63, 0x65, 0x7d, 0x22, 0x81, 0x03, 0x0a, 0x1c, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x64,
0x69, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x70, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x74,
0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76,
0x31, 0x2e, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x69, 0x6e,
0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52,
0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0,
0x41, 0x02, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x79,
0x70, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6e, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45,
0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e,
0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x49,
0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x45,
0x58, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x57, 0x49, 0x4e,
0x44, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
0x43, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x03, 0x22, 0xaf, 0x02, 0x0a, 0x11, 0x4d, 0x61, 0x69,
0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x40,
0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42,
0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69,
0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6f, 0x0a, 0x19, 0x77, 0x65, 0x65,
0x6b, 0x6c, 0x79, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f,
0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69,
0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x4d, 0x61, 0x69, 0x6e, 0x74,
0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x03, 0xe0, 0x41,
0x01, 0x52, 0x17, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e,
0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x22, 0xc0, 0x01, 0x0a, 0x17, 0x57,
0x65, 0x65, 0x6b, 0x6c, 0x79, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65,
0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x2d, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70,
0x65, 0x2e, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02,
0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61,
0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x3a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03,
0xe0, 0x41, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x02,
0x0a, 0x13, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72,
0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x29, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x63,
0x61, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x55, 0x0a, 0x16,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e,
0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x73,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x54,
0x69, 0x6d, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41,
0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c,
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x15,
0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31,
0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61,
0x6e, 0x63, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67,
0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e,
0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b,
0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x4f,
0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x64, 0x69,
0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
0x59, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x75,
0x74, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0,
0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x12, 0x49, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x22, 0xc2, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70,
0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02,
0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x24,
0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
0x63, 0x65, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49,
0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73,
0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61,
0x73, 0x6b, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73,
0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x16, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49,
0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41,
0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61,
0x6e, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x64,
0x69, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x73, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x22, 0x52, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73,
0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa,
0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x22, 0x0a, 0x09, 0x47, 0x63, 0x73, 0x53, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x5a, 0x0a, 0x0b, 0x49,
0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0a, 0x67, 0x63,
0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65,
0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a,
0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x7c, 0x0a, 0x15, 0x49, 0x6d, 0x70, 0x6f, 0x72,
0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x0c, 0x69, 0x6e, 0x70,
0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x27, 0x0a, 0x0e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74,
0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x6f,
0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50,
0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e,
0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00,
0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
0x7f, 0x0a, 0x15, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31,
0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0,
0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x22, 0xb6, 0x02, 0x0a, 0x17, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x73,
0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa,
0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x78, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x5f,
0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61,
0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x64,
0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64,
0x65, 0x22, 0x66, 0x0a, 0x12, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x41, 0x54, 0x41, 0x5f,
0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f,
0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a,
0x11, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4c, 0x4f,
0x53, 0x53, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x44, 0x41,
0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x02, 0x22, 0xa4, 0x02, 0x0a, 0x11, 0x4f, 0x70,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08,
0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x76,
0x65, 0x72, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12,
0x23, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65,
0x74, 0x61, 0x69, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12,
0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x22, 0xe5, 0x01, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x69, 0x0a, 0x0f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
0x6c, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65,
0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c,
0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03,
0x52, 0x0e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x73,
0x1a, 0x66, 0x0a, 0x13, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5a, 0x6f, 0x6e,
0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31,
0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x0e, 0x0a, 0x0c, 0x5a, 0x6f, 0x6e, 0x65,
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf8, 0x01, 0x0a, 0x0e, 0x54, 0x6c, 0x73,
0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73,
0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x63, 0x65, 0x72, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65,
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x78,
0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x68, 0x61, 0x31,
0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0f, 0x73, 0x68, 0x61, 0x31, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72,
0x69, 0x6e, 0x74, 0x32, 0xa8, 0x15, 0x0a, 0x0a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x64,
0x69, 0x73, 0x12, 0xaa, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61,
0x6e, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61,
0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73,
0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
0x97, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12,
0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61,
0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e,
0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f,
0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc0, 0x01, 0x0a, 0x15, 0x47, 0x65,
0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49,
0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31,
0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x76, 0x31,
0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x53,
0x74, 0x72, 0x69, 0x6e, 0x67, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x89, 0x02, 0x0a,
0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12,
0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69,
0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa9, 0x01, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0x39, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61,
0x6e, 0x63, 0x65, 0x73, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0xda, 0x41,
0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
0x5f, 0x69, 0x64, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0xca, 0x41, 0x49, 0x0a,
0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65,
0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12,
0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65,
0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x8b, 0x02, 0x0a, 0x0e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2c, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73,
0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x42, 0x32, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73,
0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61,
0x6e, 0x63, 0x65, 0xda, 0x41, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73,
0x6b, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0xca, 0x41, 0x49, 0x0a, 0x1e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69,
0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69,
0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x83, 0x02, 0x0a, 0x0f, 0x55, 0x70, 0x67, 0x72, 0x61,
0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e,
0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x3a, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
0x3a, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x12, 0x6e, 0x61,
0x6d, 0x65, 0x2c, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0xca, 0x41, 0x49, 0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61,
0x6e, 0x63, 0x65, 0x12, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xff, 0x01, 0x0a,
0x0e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12,
0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69,
0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x01, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0x39, 0x22, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41,
0x11, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0xca, 0x41, 0x49, 0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73,
0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x80,
0x02, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
0x65, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,
0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa0,
0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x22, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61,
0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a,
0xda, 0x41, 0x12, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0xca, 0x41, 0x49, 0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e,
0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e,
0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0x12, 0x8d, 0x02, 0x0a, 0x10, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46,
0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x22, 0x36,
0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x61,
0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x19, 0x6e, 0x61, 0x6d, 0x65,
0x2c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x6d, 0x6f, 0x64, 0x65, 0xca, 0x41, 0x49, 0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e,
0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e,
0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0x12, 0xde, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67,
0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca,
0x41, 0x40, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31,
0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
0x74, 0x61, 0x12, 0xaf, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x33, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69,
0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x4d,
0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x22, 0xc1, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x01,
0x2a, 0xda, 0x41, 0x24, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0xca, 0x41, 0x49, 0x0a, 0x1e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e,
0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e,
0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0x1a, 0x48, 0xca, 0x41, 0x14, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e,
0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x73,
0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x18, 0x43, 0x6c, 0x6f,
0x75, 0x64, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x31,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x65,
0x64, 0x69, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_google_cloud_redis_v1_cloud_redis_proto_rawDescOnce sync.Once
file_google_cloud_redis_v1_cloud_redis_proto_rawDescData = file_google_cloud_redis_v1_cloud_redis_proto_rawDesc
)
func file_google_cloud_redis_v1_cloud_redis_proto_rawDescGZIP() []byte {
file_google_cloud_redis_v1_cloud_redis_proto_rawDescOnce.Do(func() {
file_google_cloud_redis_v1_cloud_redis_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_redis_v1_cloud_redis_proto_rawDescData)
})
return file_google_cloud_redis_v1_cloud_redis_proto_rawDescData
}
var file_google_cloud_redis_v1_cloud_redis_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
var file_google_cloud_redis_v1_cloud_redis_proto_msgTypes = make([]protoimpl.MessageInfo, 29)
var file_google_cloud_redis_v1_cloud_redis_proto_goTypes = []interface{}{
(Instance_State)(0), // 0: google.cloud.redis.v1.Instance.State
(Instance_Tier)(0), // 1: google.cloud.redis.v1.Instance.Tier
(Instance_ConnectMode)(0), // 2: google.cloud.redis.v1.Instance.ConnectMode
(Instance_TransitEncryptionMode)(0), // 3: google.cloud.redis.v1.Instance.TransitEncryptionMode
(Instance_ReadReplicasMode)(0), // 4: google.cloud.redis.v1.Instance.ReadReplicasMode
(RescheduleMaintenanceRequest_RescheduleType)(0), // 5: google.cloud.redis.v1.RescheduleMaintenanceRequest.RescheduleType
(FailoverInstanceRequest_DataProtectionMode)(0), // 6: google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode
(*NodeInfo)(nil), // 7: google.cloud.redis.v1.NodeInfo
(*Instance)(nil), // 8: google.cloud.redis.v1.Instance
(*RescheduleMaintenanceRequest)(nil), // 9: google.cloud.redis.v1.RescheduleMaintenanceRequest
(*MaintenancePolicy)(nil), // 10: google.cloud.redis.v1.MaintenancePolicy
(*WeeklyMaintenanceWindow)(nil), // 11: google.cloud.redis.v1.WeeklyMaintenanceWindow
(*MaintenanceSchedule)(nil), // 12: google.cloud.redis.v1.MaintenanceSchedule
(*ListInstancesRequest)(nil), // 13: google.cloud.redis.v1.ListInstancesRequest
(*ListInstancesResponse)(nil), // 14: google.cloud.redis.v1.ListInstancesResponse
(*GetInstanceRequest)(nil), // 15: google.cloud.redis.v1.GetInstanceRequest
(*GetInstanceAuthStringRequest)(nil), // 16: google.cloud.redis.v1.GetInstanceAuthStringRequest
(*InstanceAuthString)(nil), // 17: google.cloud.redis.v1.InstanceAuthString
(*CreateInstanceRequest)(nil), // 18: google.cloud.redis.v1.CreateInstanceRequest
(*UpdateInstanceRequest)(nil), // 19: google.cloud.redis.v1.UpdateInstanceRequest
(*UpgradeInstanceRequest)(nil), // 20: google.cloud.redis.v1.UpgradeInstanceRequest
(*DeleteInstanceRequest)(nil), // 21: google.cloud.redis.v1.DeleteInstanceRequest
(*GcsSource)(nil), // 22: google.cloud.redis.v1.GcsSource
(*InputConfig)(nil), // 23: google.cloud.redis.v1.InputConfig
(*ImportInstanceRequest)(nil), // 24: google.cloud.redis.v1.ImportInstanceRequest
(*GcsDestination)(nil), // 25: google.cloud.redis.v1.GcsDestination
(*OutputConfig)(nil), // 26: google.cloud.redis.v1.OutputConfig
(*ExportInstanceRequest)(nil), // 27: google.cloud.redis.v1.ExportInstanceRequest
(*FailoverInstanceRequest)(nil), // 28: google.cloud.redis.v1.FailoverInstanceRequest
(*OperationMetadata)(nil), // 29: google.cloud.redis.v1.OperationMetadata
(*LocationMetadata)(nil), // 30: google.cloud.redis.v1.LocationMetadata
(*ZoneMetadata)(nil), // 31: google.cloud.redis.v1.ZoneMetadata
(*TlsCertificate)(nil), // 32: google.cloud.redis.v1.TlsCertificate
nil, // 33: google.cloud.redis.v1.Instance.LabelsEntry
nil, // 34: google.cloud.redis.v1.Instance.RedisConfigsEntry
nil, // 35: google.cloud.redis.v1.LocationMetadata.AvailableZonesEntry
(*timestamp.Timestamp)(nil), // 36: google.protobuf.Timestamp
(dayofweek.DayOfWeek)(0), // 37: google.type.DayOfWeek
(*timeofday.TimeOfDay)(nil), // 38: google.type.TimeOfDay
(*duration.Duration)(nil), // 39: google.protobuf.Duration
(*field_mask.FieldMask)(nil), // 40: google.protobuf.FieldMask
(*longrunning.Operation)(nil), // 41: google.longrunning.Operation
}
var file_google_cloud_redis_v1_cloud_redis_proto_depIdxs = []int32{
33, // 0: google.cloud.redis.v1.Instance.labels:type_name -> google.cloud.redis.v1.Instance.LabelsEntry
36, // 1: google.cloud.redis.v1.Instance.create_time:type_name -> google.protobuf.Timestamp
0, // 2: google.cloud.redis.v1.Instance.state:type_name -> google.cloud.redis.v1.Instance.State
34, // 3: google.cloud.redis.v1.Instance.redis_configs:type_name -> google.cloud.redis.v1.Instance.RedisConfigsEntry
1, // 4: google.cloud.redis.v1.Instance.tier:type_name -> google.cloud.redis.v1.Instance.Tier
2, // 5: google.cloud.redis.v1.Instance.connect_mode:type_name -> google.cloud.redis.v1.Instance.ConnectMode
32, // 6: google.cloud.redis.v1.Instance.server_ca_certs:type_name -> google.cloud.redis.v1.TlsCertificate
3, // 7: google.cloud.redis.v1.Instance.transit_encryption_mode:type_name -> google.cloud.redis.v1.Instance.TransitEncryptionMode
10, // 8: google.cloud.redis.v1.Instance.maintenance_policy:type_name -> google.cloud.redis.v1.MaintenancePolicy
12, // 9: google.cloud.redis.v1.Instance.maintenance_schedule:type_name -> google.cloud.redis.v1.MaintenanceSchedule
7, // 10: google.cloud.redis.v1.Instance.nodes:type_name -> google.cloud.redis.v1.NodeInfo
4, // 11: google.cloud.redis.v1.Instance.read_replicas_mode:type_name -> google.cloud.redis.v1.Instance.ReadReplicasMode
5, // 12: google.cloud.redis.v1.RescheduleMaintenanceRequest.reschedule_type:type_name -> google.cloud.redis.v1.RescheduleMaintenanceRequest.RescheduleType
36, // 13: google.cloud.redis.v1.RescheduleMaintenanceRequest.schedule_time:type_name -> google.protobuf.Timestamp
36, // 14: google.cloud.redis.v1.MaintenancePolicy.create_time:type_name -> google.protobuf.Timestamp
36, // 15: google.cloud.redis.v1.MaintenancePolicy.update_time:type_name -> google.protobuf.Timestamp
11, // 16: google.cloud.redis.v1.MaintenancePolicy.weekly_maintenance_window:type_name -> google.cloud.redis.v1.WeeklyMaintenanceWindow
37, // 17: google.cloud.redis.v1.WeeklyMaintenanceWindow.day:type_name -> google.type.DayOfWeek
38, // 18: google.cloud.redis.v1.WeeklyMaintenanceWindow.start_time:type_name -> google.type.TimeOfDay
39, // 19: google.cloud.redis.v1.WeeklyMaintenanceWindow.duration:type_name -> google.protobuf.Duration
36, // 20: google.cloud.redis.v1.MaintenanceSchedule.start_time:type_name -> google.protobuf.Timestamp
36, // 21: google.cloud.redis.v1.MaintenanceSchedule.end_time:type_name -> google.protobuf.Timestamp
36, // 22: google.cloud.redis.v1.MaintenanceSchedule.schedule_deadline_time:type_name -> google.protobuf.Timestamp
8, // 23: google.cloud.redis.v1.ListInstancesResponse.instances:type_name -> google.cloud.redis.v1.Instance
8, // 24: google.cloud.redis.v1.CreateInstanceRequest.instance:type_name -> google.cloud.redis.v1.Instance
40, // 25: google.cloud.redis.v1.UpdateInstanceRequest.update_mask:type_name -> google.protobuf.FieldMask
8, // 26: google.cloud.redis.v1.UpdateInstanceRequest.instance:type_name -> google.cloud.redis.v1.Instance
22, // 27: google.cloud.redis.v1.InputConfig.gcs_source:type_name -> google.cloud.redis.v1.GcsSource
23, // 28: google.cloud.redis.v1.ImportInstanceRequest.input_config:type_name -> google.cloud.redis.v1.InputConfig
25, // 29: google.cloud.redis.v1.OutputConfig.gcs_destination:type_name -> google.cloud.redis.v1.GcsDestination
26, // 30: google.cloud.redis.v1.ExportInstanceRequest.output_config:type_name -> google.cloud.redis.v1.OutputConfig
6, // 31: google.cloud.redis.v1.FailoverInstanceRequest.data_protection_mode:type_name -> google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode
36, // 32: google.cloud.redis.v1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp
36, // 33: google.cloud.redis.v1.OperationMetadata.end_time:type_name -> google.protobuf.Timestamp
35, // 34: google.cloud.redis.v1.LocationMetadata.available_zones:type_name -> google.cloud.redis.v1.LocationMetadata.AvailableZonesEntry
36, // 35: google.cloud.redis.v1.TlsCertificate.create_time:type_name -> google.protobuf.Timestamp
36, // 36: google.cloud.redis.v1.TlsCertificate.expire_time:type_name -> google.protobuf.Timestamp
31, // 37: google.cloud.redis.v1.LocationMetadata.AvailableZonesEntry.value:type_name -> google.cloud.redis.v1.ZoneMetadata
13, // 38: google.cloud.redis.v1.CloudRedis.ListInstances:input_type -> google.cloud.redis.v1.ListInstancesRequest
15, // 39: google.cloud.redis.v1.CloudRedis.GetInstance:input_type -> google.cloud.redis.v1.GetInstanceRequest
16, // 40: google.cloud.redis.v1.CloudRedis.GetInstanceAuthString:input_type -> google.cloud.redis.v1.GetInstanceAuthStringRequest
18, // 41: google.cloud.redis.v1.CloudRedis.CreateInstance:input_type -> google.cloud.redis.v1.CreateInstanceRequest
19, // 42: google.cloud.redis.v1.CloudRedis.UpdateInstance:input_type -> google.cloud.redis.v1.UpdateInstanceRequest
20, // 43: google.cloud.redis.v1.CloudRedis.UpgradeInstance:input_type -> google.cloud.redis.v1.UpgradeInstanceRequest
24, // 44: google.cloud.redis.v1.CloudRedis.ImportInstance:input_type -> google.cloud.redis.v1.ImportInstanceRequest
27, // 45: google.cloud.redis.v1.CloudRedis.ExportInstance:input_type -> google.cloud.redis.v1.ExportInstanceRequest
28, // 46: google.cloud.redis.v1.CloudRedis.FailoverInstance:input_type -> google.cloud.redis.v1.FailoverInstanceRequest
21, // 47: google.cloud.redis.v1.CloudRedis.DeleteInstance:input_type -> google.cloud.redis.v1.DeleteInstanceRequest
9, // 48: google.cloud.redis.v1.CloudRedis.RescheduleMaintenance:input_type -> google.cloud.redis.v1.RescheduleMaintenanceRequest
14, // 49: google.cloud.redis.v1.CloudRedis.ListInstances:output_type -> google.cloud.redis.v1.ListInstancesResponse
8, // 50: google.cloud.redis.v1.CloudRedis.GetInstance:output_type -> google.cloud.redis.v1.Instance
17, // 51: google.cloud.redis.v1.CloudRedis.GetInstanceAuthString:output_type -> google.cloud.redis.v1.InstanceAuthString
41, // 52: google.cloud.redis.v1.CloudRedis.CreateInstance:output_type -> google.longrunning.Operation
41, // 53: google.cloud.redis.v1.CloudRedis.UpdateInstance:output_type -> google.longrunning.Operation
41, // 54: google.cloud.redis.v1.CloudRedis.UpgradeInstance:output_type -> google.longrunning.Operation
41, // 55: google.cloud.redis.v1.CloudRedis.ImportInstance:output_type -> google.longrunning.Operation
41, // 56: google.cloud.redis.v1.CloudRedis.ExportInstance:output_type -> google.longrunning.Operation
41, // 57: google.cloud.redis.v1.CloudRedis.FailoverInstance:output_type -> google.longrunning.Operation
41, // 58: google.cloud.redis.v1.CloudRedis.DeleteInstance:output_type -> google.longrunning.Operation
41, // 59: google.cloud.redis.v1.CloudRedis.RescheduleMaintenance:output_type -> google.longrunning.Operation
49, // [49:60] is the sub-list for method output_type
38, // [38:49] is the sub-list for method input_type
38, // [38:38] is the sub-list for extension type_name
38, // [38:38] is the sub-list for extension extendee
0, // [0:38] is the sub-list for field type_name
}
func init() { file_google_cloud_redis_v1_cloud_redis_proto_init() }
func file_google_cloud_redis_v1_cloud_redis_proto_init() {
if File_google_cloud_redis_v1_cloud_redis_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NodeInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Instance); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RescheduleMaintenanceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MaintenancePolicy); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WeeklyMaintenanceWindow); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MaintenanceSchedule); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListInstancesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListInstancesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetInstanceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetInstanceAuthStringRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InstanceAuthString); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateInstanceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateInstanceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpgradeInstanceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteInstanceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GcsSource); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InputConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ImportInstanceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GcsDestination); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OutputConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExportInstanceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FailoverInstanceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OperationMetadata); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LocationMetadata); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ZoneMetadata); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TlsCertificate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[16].OneofWrappers = []interface{}{
(*InputConfig_GcsSource)(nil),
}
file_google_cloud_redis_v1_cloud_redis_proto_msgTypes[19].OneofWrappers = []interface{}{
(*OutputConfig_GcsDestination)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_google_cloud_redis_v1_cloud_redis_proto_rawDesc,
NumEnums: 7,
NumMessages: 29,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_google_cloud_redis_v1_cloud_redis_proto_goTypes,
DependencyIndexes: file_google_cloud_redis_v1_cloud_redis_proto_depIdxs,
EnumInfos: file_google_cloud_redis_v1_cloud_redis_proto_enumTypes,
MessageInfos: file_google_cloud_redis_v1_cloud_redis_proto_msgTypes,
}.Build()
File_google_cloud_redis_v1_cloud_redis_proto = out.File
file_google_cloud_redis_v1_cloud_redis_proto_rawDesc = nil
file_google_cloud_redis_v1_cloud_redis_proto_goTypes = nil
file_google_cloud_redis_v1_cloud_redis_proto_depIdxs = nil
}
// 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
// CloudRedisClient is the client API for CloudRedis service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type CloudRedisClient interface {
// Lists all Redis instances owned by a project in either the specified
// location (region) or all locations.
//
// The location should have the following format:
//
// * `projects/{project_id}/locations/{location_id}`
//
// If `location_id` is specified as `-` (wildcard), then all regions
// available to the project are queried, and the results are aggregated.
ListInstances(ctx context.Context, in *ListInstancesRequest, opts ...grpc.CallOption) (*ListInstancesResponse, error)
// Gets the details of a specific Redis instance.
GetInstance(ctx context.Context, in *GetInstanceRequest, opts ...grpc.CallOption) (*Instance, error)
// Gets the AUTH string for a Redis instance. If AUTH is not enabled for the
// instance the response will be empty. This information is not included in
// the details returned to GetInstance.
GetInstanceAuthString(ctx context.Context, in *GetInstanceAuthStringRequest, opts ...grpc.CallOption) (*InstanceAuthString, error)
// Creates a Redis instance based on the specified tier and memory size.
//
// By default, the instance is accessible from the project's
// [default network](https://cloud.google.com/vpc/docs/vpc).
//
// The creation is executed asynchronously and callers may check the returned
// operation to track its progress. Once the operation is completed the Redis
// instance will be fully functional. Completed longrunning.Operation will
// contain the new instance object in the response field.
//
// The returned operation is automatically deleted after a few hours, so there
// is no need to call DeleteOperation.
CreateInstance(ctx context.Context, in *CreateInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Updates the metadata and configuration of a specific Redis instance.
//
// Completed longrunning.Operation will contain the new instance object
// in the response field. The returned operation is automatically deleted
// after a few hours, so there is no need to call DeleteOperation.
UpdateInstance(ctx context.Context, in *UpdateInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Upgrades Redis instance to the newer Redis version specified in the
// request.
UpgradeInstance(ctx context.Context, in *UpgradeInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.
//
// Redis may stop serving during this operation. Instance state will be
// IMPORTING for entire operation. When complete, the instance will contain
// only data from the imported file.
//
// The returned operation is automatically deleted after a few hours, so
// there is no need to call DeleteOperation.
ImportInstance(ctx context.Context, in *ImportInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Export Redis instance data into a Redis RDB format file in Cloud Storage.
//
// Redis will continue serving during this operation.
//
// The returned operation is automatically deleted after a few hours, so
// there is no need to call DeleteOperation.
ExportInstance(ctx context.Context, in *ExportInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Initiates a failover of the primary node to current replica node for a
// specific STANDARD tier Cloud Memorystore for Redis instance.
FailoverInstance(ctx context.Context, in *FailoverInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Deletes a specific Redis instance. Instance stops serving and data is
// deleted.
DeleteInstance(ctx context.Context, in *DeleteInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Reschedule maintenance for a given instance in a given project and
// location.
RescheduleMaintenance(ctx context.Context, in *RescheduleMaintenanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
}
type cloudRedisClient struct {
cc grpc.ClientConnInterface
}
func NewCloudRedisClient(cc grpc.ClientConnInterface) CloudRedisClient {
return &cloudRedisClient{cc}
}
func (c *cloudRedisClient) ListInstances(ctx context.Context, in *ListInstancesRequest, opts ...grpc.CallOption) (*ListInstancesResponse, error) {
out := new(ListInstancesResponse)
err := c.cc.Invoke(ctx, "/google.cloud.redis.v1.CloudRedis/ListInstances", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudRedisClient) GetInstance(ctx context.Context, in *GetInstanceRequest, opts ...grpc.CallOption) (*Instance, error) {
out := new(Instance)
err := c.cc.Invoke(ctx, "/google.cloud.redis.v1.CloudRedis/GetInstance", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudRedisClient) GetInstanceAuthString(ctx context.Context, in *GetInstanceAuthStringRequest, opts ...grpc.CallOption) (*InstanceAuthString, error) {
out := new(InstanceAuthString)
err := c.cc.Invoke(ctx, "/google.cloud.redis.v1.CloudRedis/GetInstanceAuthString", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudRedisClient) CreateInstance(ctx context.Context, in *CreateInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.redis.v1.CloudRedis/CreateInstance", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudRedisClient) UpdateInstance(ctx context.Context, in *UpdateInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.redis.v1.CloudRedis/UpdateInstance", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudRedisClient) UpgradeInstance(ctx context.Context, in *UpgradeInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.redis.v1.CloudRedis/UpgradeInstance", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudRedisClient) ImportInstance(ctx context.Context, in *ImportInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.redis.v1.CloudRedis/ImportInstance", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudRedisClient) ExportInstance(ctx context.Context, in *ExportInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.redis.v1.CloudRedis/ExportInstance", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudRedisClient) FailoverInstance(ctx context.Context, in *FailoverInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.redis.v1.CloudRedis/FailoverInstance", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudRedisClient) DeleteInstance(ctx context.Context, in *DeleteInstanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.redis.v1.CloudRedis/DeleteInstance", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudRedisClient) RescheduleMaintenance(ctx context.Context, in *RescheduleMaintenanceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.redis.v1.CloudRedis/RescheduleMaintenance", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// CloudRedisServer is the server API for CloudRedis service.
type CloudRedisServer interface {
// Lists all Redis instances owned by a project in either the specified
// location (region) or all locations.
//
// The location should have the following format:
//
// * `projects/{project_id}/locations/{location_id}`
//
// If `location_id` is specified as `-` (wildcard), then all regions
// available to the project are queried, and the results are aggregated.
ListInstances(context.Context, *ListInstancesRequest) (*ListInstancesResponse, error)
// Gets the details of a specific Redis instance.
GetInstance(context.Context, *GetInstanceRequest) (*Instance, error)
// Gets the AUTH string for a Redis instance. If AUTH is not enabled for the
// instance the response will be empty. This information is not included in
// the details returned to GetInstance.
GetInstanceAuthString(context.Context, *GetInstanceAuthStringRequest) (*InstanceAuthString, error)
// Creates a Redis instance based on the specified tier and memory size.
//
// By default, the instance is accessible from the project's
// [default network](https://cloud.google.com/vpc/docs/vpc).
//
// The creation is executed asynchronously and callers may check the returned
// operation to track its progress. Once the operation is completed the Redis
// instance will be fully functional. Completed longrunning.Operation will
// contain the new instance object in the response field.
//
// The returned operation is automatically deleted after a few hours, so there
// is no need to call DeleteOperation.
CreateInstance(context.Context, *CreateInstanceRequest) (*longrunning.Operation, error)
// Updates the metadata and configuration of a specific Redis instance.
//
// Completed longrunning.Operation will contain the new instance object
// in the response field. The returned operation is automatically deleted
// after a few hours, so there is no need to call DeleteOperation.
UpdateInstance(context.Context, *UpdateInstanceRequest) (*longrunning.Operation, error)
// Upgrades Redis instance to the newer Redis version specified in the
// request.
UpgradeInstance(context.Context, *UpgradeInstanceRequest) (*longrunning.Operation, error)
// Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.
//
// Redis may stop serving during this operation. Instance state will be
// IMPORTING for entire operation. When complete, the instance will contain
// only data from the imported file.
//
// The returned operation is automatically deleted after a few hours, so
// there is no need to call DeleteOperation.
ImportInstance(context.Context, *ImportInstanceRequest) (*longrunning.Operation, error)
// Export Redis instance data into a Redis RDB format file in Cloud Storage.
//
// Redis will continue serving during this operation.
//
// The returned operation is automatically deleted after a few hours, so
// there is no need to call DeleteOperation.
ExportInstance(context.Context, *ExportInstanceRequest) (*longrunning.Operation, error)
// Initiates a failover of the primary node to current replica node for a
// specific STANDARD tier Cloud Memorystore for Redis instance.
FailoverInstance(context.Context, *FailoverInstanceRequest) (*longrunning.Operation, error)
// Deletes a specific Redis instance. Instance stops serving and data is
// deleted.
DeleteInstance(context.Context, *DeleteInstanceRequest) (*longrunning.Operation, error)
// Reschedule maintenance for a given instance in a given project and
// location.
RescheduleMaintenance(context.Context, *RescheduleMaintenanceRequest) (*longrunning.Operation, error)
}
// UnimplementedCloudRedisServer can be embedded to have forward compatible implementations.
type UnimplementedCloudRedisServer struct {
}
func (*UnimplementedCloudRedisServer) ListInstances(context.Context, *ListInstancesRequest) (*ListInstancesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListInstances not implemented")
}
func (*UnimplementedCloudRedisServer) GetInstance(context.Context, *GetInstanceRequest) (*Instance, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetInstance not implemented")
}
func (*UnimplementedCloudRedisServer) GetInstanceAuthString(context.Context, *GetInstanceAuthStringRequest) (*InstanceAuthString, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetInstanceAuthString not implemented")
}
func (*UnimplementedCloudRedisServer) CreateInstance(context.Context, *CreateInstanceRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateInstance not implemented")
}
func (*UnimplementedCloudRedisServer) UpdateInstance(context.Context, *UpdateInstanceRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateInstance not implemented")
}
func (*UnimplementedCloudRedisServer) UpgradeInstance(context.Context, *UpgradeInstanceRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpgradeInstance not implemented")
}
func (*UnimplementedCloudRedisServer) ImportInstance(context.Context, *ImportInstanceRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method ImportInstance not implemented")
}
func (*UnimplementedCloudRedisServer) ExportInstance(context.Context, *ExportInstanceRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method ExportInstance not implemented")
}
func (*UnimplementedCloudRedisServer) FailoverInstance(context.Context, *FailoverInstanceRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method FailoverInstance not implemented")
}
func (*UnimplementedCloudRedisServer) DeleteInstance(context.Context, *DeleteInstanceRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteInstance not implemented")
}
func (*UnimplementedCloudRedisServer) RescheduleMaintenance(context.Context, *RescheduleMaintenanceRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method RescheduleMaintenance not implemented")
}
func RegisterCloudRedisServer(s *grpc.Server, srv CloudRedisServer) {
s.RegisterService(&_CloudRedis_serviceDesc, srv)
}
func _CloudRedis_ListInstances_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListInstancesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudRedisServer).ListInstances(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.redis.v1.CloudRedis/ListInstances",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudRedisServer).ListInstances(ctx, req.(*ListInstancesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudRedis_GetInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetInstanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudRedisServer).GetInstance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.redis.v1.CloudRedis/GetInstance",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudRedisServer).GetInstance(ctx, req.(*GetInstanceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudRedis_GetInstanceAuthString_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetInstanceAuthStringRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudRedisServer).GetInstanceAuthString(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.redis.v1.CloudRedis/GetInstanceAuthString",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudRedisServer).GetInstanceAuthString(ctx, req.(*GetInstanceAuthStringRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudRedis_CreateInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateInstanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudRedisServer).CreateInstance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.redis.v1.CloudRedis/CreateInstance",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudRedisServer).CreateInstance(ctx, req.(*CreateInstanceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudRedis_UpdateInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateInstanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudRedisServer).UpdateInstance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.redis.v1.CloudRedis/UpdateInstance",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudRedisServer).UpdateInstance(ctx, req.(*UpdateInstanceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudRedis_UpgradeInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpgradeInstanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudRedisServer).UpgradeInstance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.redis.v1.CloudRedis/UpgradeInstance",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudRedisServer).UpgradeInstance(ctx, req.(*UpgradeInstanceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudRedis_ImportInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ImportInstanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudRedisServer).ImportInstance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.redis.v1.CloudRedis/ImportInstance",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudRedisServer).ImportInstance(ctx, req.(*ImportInstanceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudRedis_ExportInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ExportInstanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudRedisServer).ExportInstance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.redis.v1.CloudRedis/ExportInstance",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudRedisServer).ExportInstance(ctx, req.(*ExportInstanceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudRedis_FailoverInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FailoverInstanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudRedisServer).FailoverInstance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.redis.v1.CloudRedis/FailoverInstance",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudRedisServer).FailoverInstance(ctx, req.(*FailoverInstanceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudRedis_DeleteInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteInstanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudRedisServer).DeleteInstance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.redis.v1.CloudRedis/DeleteInstance",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudRedisServer).DeleteInstance(ctx, req.(*DeleteInstanceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudRedis_RescheduleMaintenance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RescheduleMaintenanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudRedisServer).RescheduleMaintenance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.redis.v1.CloudRedis/RescheduleMaintenance",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudRedisServer).RescheduleMaintenance(ctx, req.(*RescheduleMaintenanceRequest))
}
return interceptor(ctx, in, info, handler)
}
var _CloudRedis_serviceDesc = grpc.ServiceDesc{
ServiceName: "google.cloud.redis.v1.CloudRedis",
HandlerType: (*CloudRedisServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ListInstances",
Handler: _CloudRedis_ListInstances_Handler,
},
{
MethodName: "GetInstance",
Handler: _CloudRedis_GetInstance_Handler,
},
{
MethodName: "GetInstanceAuthString",
Handler: _CloudRedis_GetInstanceAuthString_Handler,
},
{
MethodName: "CreateInstance",
Handler: _CloudRedis_CreateInstance_Handler,
},
{
MethodName: "UpdateInstance",
Handler: _CloudRedis_UpdateInstance_Handler,
},
{
MethodName: "UpgradeInstance",
Handler: _CloudRedis_UpgradeInstance_Handler,
},
{
MethodName: "ImportInstance",
Handler: _CloudRedis_ImportInstance_Handler,
},
{
MethodName: "ExportInstance",
Handler: _CloudRedis_ExportInstance_Handler,
},
{
MethodName: "FailoverInstance",
Handler: _CloudRedis_FailoverInstance_Handler,
},
{
MethodName: "DeleteInstance",
Handler: _CloudRedis_DeleteInstance_Handler,
},
{
MethodName: "RescheduleMaintenance",
Handler: _CloudRedis_RescheduleMaintenance_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/cloud/redis/v1/cloud_redis.proto",
}