diff --git a/gkebackup/apiv1/gkebackuppb/backup_plan.pb.go b/gkebackup/apiv1/gkebackuppb/backup_plan.pb.go index f77f9c29826..853e3b1c23b 100755 --- a/gkebackup/apiv1/gkebackuppb/backup_plan.pb.go +++ b/gkebackup/apiv1/gkebackuppb/backup_plan.pb.go @@ -37,6 +37,75 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// State +type BackupPlan_State int32 + +const ( + // Default first value for Enums. + BackupPlan_STATE_UNSPECIFIED BackupPlan_State = 0 + // Waiting for cluster state to be RUNNING. + BackupPlan_CLUSTER_PENDING BackupPlan_State = 1 + // The BackupPlan is in the process of being created. + BackupPlan_PROVISIONING BackupPlan_State = 2 + // The BackupPlan has successfully been created and is ready for Backups. + BackupPlan_READY BackupPlan_State = 3 + // BackupPlan creation has failed. + BackupPlan_FAILED BackupPlan_State = 4 + // The BackupPlan has been deactivated. + BackupPlan_DEACTIVATED BackupPlan_State = 5 + // The BackupPlan is in the process of being deleted. + BackupPlan_DELETING BackupPlan_State = 6 +) + +// Enum value maps for BackupPlan_State. +var ( + BackupPlan_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "CLUSTER_PENDING", + 2: "PROVISIONING", + 3: "READY", + 4: "FAILED", + 5: "DEACTIVATED", + 6: "DELETING", + } + BackupPlan_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "CLUSTER_PENDING": 1, + "PROVISIONING": 2, + "READY": 3, + "FAILED": 4, + "DEACTIVATED": 5, + "DELETING": 6, + } +) + +func (x BackupPlan_State) Enum() *BackupPlan_State { + p := new(BackupPlan_State) + *p = x + return p +} + +func (x BackupPlan_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BackupPlan_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_gkebackup_v1_backup_plan_proto_enumTypes[0].Descriptor() +} + +func (BackupPlan_State) Type() protoreflect.EnumType { + return &file_google_cloud_gkebackup_v1_backup_plan_proto_enumTypes[0] +} + +func (x BackupPlan_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use BackupPlan_State.Descriptor instead. +func (BackupPlan_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_gkebackup_v1_backup_plan_proto_rawDescGZIP(), []int{0, 0} +} + // Defines the configuration and scheduling for a "line" of Backups. type BackupPlan struct { state protoimpl.MessageState @@ -90,6 +159,14 @@ type BackupPlan struct { // Output only. The number of Kubernetes Pods backed up in the // last successful Backup created via this BackupPlan. ProtectedPodCount int32 `protobuf:"varint,13,opt,name=protected_pod_count,json=protectedPodCount,proto3" json:"protected_pod_count,omitempty"` + // Output only. State of the BackupPlan. This State field reflects the + // various stages a BackupPlan can be in + // during the Create operation. It will be set to "DEACTIVATED" + // if the BackupPlan is deactivated on an Update + State BackupPlan_State `protobuf:"varint,14,opt,name=state,proto3,enum=google.cloud.gkebackup.v1.BackupPlan_State" json:"state,omitempty"` + // Output only. Human-readable description of why BackupPlan is in the current + // `state` + StateReason string `protobuf:"bytes,15,opt,name=state_reason,json=stateReason,proto3" json:"state_reason,omitempty"` } func (x *BackupPlan) Reset() { @@ -215,6 +292,20 @@ func (x *BackupPlan) GetProtectedPodCount() int32 { return 0 } +func (x *BackupPlan) GetState() BackupPlan_State { + if x != nil { + return x.State + } + return BackupPlan_STATE_UNSPECIFIED +} + +func (x *BackupPlan) GetStateReason() string { + if x != nil { + return x.StateReason + } + return "" +} + // RetentionPolicy defines a Backup retention policy for a BackupPlan. type BackupPlan_RetentionPolicy struct { state protoimpl.MessageState @@ -311,7 +402,7 @@ func (x *BackupPlan_RetentionPolicy) GetLocked() bool { return false } -// Schedule defines scheduling parameters for automatically creating Backups +// Defines scheduling parameters for automatically creating Backups // via this BackupPlan. type BackupPlan_Schedule struct { state protoimpl.MessageState @@ -535,7 +626,7 @@ var file_google_cloud_gkebackup_v1_backup_plan_proto_rawDesc = []byte{ 0x75, 0x64, 0x2f, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 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, 0x22, 0xab, 0x0c, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x0e, 0x0a, 0x0a, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, @@ -583,7 +674,14 @@ var file_google_cloud_gkebackup_v1_backup_plan_proto_rawDesc = []byte{ 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x50, 0x6f, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x8e, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x74, + 0x50, 0x6f, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x6e, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0x8e, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, 0x0a, 0x17, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x62, @@ -627,27 +725,35 @@ var file_google_cloud_gkebackup_v1_backup_plan_proto_rawDesc = []byte{ 0x6f, 0x70, 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, 0x3a, 0x6b, - 0xea, 0x41, 0x68, 0x0a, 0x23, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x41, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x2f, 0x7b, 0x62, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x7d, 0x42, 0xc6, 0x01, 0x0a, 0x1d, - 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x0f, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2f, - 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x70, - 0x62, 0x3b, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x70, 0x62, 0xaa, 0x02, 0x19, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x47, 0x6b, 0x65, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7b, + 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, 0x13, + 0x0a, 0x0f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, + 0x47, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, + 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x03, + 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, + 0x44, 0x45, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0c, 0x0a, + 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x3a, 0x6b, 0xea, 0x41, 0x68, + 0x0a, 0x23, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x41, 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, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x7d, 0x42, 0xc6, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, + 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x0f, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x50, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x6f, 0x2f, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x31, 0x2f, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x70, 0x62, 0x3b, 0x67, + 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x70, 0x62, 0xaa, 0x02, 0x19, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5c, + 0x56, 0x31, 0xea, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x3a, 0x3a, 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x3a, 0x3a, 0x56, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -662,33 +768,36 @@ func file_google_cloud_gkebackup_v1_backup_plan_proto_rawDescGZIP() []byte { return file_google_cloud_gkebackup_v1_backup_plan_proto_rawDescData } +var file_google_cloud_gkebackup_v1_backup_plan_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_google_cloud_gkebackup_v1_backup_plan_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_google_cloud_gkebackup_v1_backup_plan_proto_goTypes = []interface{}{ - (*BackupPlan)(nil), // 0: google.cloud.gkebackup.v1.BackupPlan - (*BackupPlan_RetentionPolicy)(nil), // 1: google.cloud.gkebackup.v1.BackupPlan.RetentionPolicy - (*BackupPlan_Schedule)(nil), // 2: google.cloud.gkebackup.v1.BackupPlan.Schedule - (*BackupPlan_BackupConfig)(nil), // 3: google.cloud.gkebackup.v1.BackupPlan.BackupConfig - nil, // 4: google.cloud.gkebackup.v1.BackupPlan.LabelsEntry - (*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp - (*Namespaces)(nil), // 6: google.cloud.gkebackup.v1.Namespaces - (*NamespacedNames)(nil), // 7: google.cloud.gkebackup.v1.NamespacedNames - (*EncryptionKey)(nil), // 8: google.cloud.gkebackup.v1.EncryptionKey + (BackupPlan_State)(0), // 0: google.cloud.gkebackup.v1.BackupPlan.State + (*BackupPlan)(nil), // 1: google.cloud.gkebackup.v1.BackupPlan + (*BackupPlan_RetentionPolicy)(nil), // 2: google.cloud.gkebackup.v1.BackupPlan.RetentionPolicy + (*BackupPlan_Schedule)(nil), // 3: google.cloud.gkebackup.v1.BackupPlan.Schedule + (*BackupPlan_BackupConfig)(nil), // 4: google.cloud.gkebackup.v1.BackupPlan.BackupConfig + nil, // 5: google.cloud.gkebackup.v1.BackupPlan.LabelsEntry + (*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp + (*Namespaces)(nil), // 7: google.cloud.gkebackup.v1.Namespaces + (*NamespacedNames)(nil), // 8: google.cloud.gkebackup.v1.NamespacedNames + (*EncryptionKey)(nil), // 9: google.cloud.gkebackup.v1.EncryptionKey } var file_google_cloud_gkebackup_v1_backup_plan_proto_depIdxs = []int32{ - 5, // 0: google.cloud.gkebackup.v1.BackupPlan.create_time:type_name -> google.protobuf.Timestamp - 5, // 1: google.cloud.gkebackup.v1.BackupPlan.update_time:type_name -> google.protobuf.Timestamp - 1, // 2: google.cloud.gkebackup.v1.BackupPlan.retention_policy:type_name -> google.cloud.gkebackup.v1.BackupPlan.RetentionPolicy - 4, // 3: google.cloud.gkebackup.v1.BackupPlan.labels:type_name -> google.cloud.gkebackup.v1.BackupPlan.LabelsEntry - 2, // 4: google.cloud.gkebackup.v1.BackupPlan.backup_schedule:type_name -> google.cloud.gkebackup.v1.BackupPlan.Schedule - 3, // 5: google.cloud.gkebackup.v1.BackupPlan.backup_config:type_name -> google.cloud.gkebackup.v1.BackupPlan.BackupConfig - 6, // 6: google.cloud.gkebackup.v1.BackupPlan.BackupConfig.selected_namespaces:type_name -> google.cloud.gkebackup.v1.Namespaces - 7, // 7: google.cloud.gkebackup.v1.BackupPlan.BackupConfig.selected_applications:type_name -> google.cloud.gkebackup.v1.NamespacedNames - 8, // 8: google.cloud.gkebackup.v1.BackupPlan.BackupConfig.encryption_key:type_name -> google.cloud.gkebackup.v1.EncryptionKey - 9, // [9:9] is the sub-list for method output_type - 9, // [9:9] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 6, // 0: google.cloud.gkebackup.v1.BackupPlan.create_time:type_name -> google.protobuf.Timestamp + 6, // 1: google.cloud.gkebackup.v1.BackupPlan.update_time:type_name -> google.protobuf.Timestamp + 2, // 2: google.cloud.gkebackup.v1.BackupPlan.retention_policy:type_name -> google.cloud.gkebackup.v1.BackupPlan.RetentionPolicy + 5, // 3: google.cloud.gkebackup.v1.BackupPlan.labels:type_name -> google.cloud.gkebackup.v1.BackupPlan.LabelsEntry + 3, // 4: google.cloud.gkebackup.v1.BackupPlan.backup_schedule:type_name -> google.cloud.gkebackup.v1.BackupPlan.Schedule + 4, // 5: google.cloud.gkebackup.v1.BackupPlan.backup_config:type_name -> google.cloud.gkebackup.v1.BackupPlan.BackupConfig + 0, // 6: google.cloud.gkebackup.v1.BackupPlan.state:type_name -> google.cloud.gkebackup.v1.BackupPlan.State + 7, // 7: google.cloud.gkebackup.v1.BackupPlan.BackupConfig.selected_namespaces:type_name -> google.cloud.gkebackup.v1.Namespaces + 8, // 8: google.cloud.gkebackup.v1.BackupPlan.BackupConfig.selected_applications:type_name -> google.cloud.gkebackup.v1.NamespacedNames + 9, // 9: google.cloud.gkebackup.v1.BackupPlan.BackupConfig.encryption_key:type_name -> google.cloud.gkebackup.v1.EncryptionKey + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_google_cloud_gkebackup_v1_backup_plan_proto_init() } @@ -757,13 +866,14 @@ func file_google_cloud_gkebackup_v1_backup_plan_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_gkebackup_v1_backup_plan_proto_rawDesc, - NumEnums: 0, + NumEnums: 1, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_google_cloud_gkebackup_v1_backup_plan_proto_goTypes, DependencyIndexes: file_google_cloud_gkebackup_v1_backup_plan_proto_depIdxs, + EnumInfos: file_google_cloud_gkebackup_v1_backup_plan_proto_enumTypes, MessageInfos: file_google_cloud_gkebackup_v1_backup_plan_proto_msgTypes, }.Build() File_google_cloud_gkebackup_v1_backup_plan_proto = out.File diff --git a/gkebackup/apiv1/gkebackuppb/restore.pb.go b/gkebackup/apiv1/gkebackuppb/restore.pb.go index 5e85ca5ce68..b3bc6085585 100755 --- a/gkebackup/apiv1/gkebackuppb/restore.pb.go +++ b/gkebackup/apiv1/gkebackuppb/restore.pb.go @@ -290,6 +290,87 @@ func (RestoreConfig_NamespacedResourceRestoreMode) EnumDescriptor() ([]byte, []i return file_google_cloud_gkebackup_v1_restore_proto_rawDescGZIP(), []int{1, 2} } +// Possible values for operations of a transformation rule action. +type RestoreConfig_TransformationRuleAction_Op int32 + +const ( + // Unspecified operation + RestoreConfig_TransformationRuleAction_OP_UNSPECIFIED RestoreConfig_TransformationRuleAction_Op = 0 + // The "remove" operation removes the value at the target location. + RestoreConfig_TransformationRuleAction_REMOVE RestoreConfig_TransformationRuleAction_Op = 1 + // The "move" operation removes the value at a specified location and + // adds it to the target location. + RestoreConfig_TransformationRuleAction_MOVE RestoreConfig_TransformationRuleAction_Op = 2 + // The "copy" operation copies the value at a specified location to the + // target location. + RestoreConfig_TransformationRuleAction_COPY RestoreConfig_TransformationRuleAction_Op = 3 + // The "add" operation performs one of the following functions, + // depending upon what the target location references: + // 1. If the target location specifies an array index, a new value is + // inserted into the array at the specified index. + // 2. If the target location specifies an object member that does not + // already exist, a new member is added to the object. + // 3. If the target location specifies an object member that does exist, + // that member's value is replaced. + RestoreConfig_TransformationRuleAction_ADD RestoreConfig_TransformationRuleAction_Op = 4 + // The "test" operation tests that a value at the target location is + // equal to a specified value. + RestoreConfig_TransformationRuleAction_TEST RestoreConfig_TransformationRuleAction_Op = 5 + // The "replace" operation replaces the value at the target location + // with a new value. The operation object MUST contain a "value" member + // whose content specifies the replacement value. + RestoreConfig_TransformationRuleAction_REPLACE RestoreConfig_TransformationRuleAction_Op = 6 +) + +// Enum value maps for RestoreConfig_TransformationRuleAction_Op. +var ( + RestoreConfig_TransformationRuleAction_Op_name = map[int32]string{ + 0: "OP_UNSPECIFIED", + 1: "REMOVE", + 2: "MOVE", + 3: "COPY", + 4: "ADD", + 5: "TEST", + 6: "REPLACE", + } + RestoreConfig_TransformationRuleAction_Op_value = map[string]int32{ + "OP_UNSPECIFIED": 0, + "REMOVE": 1, + "MOVE": 2, + "COPY": 3, + "ADD": 4, + "TEST": 5, + "REPLACE": 6, + } +) + +func (x RestoreConfig_TransformationRuleAction_Op) Enum() *RestoreConfig_TransformationRuleAction_Op { + p := new(RestoreConfig_TransformationRuleAction_Op) + *p = x + return p +} + +func (x RestoreConfig_TransformationRuleAction_Op) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RestoreConfig_TransformationRuleAction_Op) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_gkebackup_v1_restore_proto_enumTypes[4].Descriptor() +} + +func (RestoreConfig_TransformationRuleAction_Op) Type() protoreflect.EnumType { + return &file_google_cloud_gkebackup_v1_restore_proto_enumTypes[4] +} + +func (x RestoreConfig_TransformationRuleAction_Op) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RestoreConfig_TransformationRuleAction_Op.Descriptor instead. +func (RestoreConfig_TransformationRuleAction_Op) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_gkebackup_v1_restore_proto_rawDescGZIP(), []int{1, 3, 0} +} + // Represents both a request to Restore some portion of a Backup into // a target GKE cluster and a record of the restore operation itself. // Next id: 18 @@ -512,7 +593,7 @@ func (x *Restore) GetEtag() string { } // Configuration of a restore. -// Next id: 9 +// Next id: 12 type RestoreConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -549,6 +630,8 @@ type RestoreConfig struct { // *RestoreConfig_AllNamespaces // *RestoreConfig_SelectedNamespaces // *RestoreConfig_SelectedApplications + // *RestoreConfig_NoNamespaces + // *RestoreConfig_ExcludedNamespaces NamespacedResourceRestoreScope isRestoreConfig_NamespacedResourceRestoreScope `protobuf_oneof:"namespaced_resource_restore_scope"` // A list of transformation rules to be applied against Kubernetes resources // as they are selected for restoration from a Backup. Rules are executed in @@ -556,6 +639,12 @@ type RestoreConfig struct { // the filtering logic of subsequent rules. An empty list means no // substitution will occur. SubstitutionRules []*RestoreConfig_SubstitutionRule `protobuf:"bytes,8,rep,name=substitution_rules,json=substitutionRules,proto3" json:"substitution_rules,omitempty"` + // A list of transformation rules to be applied against Kubernetes resources + // as they are selected for restoration from a Backup. Rules are executed in + // order defined - this order matters, as changes made by a rule may impact + // the filtering logic of subsequent rules. An empty list means no + // transformation will occur. + TransformationRules []*RestoreConfig_TransformationRule `protobuf:"bytes,11,rep,name=transformation_rules,json=transformationRules,proto3" json:"transformation_rules,omitempty"` } func (x *RestoreConfig) Reset() { @@ -646,6 +735,20 @@ func (x *RestoreConfig) GetSelectedApplications() *NamespacedNames { return nil } +func (x *RestoreConfig) GetNoNamespaces() bool { + if x, ok := x.GetNamespacedResourceRestoreScope().(*RestoreConfig_NoNamespaces); ok { + return x.NoNamespaces + } + return false +} + +func (x *RestoreConfig) GetExcludedNamespaces() *Namespaces { + if x, ok := x.GetNamespacedResourceRestoreScope().(*RestoreConfig_ExcludedNamespaces); ok { + return x.ExcludedNamespaces + } + return nil +} + func (x *RestoreConfig) GetSubstitutionRules() []*RestoreConfig_SubstitutionRule { if x != nil { return x.SubstitutionRules @@ -653,6 +756,13 @@ func (x *RestoreConfig) GetSubstitutionRules() []*RestoreConfig_SubstitutionRule return nil } +func (x *RestoreConfig) GetTransformationRules() []*RestoreConfig_TransformationRule { + if x != nil { + return x.TransformationRules + } + return nil +} + type isRestoreConfig_NamespacedResourceRestoreScope interface { isRestoreConfig_NamespacedResourceRestoreScope() } @@ -676,12 +786,28 @@ type RestoreConfig_SelectedApplications struct { SelectedApplications *NamespacedNames `protobuf:"bytes,7,opt,name=selected_applications,json=selectedApplications,proto3,oneof"` } +type RestoreConfig_NoNamespaces struct { + // Do not restore any namespaced resources if set to "True". + // Specifying this field to "False" is not allowed. + NoNamespaces bool `protobuf:"varint,9,opt,name=no_namespaces,json=noNamespaces,proto3,oneof"` +} + +type RestoreConfig_ExcludedNamespaces struct { + // A list of selected namespaces excluded from restoration. All + // namespaces except those in this list will be restored. + ExcludedNamespaces *Namespaces `protobuf:"bytes,10,opt,name=excluded_namespaces,json=excludedNamespaces,proto3,oneof"` +} + func (*RestoreConfig_AllNamespaces) isRestoreConfig_NamespacedResourceRestoreScope() {} func (*RestoreConfig_SelectedNamespaces) isRestoreConfig_NamespacedResourceRestoreScope() {} func (*RestoreConfig_SelectedApplications) isRestoreConfig_NamespacedResourceRestoreScope() {} +func (*RestoreConfig_NoNamespaces) isRestoreConfig_NamespacedResourceRestoreScope() {} + +func (*RestoreConfig_ExcludedNamespaces) isRestoreConfig_NamespacedResourceRestoreScope() {} + // This is a direct map to the Kubernetes GroupKind type // [GroupKind](https://godoc.org/k8s.io/apimachinery/pkg/runtime/schema#GroupKind) // and is used for identifying specific "types" of resources to restore. @@ -772,6 +898,18 @@ type RestoreConfig_ClusterResourceRestoreScope struct { // backup. If specified, only the selected resources will be restored. // Mutually exclusive to any other field in the message. SelectedGroupKinds []*RestoreConfig_GroupKind `protobuf:"bytes,1,rep,name=selected_group_kinds,json=selectedGroupKinds,proto3" json:"selected_group_kinds,omitempty"` + // A list of cluster-scoped resource group kinds to NOT restore from the + // backup. If specified, all valid cluster-scoped resources will be + // restored except for those specified in the list. + // Mutually exclusive to any other field in the message. + ExcludedGroupKinds []*RestoreConfig_GroupKind `protobuf:"bytes,2,rep,name=excluded_group_kinds,json=excludedGroupKinds,proto3" json:"excluded_group_kinds,omitempty"` + // If True, all valid cluster-scoped resources will be restored. + // Mutually exclusive to any other field in the message. + AllGroupKinds bool `protobuf:"varint,3,opt,name=all_group_kinds,json=allGroupKinds,proto3" json:"all_group_kinds,omitempty"` + // If True, no cluster-scoped resources will be restored. + // This has the same restore scope as if the message is not defined. + // Mutually exclusive to any other field in the message. + NoGroupKinds bool `protobuf:"varint,4,opt,name=no_group_kinds,json=noGroupKinds,proto3" json:"no_group_kinds,omitempty"` } func (x *RestoreConfig_ClusterResourceRestoreScope) Reset() { @@ -813,6 +951,27 @@ func (x *RestoreConfig_ClusterResourceRestoreScope) GetSelectedGroupKinds() []*R return nil } +func (x *RestoreConfig_ClusterResourceRestoreScope) GetExcludedGroupKinds() []*RestoreConfig_GroupKind { + if x != nil { + return x.ExcludedGroupKinds + } + return nil +} + +func (x *RestoreConfig_ClusterResourceRestoreScope) GetAllGroupKinds() bool { + if x != nil { + return x.AllGroupKinds + } + return false +} + +func (x *RestoreConfig_ClusterResourceRestoreScope) GetNoGroupKinds() bool { + if x != nil { + return x.NoGroupKinds + } + return false +} + // A transformation rule to be applied against Kubernetes resources as they // are selected for restoration from a Backup. A rule contains both filtering // logic (which resources are subject to substitution) and substitution logic. @@ -926,6 +1085,245 @@ func (x *RestoreConfig_SubstitutionRule) GetNewValue() string { return "" } +// TransformationRuleAction defines a TransformationRule action based on the +// JSON Patch RFC (https://www.rfc-editor.org/rfc/rfc6902) +type RestoreConfig_TransformationRuleAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. op specifies the operation to perform. + Op RestoreConfig_TransformationRuleAction_Op `protobuf:"varint,1,opt,name=op,proto3,enum=google.cloud.gkebackup.v1.RestoreConfig_TransformationRuleAction_Op" json:"op,omitempty"` + // A string containing a JSON Pointer value that references the location in + // the target document to move the value from. + FromPath string `protobuf:"bytes,2,opt,name=from_path,json=fromPath,proto3" json:"from_path,omitempty"` + // A string containing a JSON-Pointer value that references a location + // within the target document where the operation is performed. + Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` + // A string that specifies the desired value in string format to + // use for transformation. + Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *RestoreConfig_TransformationRuleAction) Reset() { + *x = RestoreConfig_TransformationRuleAction{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_gkebackup_v1_restore_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RestoreConfig_TransformationRuleAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestoreConfig_TransformationRuleAction) ProtoMessage() {} + +func (x *RestoreConfig_TransformationRuleAction) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_gkebackup_v1_restore_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 RestoreConfig_TransformationRuleAction.ProtoReflect.Descriptor instead. +func (*RestoreConfig_TransformationRuleAction) Descriptor() ([]byte, []int) { + return file_google_cloud_gkebackup_v1_restore_proto_rawDescGZIP(), []int{1, 3} +} + +func (x *RestoreConfig_TransformationRuleAction) GetOp() RestoreConfig_TransformationRuleAction_Op { + if x != nil { + return x.Op + } + return RestoreConfig_TransformationRuleAction_OP_UNSPECIFIED +} + +func (x *RestoreConfig_TransformationRuleAction) GetFromPath() string { + if x != nil { + return x.FromPath + } + return "" +} + +func (x *RestoreConfig_TransformationRuleAction) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *RestoreConfig_TransformationRuleAction) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +// ResourceFilter specifies matching criteria to limit the scope of a +// change to a specific set of kubernetes resources that are selected for +// restoration from a backup. +type RestoreConfig_ResourceFilter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Filtering parameter) Any resource subject to transformation must be + // contained within one of the listed Kubernetes Namespace in the Backup. + // If this field is not provided, no namespace filtering will be performed + // (all resources in all Namespaces, including all cluster-scoped resources, + // will be candidates for transformation). + // To mix cluster-scoped and namespaced resources in the same rule, use an + // empty string ("") as one of the target namespaces. + Namespaces []string `protobuf:"bytes,1,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + // (Filtering parameter) Any resource subject to transformation must belong + // to one of the listed "types". If this field is not provided, no type + // filtering will be performed (all resources of all types matching previous + // filtering parameters will be candidates for transformation). + GroupKinds []*RestoreConfig_GroupKind `protobuf:"bytes,2,rep,name=group_kinds,json=groupKinds,proto3" json:"group_kinds,omitempty"` + // This is a [JSONPath] + // (https://github.com/json-path/JsonPath/blob/master/README.md) + // expression that matches specific fields of candidate + // resources and it operates as a filtering parameter (resources that + // are not matched with this expression will not be candidates for + // transformation). + JsonPath string `protobuf:"bytes,3,opt,name=json_path,json=jsonPath,proto3" json:"json_path,omitempty"` +} + +func (x *RestoreConfig_ResourceFilter) Reset() { + *x = RestoreConfig_ResourceFilter{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_gkebackup_v1_restore_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RestoreConfig_ResourceFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestoreConfig_ResourceFilter) ProtoMessage() {} + +func (x *RestoreConfig_ResourceFilter) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_gkebackup_v1_restore_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 RestoreConfig_ResourceFilter.ProtoReflect.Descriptor instead. +func (*RestoreConfig_ResourceFilter) Descriptor() ([]byte, []int) { + return file_google_cloud_gkebackup_v1_restore_proto_rawDescGZIP(), []int{1, 4} +} + +func (x *RestoreConfig_ResourceFilter) GetNamespaces() []string { + if x != nil { + return x.Namespaces + } + return nil +} + +func (x *RestoreConfig_ResourceFilter) GetGroupKinds() []*RestoreConfig_GroupKind { + if x != nil { + return x.GroupKinds + } + return nil +} + +func (x *RestoreConfig_ResourceFilter) GetJsonPath() string { + if x != nil { + return x.JsonPath + } + return "" +} + +// A transformation rule to be applied against Kubernetes resources as they +// are selected for restoration from a Backup. A rule contains both filtering +// logic (which resources are subject to transform) and transformation logic. +type RestoreConfig_TransformationRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. A list of transformation rule actions to take against candidate + // resources. Actions are executed in order defined - this order matters, as + // they could potentially interfere with each other and the first operation + // could affect the outcome of the second operation. + FieldActions []*RestoreConfig_TransformationRuleAction `protobuf:"bytes,1,rep,name=field_actions,json=fieldActions,proto3" json:"field_actions,omitempty"` + // This field is used to specify a set of fields that should be used to + // determine which resources in backup should be acted upon by the supplied + // transformation rule actions, and this will ensure that only specific + // resources are affected by transformation rule actions. + ResourceFilter *RestoreConfig_ResourceFilter `protobuf:"bytes,2,opt,name=resource_filter,json=resourceFilter,proto3" json:"resource_filter,omitempty"` + // The description is a user specified string description of the + // transformation rule. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *RestoreConfig_TransformationRule) Reset() { + *x = RestoreConfig_TransformationRule{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_gkebackup_v1_restore_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RestoreConfig_TransformationRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestoreConfig_TransformationRule) ProtoMessage() {} + +func (x *RestoreConfig_TransformationRule) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_gkebackup_v1_restore_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 RestoreConfig_TransformationRule.ProtoReflect.Descriptor instead. +func (*RestoreConfig_TransformationRule) Descriptor() ([]byte, []int) { + return file_google_cloud_gkebackup_v1_restore_proto_rawDescGZIP(), []int{1, 5} +} + +func (x *RestoreConfig_TransformationRule) GetFieldActions() []*RestoreConfig_TransformationRuleAction { + if x != nil { + return x.FieldActions + } + return nil +} + +func (x *RestoreConfig_TransformationRule) GetResourceFilter() *RestoreConfig_ResourceFilter { + if x != nil { + return x.ResourceFilter + } + return nil +} + +func (x *RestoreConfig_TransformationRule) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + var File_google_cloud_gkebackup_v1_restore_proto protoreflect.FileDescriptor var file_google_cloud_gkebackup_v1_restore_proto_rawDesc = []byte{ @@ -1020,7 +1418,7 @@ var file_google_cloud_gkebackup_v1_restore_proto_rawDesc = []byte{ 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x7d, 0x22, 0xf1, 0x0e, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, + 0x72, 0x65, 0x7d, 0x22, 0xdc, 0x17, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7d, 0x0a, 0x1a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, @@ -1070,89 +1468,159 @@ var file_google_cloud_gkebackup_v1_restore_proto_rawDesc = []byte{ 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x48, 0x00, 0x52, 0x14, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x68, 0x0a, 0x12, 0x73, 0x75, - 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0d, 0x6e, 0x6f, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x00, 0x52, 0x0c, 0x6e, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x12, 0x58, 0x0a, 0x13, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, + 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x12, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x12, 0x73, + 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x11, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0b, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x57, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x69, + 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x1a, 0xb7, + 0x02, 0x0a, 0x1b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x64, + 0x0a, 0x14, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x69, 0x6e, 0x64, + 0x52, 0x12, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, + 0x69, 0x6e, 0x64, 0x73, 0x12, 0x64, 0x0a, 0x14, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x12, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x6c, + 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x69, 0x6e, + 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x6f, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6b, + 0x69, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x6f, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x1a, 0xa3, 0x02, 0x0a, 0x10, 0x53, 0x75, 0x62, + 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2b, 0x0a, + 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x12, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x11, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x57, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x69, 0x6e, - 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x1a, 0x83, 0x01, - 0x0a, 0x1b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x64, 0x0a, - 0x14, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x69, 0x6e, 0x64, 0x52, - 0x12, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x69, - 0x6e, 0x64, 0x73, 0x1a, 0xa3, 0x02, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4a, 0x73, - 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x16, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x1b, 0x0a, 0x09, - 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xaf, 0x01, 0x0a, 0x17, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x26, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x50, 0x4f, 0x4c, - 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x56, 0x4f, 0x4c, - 0x55, 0x4d, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x42, 0x41, - 0x43, 0x4b, 0x55, 0x50, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x55, 0x53, 0x45, 0x5f, - 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x46, 0x52, - 0x4f, 0x4d, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, - 0x4f, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, - 0x53, 0x54, 0x4f, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0x83, 0x01, 0x0a, 0x1d, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, 0x0a, - 0x2c, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, - 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x18, 0x0a, 0x14, 0x55, 0x53, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x47, 0x5f, - 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x53, 0x45, - 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, - 0x02, 0x22, 0x7f, 0x0a, 0x1d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x64, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x12, 0x30, 0x0a, 0x2c, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x44, - 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, - 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x41, - 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, - 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, - 0x10, 0x02, 0x42, 0x23, 0x0a, 0x21, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x64, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x42, 0xc3, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x52, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x67, - 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x67, - 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x70, 0x62, 0x3b, 0x67, 0x6b, 0x65, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x70, 0x62, 0xaa, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, - 0x56, 0x31, 0xca, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x5c, 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5c, 0x56, 0x31, 0xea, 0x02, - 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, - 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x10, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x16, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x96, + 0x02, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x02, 0x6f, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x58, 0x0a, + 0x02, 0x4f, 0x70, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, + 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, + 0x04, 0x43, 0x4f, 0x50, 0x59, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x04, + 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x53, 0x54, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, + 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x06, 0x1a, 0xa2, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0b, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, + 0x69, 0x6e, 0x64, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x12, + 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x1a, 0x85, 0x02, 0x0a, + 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x75, 0x6c, 0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x60, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x01, 0x0a, 0x17, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x2a, 0x0a, 0x26, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, + 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, + 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x55, 0x53, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, + 0x45, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x42, 0x41, + 0x43, 0x4b, 0x55, 0x50, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x4f, 0x5f, 0x56, 0x4f, 0x4c, + 0x55, 0x4d, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0x83, 0x01, 0x0a, 0x1d, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, + 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x2c, 0x43, 0x4c, 0x55, 0x53, + 0x54, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, + 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x53, + 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, + 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x53, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, + 0x55, 0x50, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x22, 0x7f, 0x0a, 0x1d, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, + 0x2c, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x16, 0x0a, 0x12, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, + 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x41, 0x49, 0x4c, 0x5f, + 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x10, 0x02, 0x42, 0x23, 0x0a, + 0x21, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x42, 0xc3, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x70, 0x62, 0x3b, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x70, + 0x62, 0xaa, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x19, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x47, 0x6b, 0x65, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x47, 0x6b, 0x65, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1167,44 +1635,55 @@ func file_google_cloud_gkebackup_v1_restore_proto_rawDescGZIP() []byte { return file_google_cloud_gkebackup_v1_restore_proto_rawDescData } -var file_google_cloud_gkebackup_v1_restore_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_google_cloud_gkebackup_v1_restore_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_cloud_gkebackup_v1_restore_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_google_cloud_gkebackup_v1_restore_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_google_cloud_gkebackup_v1_restore_proto_goTypes = []interface{}{ - (Restore_State)(0), // 0: google.cloud.gkebackup.v1.Restore.State - (RestoreConfig_VolumeDataRestorePolicy)(0), // 1: google.cloud.gkebackup.v1.RestoreConfig.VolumeDataRestorePolicy - (RestoreConfig_ClusterResourceConflictPolicy)(0), // 2: google.cloud.gkebackup.v1.RestoreConfig.ClusterResourceConflictPolicy - (RestoreConfig_NamespacedResourceRestoreMode)(0), // 3: google.cloud.gkebackup.v1.RestoreConfig.NamespacedResourceRestoreMode - (*Restore)(nil), // 4: google.cloud.gkebackup.v1.Restore - (*RestoreConfig)(nil), // 5: google.cloud.gkebackup.v1.RestoreConfig - nil, // 6: google.cloud.gkebackup.v1.Restore.LabelsEntry - (*RestoreConfig_GroupKind)(nil), // 7: google.cloud.gkebackup.v1.RestoreConfig.GroupKind - (*RestoreConfig_ClusterResourceRestoreScope)(nil), // 8: google.cloud.gkebackup.v1.RestoreConfig.ClusterResourceRestoreScope - (*RestoreConfig_SubstitutionRule)(nil), // 9: google.cloud.gkebackup.v1.RestoreConfig.SubstitutionRule - (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp - (*Namespaces)(nil), // 11: google.cloud.gkebackup.v1.Namespaces - (*NamespacedNames)(nil), // 12: google.cloud.gkebackup.v1.NamespacedNames + (Restore_State)(0), // 0: google.cloud.gkebackup.v1.Restore.State + (RestoreConfig_VolumeDataRestorePolicy)(0), // 1: google.cloud.gkebackup.v1.RestoreConfig.VolumeDataRestorePolicy + (RestoreConfig_ClusterResourceConflictPolicy)(0), // 2: google.cloud.gkebackup.v1.RestoreConfig.ClusterResourceConflictPolicy + (RestoreConfig_NamespacedResourceRestoreMode)(0), // 3: google.cloud.gkebackup.v1.RestoreConfig.NamespacedResourceRestoreMode + (RestoreConfig_TransformationRuleAction_Op)(0), // 4: google.cloud.gkebackup.v1.RestoreConfig.TransformationRuleAction.Op + (*Restore)(nil), // 5: google.cloud.gkebackup.v1.Restore + (*RestoreConfig)(nil), // 6: google.cloud.gkebackup.v1.RestoreConfig + nil, // 7: google.cloud.gkebackup.v1.Restore.LabelsEntry + (*RestoreConfig_GroupKind)(nil), // 8: google.cloud.gkebackup.v1.RestoreConfig.GroupKind + (*RestoreConfig_ClusterResourceRestoreScope)(nil), // 9: google.cloud.gkebackup.v1.RestoreConfig.ClusterResourceRestoreScope + (*RestoreConfig_SubstitutionRule)(nil), // 10: google.cloud.gkebackup.v1.RestoreConfig.SubstitutionRule + (*RestoreConfig_TransformationRuleAction)(nil), // 11: google.cloud.gkebackup.v1.RestoreConfig.TransformationRuleAction + (*RestoreConfig_ResourceFilter)(nil), // 12: google.cloud.gkebackup.v1.RestoreConfig.ResourceFilter + (*RestoreConfig_TransformationRule)(nil), // 13: google.cloud.gkebackup.v1.RestoreConfig.TransformationRule + (*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp + (*Namespaces)(nil), // 15: google.cloud.gkebackup.v1.Namespaces + (*NamespacedNames)(nil), // 16: google.cloud.gkebackup.v1.NamespacedNames } var file_google_cloud_gkebackup_v1_restore_proto_depIdxs = []int32{ - 10, // 0: google.cloud.gkebackup.v1.Restore.create_time:type_name -> google.protobuf.Timestamp - 10, // 1: google.cloud.gkebackup.v1.Restore.update_time:type_name -> google.protobuf.Timestamp - 5, // 2: google.cloud.gkebackup.v1.Restore.restore_config:type_name -> google.cloud.gkebackup.v1.RestoreConfig - 6, // 3: google.cloud.gkebackup.v1.Restore.labels:type_name -> google.cloud.gkebackup.v1.Restore.LabelsEntry + 14, // 0: google.cloud.gkebackup.v1.Restore.create_time:type_name -> google.protobuf.Timestamp + 14, // 1: google.cloud.gkebackup.v1.Restore.update_time:type_name -> google.protobuf.Timestamp + 6, // 2: google.cloud.gkebackup.v1.Restore.restore_config:type_name -> google.cloud.gkebackup.v1.RestoreConfig + 7, // 3: google.cloud.gkebackup.v1.Restore.labels:type_name -> google.cloud.gkebackup.v1.Restore.LabelsEntry 0, // 4: google.cloud.gkebackup.v1.Restore.state:type_name -> google.cloud.gkebackup.v1.Restore.State - 10, // 5: google.cloud.gkebackup.v1.Restore.complete_time:type_name -> google.protobuf.Timestamp + 14, // 5: google.cloud.gkebackup.v1.Restore.complete_time:type_name -> google.protobuf.Timestamp 1, // 6: google.cloud.gkebackup.v1.RestoreConfig.volume_data_restore_policy:type_name -> google.cloud.gkebackup.v1.RestoreConfig.VolumeDataRestorePolicy 2, // 7: google.cloud.gkebackup.v1.RestoreConfig.cluster_resource_conflict_policy:type_name -> google.cloud.gkebackup.v1.RestoreConfig.ClusterResourceConflictPolicy 3, // 8: google.cloud.gkebackup.v1.RestoreConfig.namespaced_resource_restore_mode:type_name -> google.cloud.gkebackup.v1.RestoreConfig.NamespacedResourceRestoreMode - 8, // 9: google.cloud.gkebackup.v1.RestoreConfig.cluster_resource_restore_scope:type_name -> google.cloud.gkebackup.v1.RestoreConfig.ClusterResourceRestoreScope - 11, // 10: google.cloud.gkebackup.v1.RestoreConfig.selected_namespaces:type_name -> google.cloud.gkebackup.v1.Namespaces - 12, // 11: google.cloud.gkebackup.v1.RestoreConfig.selected_applications:type_name -> google.cloud.gkebackup.v1.NamespacedNames - 9, // 12: google.cloud.gkebackup.v1.RestoreConfig.substitution_rules:type_name -> google.cloud.gkebackup.v1.RestoreConfig.SubstitutionRule - 7, // 13: google.cloud.gkebackup.v1.RestoreConfig.ClusterResourceRestoreScope.selected_group_kinds:type_name -> google.cloud.gkebackup.v1.RestoreConfig.GroupKind - 7, // 14: google.cloud.gkebackup.v1.RestoreConfig.SubstitutionRule.target_group_kinds:type_name -> google.cloud.gkebackup.v1.RestoreConfig.GroupKind - 15, // [15:15] is the sub-list for method output_type - 15, // [15:15] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 9, // 9: google.cloud.gkebackup.v1.RestoreConfig.cluster_resource_restore_scope:type_name -> google.cloud.gkebackup.v1.RestoreConfig.ClusterResourceRestoreScope + 15, // 10: google.cloud.gkebackup.v1.RestoreConfig.selected_namespaces:type_name -> google.cloud.gkebackup.v1.Namespaces + 16, // 11: google.cloud.gkebackup.v1.RestoreConfig.selected_applications:type_name -> google.cloud.gkebackup.v1.NamespacedNames + 15, // 12: google.cloud.gkebackup.v1.RestoreConfig.excluded_namespaces:type_name -> google.cloud.gkebackup.v1.Namespaces + 10, // 13: google.cloud.gkebackup.v1.RestoreConfig.substitution_rules:type_name -> google.cloud.gkebackup.v1.RestoreConfig.SubstitutionRule + 13, // 14: google.cloud.gkebackup.v1.RestoreConfig.transformation_rules:type_name -> google.cloud.gkebackup.v1.RestoreConfig.TransformationRule + 8, // 15: google.cloud.gkebackup.v1.RestoreConfig.ClusterResourceRestoreScope.selected_group_kinds:type_name -> google.cloud.gkebackup.v1.RestoreConfig.GroupKind + 8, // 16: google.cloud.gkebackup.v1.RestoreConfig.ClusterResourceRestoreScope.excluded_group_kinds:type_name -> google.cloud.gkebackup.v1.RestoreConfig.GroupKind + 8, // 17: google.cloud.gkebackup.v1.RestoreConfig.SubstitutionRule.target_group_kinds:type_name -> google.cloud.gkebackup.v1.RestoreConfig.GroupKind + 4, // 18: google.cloud.gkebackup.v1.RestoreConfig.TransformationRuleAction.op:type_name -> google.cloud.gkebackup.v1.RestoreConfig.TransformationRuleAction.Op + 8, // 19: google.cloud.gkebackup.v1.RestoreConfig.ResourceFilter.group_kinds:type_name -> google.cloud.gkebackup.v1.RestoreConfig.GroupKind + 11, // 20: google.cloud.gkebackup.v1.RestoreConfig.TransformationRule.field_actions:type_name -> google.cloud.gkebackup.v1.RestoreConfig.TransformationRuleAction + 12, // 21: google.cloud.gkebackup.v1.RestoreConfig.TransformationRule.resource_filter:type_name -> google.cloud.gkebackup.v1.RestoreConfig.ResourceFilter + 22, // [22:22] is the sub-list for method output_type + 22, // [22:22] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name } func init() { file_google_cloud_gkebackup_v1_restore_proto_init() } @@ -1274,19 +1753,57 @@ func file_google_cloud_gkebackup_v1_restore_proto_init() { return nil } } + file_google_cloud_gkebackup_v1_restore_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RestoreConfig_TransformationRuleAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_gkebackup_v1_restore_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RestoreConfig_ResourceFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_gkebackup_v1_restore_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RestoreConfig_TransformationRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_google_cloud_gkebackup_v1_restore_proto_msgTypes[1].OneofWrappers = []interface{}{ (*RestoreConfig_AllNamespaces)(nil), (*RestoreConfig_SelectedNamespaces)(nil), (*RestoreConfig_SelectedApplications)(nil), + (*RestoreConfig_NoNamespaces)(nil), + (*RestoreConfig_ExcludedNamespaces)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_gkebackup_v1_restore_proto_rawDesc, - NumEnums: 4, - NumMessages: 6, + NumEnums: 5, + NumMessages: 9, NumExtensions: 0, NumServices: 0, }, diff --git a/gkebackup/apiv1/gkebackuppb/restore_plan.pb.go b/gkebackup/apiv1/gkebackuppb/restore_plan.pb.go index b9d44e7e800..237bc3055f2 100755 --- a/gkebackup/apiv1/gkebackuppb/restore_plan.pb.go +++ b/gkebackup/apiv1/gkebackuppb/restore_plan.pb.go @@ -37,9 +37,70 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// State +type RestorePlan_State int32 + +const ( + // Default first value for Enums. + RestorePlan_STATE_UNSPECIFIED RestorePlan_State = 0 + // Waiting for cluster state to be RUNNING. + RestorePlan_CLUSTER_PENDING RestorePlan_State = 1 + // The RestorePlan has successfully been created and is ready for Restores. + RestorePlan_READY RestorePlan_State = 2 + // RestorePlan creation has failed. + RestorePlan_FAILED RestorePlan_State = 3 + // The RestorePlan is in the process of being deleted. + RestorePlan_DELETING RestorePlan_State = 4 +) + +// Enum value maps for RestorePlan_State. +var ( + RestorePlan_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "CLUSTER_PENDING", + 2: "READY", + 3: "FAILED", + 4: "DELETING", + } + RestorePlan_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "CLUSTER_PENDING": 1, + "READY": 2, + "FAILED": 3, + "DELETING": 4, + } +) + +func (x RestorePlan_State) Enum() *RestorePlan_State { + p := new(RestorePlan_State) + *p = x + return p +} + +func (x RestorePlan_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RestorePlan_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_gkebackup_v1_restore_plan_proto_enumTypes[0].Descriptor() +} + +func (RestorePlan_State) Type() protoreflect.EnumType { + return &file_google_cloud_gkebackup_v1_restore_plan_proto_enumTypes[0] +} + +func (x RestorePlan_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RestorePlan_State.Descriptor instead. +func (RestorePlan_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_gkebackup_v1_restore_plan_proto_rawDescGZIP(), []int{0, 0} +} + // The configuration of a potential series of Restore operations to be performed // against Backups belong to a particular BackupPlan. -// Next id: 11 +// Next id: 13 type RestorePlan struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -84,6 +145,13 @@ type RestorePlan struct { // `UpdateRestorePlan` or `DeleteRestorePlan` to ensure that their change // will be applied to the same version of the resource. Etag string `protobuf:"bytes,10,opt,name=etag,proto3" json:"etag,omitempty"` + // Output only. State of the RestorePlan. This State field reflects the + // various stages a RestorePlan can be in + // during the Create operation. + State RestorePlan_State `protobuf:"varint,11,opt,name=state,proto3,enum=google.cloud.gkebackup.v1.RestorePlan_State" json:"state,omitempty"` + // Output only. Human-readable description of why RestorePlan is in the + // current `state` + StateReason string `protobuf:"bytes,12,opt,name=state_reason,json=stateReason,proto3" json:"state_reason,omitempty"` } func (x *RestorePlan) Reset() { @@ -188,6 +256,20 @@ func (x *RestorePlan) GetEtag() string { return "" } +func (x *RestorePlan) GetState() RestorePlan_State { + if x != nil { + return x.State + } + return RestorePlan_STATE_UNSPECIFIED +} + +func (x *RestorePlan) GetStateReason() string { + if x != nil { + return x.StateReason + } + return "" +} + var File_google_cloud_gkebackup_v1_restore_plan_proto protoreflect.FileDescriptor var file_google_cloud_gkebackup_v1_restore_plan_proto_rawDesc = []byte{ @@ -204,7 +286,7 @@ var file_google_cloud_gkebackup_v1_restore_plan_proto_rawDesc = []byte{ 0x2f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 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, 0x22, - 0xe1, 0x05, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, + 0xac, 0x07, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, @@ -239,31 +321,43 @@ var file_google_cloud_gkebackup_v1_restore_plan_proto_rawDesc = []byte{ 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 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, 0x3a, 0x6e, 0xea, 0x41, 0x6b, 0x0a, 0x24, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x43, - 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, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, - 0x6c, 0x61, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x6c, - 0x61, 0x6e, 0x7d, 0x42, 0xc7, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, - 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x67, - 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x67, - 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x70, 0x62, 0x3b, 0x67, 0x6b, 0x65, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x70, 0x62, 0xaa, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, - 0x56, 0x31, 0xca, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x5c, 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5c, 0x56, 0x31, 0xea, 0x02, - 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, - 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x41, 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 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, 0x22, 0x58, 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, 0x13, 0x0a, 0x0f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, + 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, + 0x44, 0x59, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x3a, 0x6e, + 0xea, 0x41, 0x6b, 0x0a, 0x24, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x43, 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, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x2f, + 0x7b, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x7d, 0x42, 0xc7, + 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, + 0x42, 0x10, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x70, 0x62, 0x3b, 0x67, 0x6b, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x70, + 0x62, 0xaa, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x47, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x19, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x47, 0x6b, 0x65, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x47, 0x6b, 0x65, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -278,23 +372,26 @@ func file_google_cloud_gkebackup_v1_restore_plan_proto_rawDescGZIP() []byte { return file_google_cloud_gkebackup_v1_restore_plan_proto_rawDescData } +var file_google_cloud_gkebackup_v1_restore_plan_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_google_cloud_gkebackup_v1_restore_plan_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_google_cloud_gkebackup_v1_restore_plan_proto_goTypes = []interface{}{ - (*RestorePlan)(nil), // 0: google.cloud.gkebackup.v1.RestorePlan - nil, // 1: google.cloud.gkebackup.v1.RestorePlan.LabelsEntry - (*timestamppb.Timestamp)(nil), // 2: google.protobuf.Timestamp - (*RestoreConfig)(nil), // 3: google.cloud.gkebackup.v1.RestoreConfig + (RestorePlan_State)(0), // 0: google.cloud.gkebackup.v1.RestorePlan.State + (*RestorePlan)(nil), // 1: google.cloud.gkebackup.v1.RestorePlan + nil, // 2: google.cloud.gkebackup.v1.RestorePlan.LabelsEntry + (*timestamppb.Timestamp)(nil), // 3: google.protobuf.Timestamp + (*RestoreConfig)(nil), // 4: google.cloud.gkebackup.v1.RestoreConfig } var file_google_cloud_gkebackup_v1_restore_plan_proto_depIdxs = []int32{ - 2, // 0: google.cloud.gkebackup.v1.RestorePlan.create_time:type_name -> google.protobuf.Timestamp - 2, // 1: google.cloud.gkebackup.v1.RestorePlan.update_time:type_name -> google.protobuf.Timestamp - 3, // 2: google.cloud.gkebackup.v1.RestorePlan.restore_config:type_name -> google.cloud.gkebackup.v1.RestoreConfig - 1, // 3: google.cloud.gkebackup.v1.RestorePlan.labels:type_name -> google.cloud.gkebackup.v1.RestorePlan.LabelsEntry - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 3, // 0: google.cloud.gkebackup.v1.RestorePlan.create_time:type_name -> google.protobuf.Timestamp + 3, // 1: google.cloud.gkebackup.v1.RestorePlan.update_time:type_name -> google.protobuf.Timestamp + 4, // 2: google.cloud.gkebackup.v1.RestorePlan.restore_config:type_name -> google.cloud.gkebackup.v1.RestoreConfig + 2, // 3: google.cloud.gkebackup.v1.RestorePlan.labels:type_name -> google.cloud.gkebackup.v1.RestorePlan.LabelsEntry + 0, // 4: google.cloud.gkebackup.v1.RestorePlan.state:type_name -> google.cloud.gkebackup.v1.RestorePlan.State + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_google_cloud_gkebackup_v1_restore_plan_proto_init() } @@ -322,13 +419,14 @@ func file_google_cloud_gkebackup_v1_restore_plan_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_gkebackup_v1_restore_plan_proto_rawDesc, - NumEnums: 0, + NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_google_cloud_gkebackup_v1_restore_plan_proto_goTypes, DependencyIndexes: file_google_cloud_gkebackup_v1_restore_plan_proto_depIdxs, + EnumInfos: file_google_cloud_gkebackup_v1_restore_plan_proto_enumTypes, MessageInfos: file_google_cloud_gkebackup_v1_restore_plan_proto_msgTypes, }.Build() File_google_cloud_gkebackup_v1_restore_plan_proto = out.File diff --git a/internal/.repo-metadata-full.json b/internal/.repo-metadata-full.json index 6248902a573..f841fb07bb3 100644 --- a/internal/.repo-metadata-full.json +++ b/internal/.repo-metadata-full.json @@ -655,7 +655,7 @@ "description": "Container Analysis API", "language": "go", "client_library_type": "generated", - "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/latest/containeranalysis/apiv1beta1", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/containeranalysis/latest/apiv1beta1", "release_level": "preview", "library_type": "GAPIC_AUTO" }, diff --git a/internal/generated/snippets/accessapproval/apiv1/snippet_metadata.google.cloud.accessapproval.v1.json b/internal/generated/snippets/accessapproval/apiv1/snippet_metadata.google.cloud.accessapproval.v1.json index 38de50d0970..bb9c74debb8 100644 --- a/internal/generated/snippets/accessapproval/apiv1/snippet_metadata.google.cloud.accessapproval.v1.json +++ b/internal/generated/snippets/accessapproval/apiv1/snippet_metadata.google.cloud.accessapproval.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/accessapproval/apiv1", - "version": "1.7.0", + "version": "1.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/accesscontextmanager/apiv1/snippet_metadata.google.identity.accesscontextmanager.v1.json b/internal/generated/snippets/accesscontextmanager/apiv1/snippet_metadata.google.identity.accesscontextmanager.v1.json index 21b4d58ba62..66982a23b75 100644 --- a/internal/generated/snippets/accesscontextmanager/apiv1/snippet_metadata.google.identity.accesscontextmanager.v1.json +++ b/internal/generated/snippets/accesscontextmanager/apiv1/snippet_metadata.google.identity.accesscontextmanager.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/accesscontextmanager/apiv1", - "version": "1.8.0", + "version": "1.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/advisorynotifications/apiv1/snippet_metadata.google.cloud.advisorynotifications.v1.json b/internal/generated/snippets/advisorynotifications/apiv1/snippet_metadata.google.cloud.advisorynotifications.v1.json index f941e5d3721..7e3f5ebd4a0 100644 --- a/internal/generated/snippets/advisorynotifications/apiv1/snippet_metadata.google.cloud.advisorynotifications.v1.json +++ b/internal/generated/snippets/advisorynotifications/apiv1/snippet_metadata.google.cloud.advisorynotifications.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/advisorynotifications/apiv1", - "version": "0.3.0", + "version": "0.3.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/aiplatform/apiv1/snippet_metadata.google.cloud.aiplatform.v1.json b/internal/generated/snippets/aiplatform/apiv1/snippet_metadata.google.cloud.aiplatform.v1.json index 246b6174a93..1f89525465b 100644 --- a/internal/generated/snippets/aiplatform/apiv1/snippet_metadata.google.cloud.aiplatform.v1.json +++ b/internal/generated/snippets/aiplatform/apiv1/snippet_metadata.google.cloud.aiplatform.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/aiplatform/apiv1", - "version": "1.44.0", + "version": "1.45.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/snippet_metadata.google.cloud.aiplatform.v1beta1.json b/internal/generated/snippets/aiplatform/apiv1beta1/snippet_metadata.google.cloud.aiplatform.v1beta1.json index 678204172bb..6d56960a42e 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/snippet_metadata.google.cloud.aiplatform.v1beta1.json +++ b/internal/generated/snippets/aiplatform/apiv1beta1/snippet_metadata.google.cloud.aiplatform.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/aiplatform/apiv1beta1", - "version": "1.44.0", + "version": "1.45.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/alloydb/apiv1/snippet_metadata.google.cloud.alloydb.v1.json b/internal/generated/snippets/alloydb/apiv1/snippet_metadata.google.cloud.alloydb.v1.json index abe916aba09..bffd60703be 100644 --- a/internal/generated/snippets/alloydb/apiv1/snippet_metadata.google.cloud.alloydb.v1.json +++ b/internal/generated/snippets/alloydb/apiv1/snippet_metadata.google.cloud.alloydb.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/alloydb/apiv1", - "version": "1.2.0", + "version": "1.2.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/alloydb/apiv1alpha/snippet_metadata.google.cloud.alloydb.v1alpha.json b/internal/generated/snippets/alloydb/apiv1alpha/snippet_metadata.google.cloud.alloydb.v1alpha.json index b155213d595..18868428bd0 100644 --- a/internal/generated/snippets/alloydb/apiv1alpha/snippet_metadata.google.cloud.alloydb.v1alpha.json +++ b/internal/generated/snippets/alloydb/apiv1alpha/snippet_metadata.google.cloud.alloydb.v1alpha.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/alloydb/apiv1alpha", - "version": "1.2.0", + "version": "1.2.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/alloydb/apiv1beta/snippet_metadata.google.cloud.alloydb.v1beta.json b/internal/generated/snippets/alloydb/apiv1beta/snippet_metadata.google.cloud.alloydb.v1beta.json index 9077ccde5e0..79794280b96 100644 --- a/internal/generated/snippets/alloydb/apiv1beta/snippet_metadata.google.cloud.alloydb.v1beta.json +++ b/internal/generated/snippets/alloydb/apiv1beta/snippet_metadata.google.cloud.alloydb.v1beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/alloydb/apiv1beta", - "version": "1.2.0", + "version": "1.2.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/analytics/admin/apiv1alpha/snippet_metadata.google.analytics.admin.v1alpha.json b/internal/generated/snippets/analytics/admin/apiv1alpha/snippet_metadata.google.analytics.admin.v1alpha.json index 0be42874258..b7e397441d8 100644 --- a/internal/generated/snippets/analytics/admin/apiv1alpha/snippet_metadata.google.analytics.admin.v1alpha.json +++ b/internal/generated/snippets/analytics/admin/apiv1alpha/snippet_metadata.google.analytics.admin.v1alpha.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/analytics/admin/apiv1alpha", - "version": "0.21.0", + "version": "0.21.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/apigateway/apiv1/snippet_metadata.google.cloud.apigateway.v1.json b/internal/generated/snippets/apigateway/apiv1/snippet_metadata.google.cloud.apigateway.v1.json index d0572442597..9b6cc60dc08 100644 --- a/internal/generated/snippets/apigateway/apiv1/snippet_metadata.google.cloud.apigateway.v1.json +++ b/internal/generated/snippets/apigateway/apiv1/snippet_metadata.google.cloud.apigateway.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/apigateway/apiv1", - "version": "1.6.0", + "version": "1.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/apigeeconnect/apiv1/snippet_metadata.google.cloud.apigeeconnect.v1.json b/internal/generated/snippets/apigeeconnect/apiv1/snippet_metadata.google.cloud.apigeeconnect.v1.json index bcd8fbeedb7..d2f3bf19263 100644 --- a/internal/generated/snippets/apigeeconnect/apiv1/snippet_metadata.google.cloud.apigeeconnect.v1.json +++ b/internal/generated/snippets/apigeeconnect/apiv1/snippet_metadata.google.cloud.apigeeconnect.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/apigeeconnect/apiv1", - "version": "1.6.0", + "version": "1.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/apigeeregistry/apiv1/snippet_metadata.google.cloud.apigeeregistry.v1.json b/internal/generated/snippets/apigeeregistry/apiv1/snippet_metadata.google.cloud.apigeeregistry.v1.json index 03c932c567b..e899600ae9e 100644 --- a/internal/generated/snippets/apigeeregistry/apiv1/snippet_metadata.google.cloud.apigeeregistry.v1.json +++ b/internal/generated/snippets/apigeeregistry/apiv1/snippet_metadata.google.cloud.apigeeregistry.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/apigeeregistry/apiv1", - "version": "0.7.0", + "version": "0.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/apikeys/apiv2/snippet_metadata.google.api.apikeys.v2.json b/internal/generated/snippets/apikeys/apiv2/snippet_metadata.google.api.apikeys.v2.json index 82902bfbfd4..9f95e096f7b 100644 --- a/internal/generated/snippets/apikeys/apiv2/snippet_metadata.google.api.apikeys.v2.json +++ b/internal/generated/snippets/apikeys/apiv2/snippet_metadata.google.api.apikeys.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/apikeys/apiv2", - "version": "1.1.0", + "version": "1.1.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/appengine/apiv1/snippet_metadata.google.appengine.v1.json b/internal/generated/snippets/appengine/apiv1/snippet_metadata.google.appengine.v1.json index da4f0e62090..1d1f24a1d47 100644 --- a/internal/generated/snippets/appengine/apiv1/snippet_metadata.google.appengine.v1.json +++ b/internal/generated/snippets/appengine/apiv1/snippet_metadata.google.appengine.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/appengine/apiv1", - "version": "1.8.0", + "version": "1.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/area120/tables/apiv1alpha1/snippet_metadata.google.area120.tables.v1alpha1.json b/internal/generated/snippets/area120/tables/apiv1alpha1/snippet_metadata.google.area120.tables.v1alpha1.json index d68286b52bf..5307da5f41c 100644 --- a/internal/generated/snippets/area120/tables/apiv1alpha1/snippet_metadata.google.area120.tables.v1alpha1.json +++ b/internal/generated/snippets/area120/tables/apiv1alpha1/snippet_metadata.google.area120.tables.v1alpha1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/area120/tables/apiv1alpha1", - "version": "0.8.0", + "version": "0.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/artifactregistry/apiv1/snippet_metadata.google.devtools.artifactregistry.v1.json b/internal/generated/snippets/artifactregistry/apiv1/snippet_metadata.google.devtools.artifactregistry.v1.json index 540e7e648d9..42dc56c6e9a 100644 --- a/internal/generated/snippets/artifactregistry/apiv1/snippet_metadata.google.devtools.artifactregistry.v1.json +++ b/internal/generated/snippets/artifactregistry/apiv1/snippet_metadata.google.devtools.artifactregistry.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/artifactregistry/apiv1", - "version": "1.14.0", + "version": "1.14.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/artifactregistry/apiv1beta2/snippet_metadata.google.devtools.artifactregistry.v1beta2.json b/internal/generated/snippets/artifactregistry/apiv1beta2/snippet_metadata.google.devtools.artifactregistry.v1beta2.json index 5196d2a5c6c..885f981a299 100644 --- a/internal/generated/snippets/artifactregistry/apiv1beta2/snippet_metadata.google.devtools.artifactregistry.v1beta2.json +++ b/internal/generated/snippets/artifactregistry/apiv1beta2/snippet_metadata.google.devtools.artifactregistry.v1beta2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/artifactregistry/apiv1beta2", - "version": "1.14.0", + "version": "1.14.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/asset/apiv1/snippet_metadata.google.cloud.asset.v1.json b/internal/generated/snippets/asset/apiv1/snippet_metadata.google.cloud.asset.v1.json index 0bb6bcc7d1e..fb9cbd3c9bc 100644 --- a/internal/generated/snippets/asset/apiv1/snippet_metadata.google.cloud.asset.v1.json +++ b/internal/generated/snippets/asset/apiv1/snippet_metadata.google.cloud.asset.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/asset/apiv1", - "version": "1.14.0", + "version": "1.14.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/asset/apiv1p2beta1/snippet_metadata.google.cloud.asset.v1p2beta1.json b/internal/generated/snippets/asset/apiv1p2beta1/snippet_metadata.google.cloud.asset.v1p2beta1.json index 3d309fb30e8..ca87805bbd8 100644 --- a/internal/generated/snippets/asset/apiv1p2beta1/snippet_metadata.google.cloud.asset.v1p2beta1.json +++ b/internal/generated/snippets/asset/apiv1p2beta1/snippet_metadata.google.cloud.asset.v1p2beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/asset/apiv1p2beta1", - "version": "1.14.0", + "version": "1.14.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/asset/apiv1p5beta1/snippet_metadata.google.cloud.asset.v1p5beta1.json b/internal/generated/snippets/asset/apiv1p5beta1/snippet_metadata.google.cloud.asset.v1p5beta1.json index f3ebc2d17c1..ef1f67499e5 100644 --- a/internal/generated/snippets/asset/apiv1p5beta1/snippet_metadata.google.cloud.asset.v1p5beta1.json +++ b/internal/generated/snippets/asset/apiv1p5beta1/snippet_metadata.google.cloud.asset.v1p5beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/asset/apiv1p5beta1", - "version": "1.14.0", + "version": "1.14.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/assuredworkloads/apiv1/snippet_metadata.google.cloud.assuredworkloads.v1.json b/internal/generated/snippets/assuredworkloads/apiv1/snippet_metadata.google.cloud.assuredworkloads.v1.json index 579b8b70af7..6afceb0323f 100644 --- a/internal/generated/snippets/assuredworkloads/apiv1/snippet_metadata.google.cloud.assuredworkloads.v1.json +++ b/internal/generated/snippets/assuredworkloads/apiv1/snippet_metadata.google.cloud.assuredworkloads.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/assuredworkloads/apiv1", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/assuredworkloads/apiv1beta1/snippet_metadata.google.cloud.assuredworkloads.v1beta1.json b/internal/generated/snippets/assuredworkloads/apiv1beta1/snippet_metadata.google.cloud.assuredworkloads.v1beta1.json index 11e1d1173fd..483817226e4 100644 --- a/internal/generated/snippets/assuredworkloads/apiv1beta1/snippet_metadata.google.cloud.assuredworkloads.v1beta1.json +++ b/internal/generated/snippets/assuredworkloads/apiv1beta1/snippet_metadata.google.cloud.assuredworkloads.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/assuredworkloads/apiv1beta1", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/automl/apiv1/snippet_metadata.google.cloud.automl.v1.json b/internal/generated/snippets/automl/apiv1/snippet_metadata.google.cloud.automl.v1.json index 83be1b0bccf..0b8cc5a9702 100644 --- a/internal/generated/snippets/automl/apiv1/snippet_metadata.google.cloud.automl.v1.json +++ b/internal/generated/snippets/automl/apiv1/snippet_metadata.google.cloud.automl.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/automl/apiv1", - "version": "1.13.0", + "version": "1.13.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/automl/apiv1beta1/snippet_metadata.google.cloud.automl.v1beta1.json b/internal/generated/snippets/automl/apiv1beta1/snippet_metadata.google.cloud.automl.v1beta1.json index 8def95713cb..e76d9d268fe 100644 --- a/internal/generated/snippets/automl/apiv1beta1/snippet_metadata.google.cloud.automl.v1beta1.json +++ b/internal/generated/snippets/automl/apiv1beta1/snippet_metadata.google.cloud.automl.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/automl/apiv1beta1", - "version": "1.13.0", + "version": "1.13.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/baremetalsolution/apiv2/snippet_metadata.google.cloud.baremetalsolution.v2.json b/internal/generated/snippets/baremetalsolution/apiv2/snippet_metadata.google.cloud.baremetalsolution.v2.json index 6c5e7639d54..180259f1c3f 100644 --- a/internal/generated/snippets/baremetalsolution/apiv2/snippet_metadata.google.cloud.baremetalsolution.v2.json +++ b/internal/generated/snippets/baremetalsolution/apiv2/snippet_metadata.google.cloud.baremetalsolution.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/baremetalsolution/apiv2", - "version": "1.1.0", + "version": "1.1.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/batch/apiv1/snippet_metadata.google.cloud.batch.v1.json b/internal/generated/snippets/batch/apiv1/snippet_metadata.google.cloud.batch.v1.json index 71ab0c76887..e25a365f9d8 100644 --- a/internal/generated/snippets/batch/apiv1/snippet_metadata.google.cloud.batch.v1.json +++ b/internal/generated/snippets/batch/apiv1/snippet_metadata.google.cloud.batch.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/batch/apiv1", - "version": "1.2.0", + "version": "1.3.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/beyondcorp/appconnections/apiv1/snippet_metadata.google.cloud.beyondcorp.appconnections.v1.json b/internal/generated/snippets/beyondcorp/appconnections/apiv1/snippet_metadata.google.cloud.beyondcorp.appconnections.v1.json index 62bbc382b99..39e3bfedf08 100644 --- a/internal/generated/snippets/beyondcorp/appconnections/apiv1/snippet_metadata.google.cloud.beyondcorp.appconnections.v1.json +++ b/internal/generated/snippets/beyondcorp/appconnections/apiv1/snippet_metadata.google.cloud.beyondcorp.appconnections.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/beyondcorp/appconnections/apiv1", - "version": "0.6.0", + "version": "0.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/beyondcorp/appconnectors/apiv1/snippet_metadata.google.cloud.beyondcorp.appconnectors.v1.json b/internal/generated/snippets/beyondcorp/appconnectors/apiv1/snippet_metadata.google.cloud.beyondcorp.appconnectors.v1.json index 2f03ecbd62f..b33bc1800f4 100644 --- a/internal/generated/snippets/beyondcorp/appconnectors/apiv1/snippet_metadata.google.cloud.beyondcorp.appconnectors.v1.json +++ b/internal/generated/snippets/beyondcorp/appconnectors/apiv1/snippet_metadata.google.cloud.beyondcorp.appconnectors.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/beyondcorp/appconnectors/apiv1", - "version": "0.6.0", + "version": "0.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/beyondcorp/appgateways/apiv1/snippet_metadata.google.cloud.beyondcorp.appgateways.v1.json b/internal/generated/snippets/beyondcorp/appgateways/apiv1/snippet_metadata.google.cloud.beyondcorp.appgateways.v1.json index 744f833abe9..20c0c6a7320 100644 --- a/internal/generated/snippets/beyondcorp/appgateways/apiv1/snippet_metadata.google.cloud.beyondcorp.appgateways.v1.json +++ b/internal/generated/snippets/beyondcorp/appgateways/apiv1/snippet_metadata.google.cloud.beyondcorp.appgateways.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/beyondcorp/appgateways/apiv1", - "version": "0.6.0", + "version": "0.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/beyondcorp/clientconnectorservices/apiv1/snippet_metadata.google.cloud.beyondcorp.clientconnectorservices.v1.json b/internal/generated/snippets/beyondcorp/clientconnectorservices/apiv1/snippet_metadata.google.cloud.beyondcorp.clientconnectorservices.v1.json index 70d07c11e8a..56d84a238c9 100644 --- a/internal/generated/snippets/beyondcorp/clientconnectorservices/apiv1/snippet_metadata.google.cloud.beyondcorp.clientconnectorservices.v1.json +++ b/internal/generated/snippets/beyondcorp/clientconnectorservices/apiv1/snippet_metadata.google.cloud.beyondcorp.clientconnectorservices.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/beyondcorp/clientconnectorservices/apiv1", - "version": "0.6.0", + "version": "0.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/beyondcorp/clientgateways/apiv1/snippet_metadata.google.cloud.beyondcorp.clientgateways.v1.json b/internal/generated/snippets/beyondcorp/clientgateways/apiv1/snippet_metadata.google.cloud.beyondcorp.clientgateways.v1.json index ade0294c9ce..8493825f6f1 100644 --- a/internal/generated/snippets/beyondcorp/clientgateways/apiv1/snippet_metadata.google.cloud.beyondcorp.clientgateways.v1.json +++ b/internal/generated/snippets/beyondcorp/clientgateways/apiv1/snippet_metadata.google.cloud.beyondcorp.clientgateways.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/beyondcorp/clientgateways/apiv1", - "version": "0.6.0", + "version": "0.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/analyticshub/apiv1/snippet_metadata.google.cloud.bigquery.analyticshub.v1.json b/internal/generated/snippets/bigquery/analyticshub/apiv1/snippet_metadata.google.cloud.bigquery.analyticshub.v1.json index b4ef2a6300f..26298a3eb61 100644 --- a/internal/generated/snippets/bigquery/analyticshub/apiv1/snippet_metadata.google.cloud.bigquery.analyticshub.v1.json +++ b/internal/generated/snippets/bigquery/analyticshub/apiv1/snippet_metadata.google.cloud.bigquery.analyticshub.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/analyticshub/apiv1", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/connection/apiv1/snippet_metadata.google.cloud.bigquery.connection.v1.json b/internal/generated/snippets/bigquery/connection/apiv1/snippet_metadata.google.cloud.bigquery.connection.v1.json index cfec035e1da..88bb0395f36 100644 --- a/internal/generated/snippets/bigquery/connection/apiv1/snippet_metadata.google.cloud.bigquery.connection.v1.json +++ b/internal/generated/snippets/bigquery/connection/apiv1/snippet_metadata.google.cloud.bigquery.connection.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/connection/apiv1", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/connection/apiv1beta1/snippet_metadata.google.cloud.bigquery.connection.v1beta1.json b/internal/generated/snippets/bigquery/connection/apiv1beta1/snippet_metadata.google.cloud.bigquery.connection.v1beta1.json index c6fc1afe3aa..84e9d60a2ba 100644 --- a/internal/generated/snippets/bigquery/connection/apiv1beta1/snippet_metadata.google.cloud.bigquery.connection.v1beta1.json +++ b/internal/generated/snippets/bigquery/connection/apiv1beta1/snippet_metadata.google.cloud.bigquery.connection.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/connection/apiv1beta1", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/dataexchange/apiv1beta1/snippet_metadata.google.cloud.bigquery.dataexchange.v1beta1.json b/internal/generated/snippets/bigquery/dataexchange/apiv1beta1/snippet_metadata.google.cloud.bigquery.dataexchange.v1beta1.json index 686edc9feda..f358c904b3f 100644 --- a/internal/generated/snippets/bigquery/dataexchange/apiv1beta1/snippet_metadata.google.cloud.bigquery.dataexchange.v1beta1.json +++ b/internal/generated/snippets/bigquery/dataexchange/apiv1beta1/snippet_metadata.google.cloud.bigquery.dataexchange.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/dataexchange/apiv1beta1", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/datapolicies/apiv1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json b/internal/generated/snippets/bigquery/datapolicies/apiv1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json index d9fc242430a..c23c9fdbd06 100644 --- a/internal/generated/snippets/bigquery/datapolicies/apiv1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json +++ b/internal/generated/snippets/bigquery/datapolicies/apiv1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/datapolicies/apiv1", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/datapolicies/apiv1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json b/internal/generated/snippets/bigquery/datapolicies/apiv1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json index e929003661b..c5648650658 100644 --- a/internal/generated/snippets/bigquery/datapolicies/apiv1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json +++ b/internal/generated/snippets/bigquery/datapolicies/apiv1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/datapolicies/apiv1beta1", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/datatransfer/apiv1/snippet_metadata.google.cloud.bigquery.datatransfer.v1.json b/internal/generated/snippets/bigquery/datatransfer/apiv1/snippet_metadata.google.cloud.bigquery.datatransfer.v1.json index 796391f76cd..1b61e17233a 100644 --- a/internal/generated/snippets/bigquery/datatransfer/apiv1/snippet_metadata.google.cloud.bigquery.datatransfer.v1.json +++ b/internal/generated/snippets/bigquery/datatransfer/apiv1/snippet_metadata.google.cloud.bigquery.datatransfer.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/datatransfer/apiv1", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/migration/apiv2/snippet_metadata.google.cloud.bigquery.migration.v2.json b/internal/generated/snippets/bigquery/migration/apiv2/snippet_metadata.google.cloud.bigquery.migration.v2.json index 362c26f0344..28602109720 100644 --- a/internal/generated/snippets/bigquery/migration/apiv2/snippet_metadata.google.cloud.bigquery.migration.v2.json +++ b/internal/generated/snippets/bigquery/migration/apiv2/snippet_metadata.google.cloud.bigquery.migration.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/migration/apiv2", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/migration/apiv2alpha/snippet_metadata.google.cloud.bigquery.migration.v2alpha.json b/internal/generated/snippets/bigquery/migration/apiv2alpha/snippet_metadata.google.cloud.bigquery.migration.v2alpha.json index ee9c71bbbe0..b6d9a21d03e 100644 --- a/internal/generated/snippets/bigquery/migration/apiv2alpha/snippet_metadata.google.cloud.bigquery.migration.v2alpha.json +++ b/internal/generated/snippets/bigquery/migration/apiv2alpha/snippet_metadata.google.cloud.bigquery.migration.v2alpha.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/migration/apiv2alpha", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/reservation/apiv1/snippet_metadata.google.cloud.bigquery.reservation.v1.json b/internal/generated/snippets/bigquery/reservation/apiv1/snippet_metadata.google.cloud.bigquery.reservation.v1.json index a0ff3917cfb..254a5f2555b 100644 --- a/internal/generated/snippets/bigquery/reservation/apiv1/snippet_metadata.google.cloud.bigquery.reservation.v1.json +++ b/internal/generated/snippets/bigquery/reservation/apiv1/snippet_metadata.google.cloud.bigquery.reservation.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/reservation/apiv1", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/storage/apiv1/snippet_metadata.google.cloud.bigquery.storage.v1.json b/internal/generated/snippets/bigquery/storage/apiv1/snippet_metadata.google.cloud.bigquery.storage.v1.json index eb6653ea287..e575b7f8bbf 100644 --- a/internal/generated/snippets/bigquery/storage/apiv1/snippet_metadata.google.cloud.bigquery.storage.v1.json +++ b/internal/generated/snippets/bigquery/storage/apiv1/snippet_metadata.google.cloud.bigquery.storage.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/storage/apiv1", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/storage/apiv1beta1/snippet_metadata.google.cloud.bigquery.storage.v1beta1.json b/internal/generated/snippets/bigquery/storage/apiv1beta1/snippet_metadata.google.cloud.bigquery.storage.v1beta1.json index d3926682985..37a2e03412b 100644 --- a/internal/generated/snippets/bigquery/storage/apiv1beta1/snippet_metadata.google.cloud.bigquery.storage.v1beta1.json +++ b/internal/generated/snippets/bigquery/storage/apiv1beta1/snippet_metadata.google.cloud.bigquery.storage.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/storage/apiv1beta1", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/storage/apiv1beta2/snippet_metadata.google.cloud.bigquery.storage.v1beta2.json b/internal/generated/snippets/bigquery/storage/apiv1beta2/snippet_metadata.google.cloud.bigquery.storage.v1beta2.json index fac107454d9..a48743cd18b 100644 --- a/internal/generated/snippets/bigquery/storage/apiv1beta2/snippet_metadata.google.cloud.bigquery.storage.v1beta2.json +++ b/internal/generated/snippets/bigquery/storage/apiv1beta2/snippet_metadata.google.cloud.bigquery.storage.v1beta2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/storage/apiv1beta2", - "version": "1.51.2", + "version": "1.52.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/billing/apiv1/snippet_metadata.google.cloud.billing.v1.json b/internal/generated/snippets/billing/apiv1/snippet_metadata.google.cloud.billing.v1.json index 6c22cdf7137..82e941e8fab 100644 --- a/internal/generated/snippets/billing/apiv1/snippet_metadata.google.cloud.billing.v1.json +++ b/internal/generated/snippets/billing/apiv1/snippet_metadata.google.cloud.billing.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/billing/apiv1", - "version": "1.15.0", + "version": "1.16.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/billing/budgets/apiv1/snippet_metadata.google.cloud.billing.budgets.v1.json b/internal/generated/snippets/billing/budgets/apiv1/snippet_metadata.google.cloud.billing.budgets.v1.json index 3c893c3ff19..8693fb53f33 100644 --- a/internal/generated/snippets/billing/budgets/apiv1/snippet_metadata.google.cloud.billing.budgets.v1.json +++ b/internal/generated/snippets/billing/budgets/apiv1/snippet_metadata.google.cloud.billing.budgets.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/billing/budgets/apiv1", - "version": "1.15.0", + "version": "1.16.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/billing/budgets/apiv1beta1/snippet_metadata.google.cloud.billing.budgets.v1beta1.json b/internal/generated/snippets/billing/budgets/apiv1beta1/snippet_metadata.google.cloud.billing.budgets.v1beta1.json index 67996cd0886..28f456caded 100644 --- a/internal/generated/snippets/billing/budgets/apiv1beta1/snippet_metadata.google.cloud.billing.budgets.v1beta1.json +++ b/internal/generated/snippets/billing/budgets/apiv1beta1/snippet_metadata.google.cloud.billing.budgets.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/billing/budgets/apiv1beta1", - "version": "1.15.0", + "version": "1.16.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/binaryauthorization/apiv1/snippet_metadata.google.cloud.binaryauthorization.v1.json b/internal/generated/snippets/binaryauthorization/apiv1/snippet_metadata.google.cloud.binaryauthorization.v1.json index 08d1f797228..2d5d6462985 100644 --- a/internal/generated/snippets/binaryauthorization/apiv1/snippet_metadata.google.cloud.binaryauthorization.v1.json +++ b/internal/generated/snippets/binaryauthorization/apiv1/snippet_metadata.google.cloud.binaryauthorization.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/binaryauthorization/apiv1", - "version": "1.6.0", + "version": "1.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/binaryauthorization/apiv1beta1/snippet_metadata.google.cloud.binaryauthorization.v1beta1.json b/internal/generated/snippets/binaryauthorization/apiv1beta1/snippet_metadata.google.cloud.binaryauthorization.v1beta1.json index 72dcff3305b..873c06be62a 100644 --- a/internal/generated/snippets/binaryauthorization/apiv1beta1/snippet_metadata.google.cloud.binaryauthorization.v1beta1.json +++ b/internal/generated/snippets/binaryauthorization/apiv1beta1/snippet_metadata.google.cloud.binaryauthorization.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/binaryauthorization/apiv1beta1", - "version": "1.6.0", + "version": "1.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/certificatemanager/apiv1/snippet_metadata.google.cloud.certificatemanager.v1.json b/internal/generated/snippets/certificatemanager/apiv1/snippet_metadata.google.cloud.certificatemanager.v1.json index 374e658bc07..b58ef9b3c84 100644 --- a/internal/generated/snippets/certificatemanager/apiv1/snippet_metadata.google.cloud.certificatemanager.v1.json +++ b/internal/generated/snippets/certificatemanager/apiv1/snippet_metadata.google.cloud.certificatemanager.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/certificatemanager/apiv1", - "version": "1.7.0", + "version": "1.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/channel/apiv1/snippet_metadata.google.cloud.channel.v1.json b/internal/generated/snippets/channel/apiv1/snippet_metadata.google.cloud.channel.v1.json index 86f62daee3d..a943e11629a 100644 --- a/internal/generated/snippets/channel/apiv1/snippet_metadata.google.cloud.channel.v1.json +++ b/internal/generated/snippets/channel/apiv1/snippet_metadata.google.cloud.channel.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/channel/apiv1", - "version": "1.15.0", + "version": "1.16.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/cloudbuild/apiv2/snippet_metadata.google.devtools.cloudbuild.v2.json b/internal/generated/snippets/cloudbuild/apiv2/snippet_metadata.google.devtools.cloudbuild.v2.json index e229daf2ed8..abf885c06f8 100644 --- a/internal/generated/snippets/cloudbuild/apiv2/snippet_metadata.google.devtools.cloudbuild.v2.json +++ b/internal/generated/snippets/cloudbuild/apiv2/snippet_metadata.google.devtools.cloudbuild.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/cloudbuild/apiv2", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/clouddms/apiv1/snippet_metadata.google.cloud.clouddms.v1.json b/internal/generated/snippets/clouddms/apiv1/snippet_metadata.google.cloud.clouddms.v1.json index 042d9180d59..62de71ead41 100644 --- a/internal/generated/snippets/clouddms/apiv1/snippet_metadata.google.cloud.clouddms.v1.json +++ b/internal/generated/snippets/clouddms/apiv1/snippet_metadata.google.cloud.clouddms.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/clouddms/apiv1", - "version": "1.6.0", + "version": "1.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/cloudtasks/apiv2/snippet_metadata.google.cloud.tasks.v2.json b/internal/generated/snippets/cloudtasks/apiv2/snippet_metadata.google.cloud.tasks.v2.json index 8d18f6df67a..839ca244f66 100644 --- a/internal/generated/snippets/cloudtasks/apiv2/snippet_metadata.google.cloud.tasks.v2.json +++ b/internal/generated/snippets/cloudtasks/apiv2/snippet_metadata.google.cloud.tasks.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/cloudtasks/apiv2", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/cloudtasks/apiv2beta2/snippet_metadata.google.cloud.tasks.v2beta2.json b/internal/generated/snippets/cloudtasks/apiv2beta2/snippet_metadata.google.cloud.tasks.v2beta2.json index 4892c8567b3..64bf5e02a2d 100644 --- a/internal/generated/snippets/cloudtasks/apiv2beta2/snippet_metadata.google.cloud.tasks.v2beta2.json +++ b/internal/generated/snippets/cloudtasks/apiv2beta2/snippet_metadata.google.cloud.tasks.v2beta2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/cloudtasks/apiv2beta2", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/cloudtasks/apiv2beta3/snippet_metadata.google.cloud.tasks.v2beta3.json b/internal/generated/snippets/cloudtasks/apiv2beta3/snippet_metadata.google.cloud.tasks.v2beta3.json index c7d23c67a1a..109dbfbf420 100644 --- a/internal/generated/snippets/cloudtasks/apiv2beta3/snippet_metadata.google.cloud.tasks.v2beta3.json +++ b/internal/generated/snippets/cloudtasks/apiv2beta3/snippet_metadata.google.cloud.tasks.v2beta3.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/cloudtasks/apiv2beta3", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/compute/apiv1/snippet_metadata.google.cloud.compute.v1.json b/internal/generated/snippets/compute/apiv1/snippet_metadata.google.cloud.compute.v1.json index 276a656028d..753f2ec64c1 100644 --- a/internal/generated/snippets/compute/apiv1/snippet_metadata.google.cloud.compute.v1.json +++ b/internal/generated/snippets/compute/apiv1/snippet_metadata.google.cloud.compute.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/compute/apiv1", - "version": "1.20.0", + "version": "1.20.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/confidentialcomputing/apiv1/snippet_metadata.google.cloud.confidentialcomputing.v1.json b/internal/generated/snippets/confidentialcomputing/apiv1/snippet_metadata.google.cloud.confidentialcomputing.v1.json index 4fb6a49abe4..70986550b20 100644 --- a/internal/generated/snippets/confidentialcomputing/apiv1/snippet_metadata.google.cloud.confidentialcomputing.v1.json +++ b/internal/generated/snippets/confidentialcomputing/apiv1/snippet_metadata.google.cloud.confidentialcomputing.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/confidentialcomputing/apiv1", - "version": "0.3.0", + "version": "0.3.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/confidentialcomputing/apiv1alpha1/snippet_metadata.google.cloud.confidentialcomputing.v1alpha1.json b/internal/generated/snippets/confidentialcomputing/apiv1alpha1/snippet_metadata.google.cloud.confidentialcomputing.v1alpha1.json index a9b52641a37..45a71fb6fb3 100644 --- a/internal/generated/snippets/confidentialcomputing/apiv1alpha1/snippet_metadata.google.cloud.confidentialcomputing.v1alpha1.json +++ b/internal/generated/snippets/confidentialcomputing/apiv1alpha1/snippet_metadata.google.cloud.confidentialcomputing.v1alpha1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/confidentialcomputing/apiv1alpha1", - "version": "0.3.0", + "version": "0.3.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/contactcenterinsights/apiv1/snippet_metadata.google.cloud.contactcenterinsights.v1.json b/internal/generated/snippets/contactcenterinsights/apiv1/snippet_metadata.google.cloud.contactcenterinsights.v1.json index f0dae070a22..3db3ad7c5e0 100644 --- a/internal/generated/snippets/contactcenterinsights/apiv1/snippet_metadata.google.cloud.contactcenterinsights.v1.json +++ b/internal/generated/snippets/contactcenterinsights/apiv1/snippet_metadata.google.cloud.contactcenterinsights.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/contactcenterinsights/apiv1", - "version": "1.9.0", + "version": "1.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/container/apiv1/snippet_metadata.google.container.v1.json b/internal/generated/snippets/container/apiv1/snippet_metadata.google.container.v1.json index 8a9774c7bd4..8b88350e231 100644 --- a/internal/generated/snippets/container/apiv1/snippet_metadata.google.container.v1.json +++ b/internal/generated/snippets/container/apiv1/snippet_metadata.google.container.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/container/apiv1", - "version": "1.22.0", + "version": "1.22.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/containeranalysis/apiv1beta1/snippet_metadata.google.devtools.containeranalysis.v1beta1.json b/internal/generated/snippets/containeranalysis/apiv1beta1/snippet_metadata.google.devtools.containeranalysis.v1beta1.json index 96ca82b9c57..217baca1926 100644 --- a/internal/generated/snippets/containeranalysis/apiv1beta1/snippet_metadata.google.devtools.containeranalysis.v1beta1.json +++ b/internal/generated/snippets/containeranalysis/apiv1beta1/snippet_metadata.google.devtools.containeranalysis.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/containeranalysis/apiv1beta1", - "version": "0.10.0", + "version": "0.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/datacatalog/apiv1/snippet_metadata.google.cloud.datacatalog.v1.json b/internal/generated/snippets/datacatalog/apiv1/snippet_metadata.google.cloud.datacatalog.v1.json index 4203817ef68..8a534061e2b 100644 --- a/internal/generated/snippets/datacatalog/apiv1/snippet_metadata.google.cloud.datacatalog.v1.json +++ b/internal/generated/snippets/datacatalog/apiv1/snippet_metadata.google.cloud.datacatalog.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/datacatalog/apiv1", - "version": "1.14.0", + "version": "1.14.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/datacatalog/apiv1beta1/snippet_metadata.google.cloud.datacatalog.v1beta1.json b/internal/generated/snippets/datacatalog/apiv1beta1/snippet_metadata.google.cloud.datacatalog.v1beta1.json index 1ad431cfeae..00b1b38f518 100644 --- a/internal/generated/snippets/datacatalog/apiv1beta1/snippet_metadata.google.cloud.datacatalog.v1beta1.json +++ b/internal/generated/snippets/datacatalog/apiv1beta1/snippet_metadata.google.cloud.datacatalog.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/datacatalog/apiv1beta1", - "version": "1.14.0", + "version": "1.14.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/datacatalog/lineage/apiv1/snippet_metadata.google.cloud.datacatalog.lineage.v1.json b/internal/generated/snippets/datacatalog/lineage/apiv1/snippet_metadata.google.cloud.datacatalog.lineage.v1.json index d2010a05743..e7973843fa5 100644 --- a/internal/generated/snippets/datacatalog/lineage/apiv1/snippet_metadata.google.cloud.datacatalog.lineage.v1.json +++ b/internal/generated/snippets/datacatalog/lineage/apiv1/snippet_metadata.google.cloud.datacatalog.lineage.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/datacatalog/lineage/apiv1", - "version": "1.14.0", + "version": "1.14.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/dataflow/apiv1beta3/snippet_metadata.google.dataflow.v1beta3.json b/internal/generated/snippets/dataflow/apiv1beta3/snippet_metadata.google.dataflow.v1beta3.json index 0bc2e9761e2..dd5bb4b59f0 100644 --- a/internal/generated/snippets/dataflow/apiv1beta3/snippet_metadata.google.dataflow.v1beta3.json +++ b/internal/generated/snippets/dataflow/apiv1beta3/snippet_metadata.google.dataflow.v1beta3.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/dataflow/apiv1beta3", - "version": "0.9.0", + "version": "0.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/dataform/apiv1alpha2/snippet_metadata.google.cloud.dataform.v1alpha2.json b/internal/generated/snippets/dataform/apiv1alpha2/snippet_metadata.google.cloud.dataform.v1alpha2.json index 776fd08fc32..e9aca71a707 100644 --- a/internal/generated/snippets/dataform/apiv1alpha2/snippet_metadata.google.cloud.dataform.v1alpha2.json +++ b/internal/generated/snippets/dataform/apiv1alpha2/snippet_metadata.google.cloud.dataform.v1alpha2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/dataform/apiv1alpha2", - "version": "0.8.0", + "version": "0.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/dataform/apiv1beta1/snippet_metadata.google.cloud.dataform.v1beta1.json b/internal/generated/snippets/dataform/apiv1beta1/snippet_metadata.google.cloud.dataform.v1beta1.json index 8bd5031f5d1..5b2cb0615d2 100644 --- a/internal/generated/snippets/dataform/apiv1beta1/snippet_metadata.google.cloud.dataform.v1beta1.json +++ b/internal/generated/snippets/dataform/apiv1beta1/snippet_metadata.google.cloud.dataform.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/dataform/apiv1beta1", - "version": "0.8.0", + "version": "0.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/datafusion/apiv1/snippet_metadata.google.cloud.datafusion.v1.json b/internal/generated/snippets/datafusion/apiv1/snippet_metadata.google.cloud.datafusion.v1.json index ca396fff1f6..4463aecbc84 100644 --- a/internal/generated/snippets/datafusion/apiv1/snippet_metadata.google.cloud.datafusion.v1.json +++ b/internal/generated/snippets/datafusion/apiv1/snippet_metadata.google.cloud.datafusion.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/datafusion/apiv1", - "version": "1.7.0", + "version": "1.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/datalabeling/apiv1beta1/snippet_metadata.google.cloud.datalabeling.v1beta1.json b/internal/generated/snippets/datalabeling/apiv1beta1/snippet_metadata.google.cloud.datalabeling.v1beta1.json index c9791667cdb..fb78ed4cb7f 100644 --- a/internal/generated/snippets/datalabeling/apiv1beta1/snippet_metadata.google.cloud.datalabeling.v1beta1.json +++ b/internal/generated/snippets/datalabeling/apiv1beta1/snippet_metadata.google.cloud.datalabeling.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/datalabeling/apiv1beta1", - "version": "0.8.0", + "version": "0.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/dataplex/apiv1/snippet_metadata.google.cloud.dataplex.v1.json b/internal/generated/snippets/dataplex/apiv1/snippet_metadata.google.cloud.dataplex.v1.json index 4ca06dc1aee..c7dbc6da5e0 100644 --- a/internal/generated/snippets/dataplex/apiv1/snippet_metadata.google.cloud.dataplex.v1.json +++ b/internal/generated/snippets/dataplex/apiv1/snippet_metadata.google.cloud.dataplex.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/dataplex/apiv1", - "version": "1.8.0", + "version": "1.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/dataproc/apiv1/snippet_metadata.google.cloud.dataproc.v1.json b/internal/generated/snippets/dataproc/apiv1/snippet_metadata.google.cloud.dataproc.v1.json index ba5515fde29..188e3a0491a 100644 --- a/internal/generated/snippets/dataproc/apiv1/snippet_metadata.google.cloud.dataproc.v1.json +++ b/internal/generated/snippets/dataproc/apiv1/snippet_metadata.google.cloud.dataproc.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/dataproc/v2/apiv1", - "version": "2.0.0", + "version": "2.0.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/dataqna/apiv1alpha/snippet_metadata.google.cloud.dataqna.v1alpha.json b/internal/generated/snippets/dataqna/apiv1alpha/snippet_metadata.google.cloud.dataqna.v1alpha.json index f8c171d8e23..af1ba5e3da5 100644 --- a/internal/generated/snippets/dataqna/apiv1alpha/snippet_metadata.google.cloud.dataqna.v1alpha.json +++ b/internal/generated/snippets/dataqna/apiv1alpha/snippet_metadata.google.cloud.dataqna.v1alpha.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/dataqna/apiv1alpha", - "version": "0.8.0", + "version": "0.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/datastream/apiv1/snippet_metadata.google.cloud.datastream.v1.json b/internal/generated/snippets/datastream/apiv1/snippet_metadata.google.cloud.datastream.v1.json index e71c8be5320..866856df669 100644 --- a/internal/generated/snippets/datastream/apiv1/snippet_metadata.google.cloud.datastream.v1.json +++ b/internal/generated/snippets/datastream/apiv1/snippet_metadata.google.cloud.datastream.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/datastream/apiv1", - "version": "1.9.0", + "version": "1.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/datastream/apiv1alpha1/snippet_metadata.google.cloud.datastream.v1alpha1.json b/internal/generated/snippets/datastream/apiv1alpha1/snippet_metadata.google.cloud.datastream.v1alpha1.json index e61f6193f22..87c2269876a 100644 --- a/internal/generated/snippets/datastream/apiv1alpha1/snippet_metadata.google.cloud.datastream.v1alpha1.json +++ b/internal/generated/snippets/datastream/apiv1alpha1/snippet_metadata.google.cloud.datastream.v1alpha1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/datastream/apiv1alpha1", - "version": "1.9.0", + "version": "1.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/deploy/apiv1/snippet_metadata.google.cloud.deploy.v1.json b/internal/generated/snippets/deploy/apiv1/snippet_metadata.google.cloud.deploy.v1.json index 81d1bf1805d..bcdf7c7c5fe 100644 --- a/internal/generated/snippets/deploy/apiv1/snippet_metadata.google.cloud.deploy.v1.json +++ b/internal/generated/snippets/deploy/apiv1/snippet_metadata.google.cloud.deploy.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/deploy/apiv1", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/dialogflow/apiv2/snippet_metadata.google.cloud.dialogflow.v2.json b/internal/generated/snippets/dialogflow/apiv2/snippet_metadata.google.cloud.dialogflow.v2.json index 1213d62d583..a60ac1f57f0 100644 --- a/internal/generated/snippets/dialogflow/apiv2/snippet_metadata.google.cloud.dialogflow.v2.json +++ b/internal/generated/snippets/dialogflow/apiv2/snippet_metadata.google.cloud.dialogflow.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/dialogflow/apiv2", - "version": "1.36.0", + "version": "1.37.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/dialogflow/apiv2beta1/snippet_metadata.google.cloud.dialogflow.v2beta1.json b/internal/generated/snippets/dialogflow/apiv2beta1/snippet_metadata.google.cloud.dialogflow.v2beta1.json index 0c366a4024b..3b67aeb671e 100644 --- a/internal/generated/snippets/dialogflow/apiv2beta1/snippet_metadata.google.cloud.dialogflow.v2beta1.json +++ b/internal/generated/snippets/dialogflow/apiv2beta1/snippet_metadata.google.cloud.dialogflow.v2beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/dialogflow/apiv2beta1", - "version": "1.36.0", + "version": "1.37.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/dialogflow/cx/apiv3/snippet_metadata.google.cloud.dialogflow.cx.v3.json b/internal/generated/snippets/dialogflow/cx/apiv3/snippet_metadata.google.cloud.dialogflow.cx.v3.json index 52f613d4dd1..89d76beb7a6 100644 --- a/internal/generated/snippets/dialogflow/cx/apiv3/snippet_metadata.google.cloud.dialogflow.cx.v3.json +++ b/internal/generated/snippets/dialogflow/cx/apiv3/snippet_metadata.google.cloud.dialogflow.cx.v3.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/dialogflow/cx/apiv3", - "version": "1.36.0", + "version": "1.37.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/dialogflow/cx/apiv3beta1/snippet_metadata.google.cloud.dialogflow.cx.v3beta1.json b/internal/generated/snippets/dialogflow/cx/apiv3beta1/snippet_metadata.google.cloud.dialogflow.cx.v3beta1.json index 43208869586..084baa9eb14 100644 --- a/internal/generated/snippets/dialogflow/cx/apiv3beta1/snippet_metadata.google.cloud.dialogflow.cx.v3beta1.json +++ b/internal/generated/snippets/dialogflow/cx/apiv3beta1/snippet_metadata.google.cloud.dialogflow.cx.v3beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/dialogflow/cx/apiv3beta1", - "version": "1.36.0", + "version": "1.37.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/discoveryengine/apiv1/snippet_metadata.google.cloud.discoveryengine.v1.json b/internal/generated/snippets/discoveryengine/apiv1/snippet_metadata.google.cloud.discoveryengine.v1.json index dc5b004a4aa..36cc65f15aa 100644 --- a/internal/generated/snippets/discoveryengine/apiv1/snippet_metadata.google.cloud.discoveryengine.v1.json +++ b/internal/generated/snippets/discoveryengine/apiv1/snippet_metadata.google.cloud.discoveryengine.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/discoveryengine/apiv1", - "version": "0.4.1", + "version": "0.5.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/discoveryengine/apiv1beta/snippet_metadata.google.cloud.discoveryengine.v1beta.json b/internal/generated/snippets/discoveryengine/apiv1beta/snippet_metadata.google.cloud.discoveryengine.v1beta.json index 0dba9609e69..936fef91340 100644 --- a/internal/generated/snippets/discoveryengine/apiv1beta/snippet_metadata.google.cloud.discoveryengine.v1beta.json +++ b/internal/generated/snippets/discoveryengine/apiv1beta/snippet_metadata.google.cloud.discoveryengine.v1beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/discoveryengine/apiv1beta", - "version": "0.4.1", + "version": "0.5.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/dlp/apiv2/snippet_metadata.google.privacy.dlp.v2.json b/internal/generated/snippets/dlp/apiv2/snippet_metadata.google.privacy.dlp.v2.json index 0e961967653..4ec96c829f0 100644 --- a/internal/generated/snippets/dlp/apiv2/snippet_metadata.google.privacy.dlp.v2.json +++ b/internal/generated/snippets/dlp/apiv2/snippet_metadata.google.privacy.dlp.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/dlp/apiv2", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/documentai/apiv1/snippet_metadata.google.cloud.documentai.v1.json b/internal/generated/snippets/documentai/apiv1/snippet_metadata.google.cloud.documentai.v1.json index eb0a98ae638..ecdb7de48ab 100644 --- a/internal/generated/snippets/documentai/apiv1/snippet_metadata.google.cloud.documentai.v1.json +++ b/internal/generated/snippets/documentai/apiv1/snippet_metadata.google.cloud.documentai.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/documentai/apiv1", - "version": "1.19.0", + "version": "1.20.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/documentai/apiv1beta3/snippet_metadata.google.cloud.documentai.v1beta3.json b/internal/generated/snippets/documentai/apiv1beta3/snippet_metadata.google.cloud.documentai.v1beta3.json index 1d6f39ed098..c0fd160e10e 100644 --- a/internal/generated/snippets/documentai/apiv1beta3/snippet_metadata.google.cloud.documentai.v1beta3.json +++ b/internal/generated/snippets/documentai/apiv1beta3/snippet_metadata.google.cloud.documentai.v1beta3.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/documentai/apiv1beta3", - "version": "1.19.0", + "version": "1.20.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/domains/apiv1beta1/snippet_metadata.google.cloud.domains.v1beta1.json b/internal/generated/snippets/domains/apiv1beta1/snippet_metadata.google.cloud.domains.v1beta1.json index 934bc91bca4..e57e663ddfc 100644 --- a/internal/generated/snippets/domains/apiv1beta1/snippet_metadata.google.cloud.domains.v1beta1.json +++ b/internal/generated/snippets/domains/apiv1beta1/snippet_metadata.google.cloud.domains.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/domains/apiv1beta1", - "version": "0.9.0", + "version": "0.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/edgecontainer/apiv1/snippet_metadata.google.cloud.edgecontainer.v1.json b/internal/generated/snippets/edgecontainer/apiv1/snippet_metadata.google.cloud.edgecontainer.v1.json index 235a9dd856b..09f17ed7e0d 100644 --- a/internal/generated/snippets/edgecontainer/apiv1/snippet_metadata.google.cloud.edgecontainer.v1.json +++ b/internal/generated/snippets/edgecontainer/apiv1/snippet_metadata.google.cloud.edgecontainer.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/edgecontainer/apiv1", - "version": "1.1.0", + "version": "1.1.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/essentialcontacts/apiv1/snippet_metadata.google.cloud.essentialcontacts.v1.json b/internal/generated/snippets/essentialcontacts/apiv1/snippet_metadata.google.cloud.essentialcontacts.v1.json index b87a0331415..d6e35c9d30e 100644 --- a/internal/generated/snippets/essentialcontacts/apiv1/snippet_metadata.google.cloud.essentialcontacts.v1.json +++ b/internal/generated/snippets/essentialcontacts/apiv1/snippet_metadata.google.cloud.essentialcontacts.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/essentialcontacts/apiv1", - "version": "1.6.0", + "version": "1.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/eventarc/apiv1/snippet_metadata.google.cloud.eventarc.v1.json b/internal/generated/snippets/eventarc/apiv1/snippet_metadata.google.cloud.eventarc.v1.json index 2ce23383d33..3b68db689a7 100644 --- a/internal/generated/snippets/eventarc/apiv1/snippet_metadata.google.cloud.eventarc.v1.json +++ b/internal/generated/snippets/eventarc/apiv1/snippet_metadata.google.cloud.eventarc.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/eventarc/apiv1", - "version": "1.12.0", + "version": "1.12.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/eventarc/publishing/apiv1/snippet_metadata.google.cloud.eventarc.publishing.v1.json b/internal/generated/snippets/eventarc/publishing/apiv1/snippet_metadata.google.cloud.eventarc.publishing.v1.json index 9c1a85def65..048102e4164 100644 --- a/internal/generated/snippets/eventarc/publishing/apiv1/snippet_metadata.google.cloud.eventarc.publishing.v1.json +++ b/internal/generated/snippets/eventarc/publishing/apiv1/snippet_metadata.google.cloud.eventarc.publishing.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/eventarc/publishing/apiv1", - "version": "1.12.0", + "version": "1.12.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/filestore/apiv1/snippet_metadata.google.cloud.filestore.v1.json b/internal/generated/snippets/filestore/apiv1/snippet_metadata.google.cloud.filestore.v1.json index 1f490d88122..b3eb2825db8 100644 --- a/internal/generated/snippets/filestore/apiv1/snippet_metadata.google.cloud.filestore.v1.json +++ b/internal/generated/snippets/filestore/apiv1/snippet_metadata.google.cloud.filestore.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/filestore/apiv1", - "version": "1.7.0", + "version": "1.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/firestore/apiv1/snippet_metadata.google.firestore.v1.json b/internal/generated/snippets/firestore/apiv1/snippet_metadata.google.firestore.v1.json index ebaed7ada33..02cede95abb 100644 --- a/internal/generated/snippets/firestore/apiv1/snippet_metadata.google.firestore.v1.json +++ b/internal/generated/snippets/firestore/apiv1/snippet_metadata.google.firestore.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/firestore/apiv1", - "version": "1.10.0", + "version": "1.11.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/functions/apiv1/snippet_metadata.google.cloud.functions.v1.json b/internal/generated/snippets/functions/apiv1/snippet_metadata.google.cloud.functions.v1.json index dea9efcfc59..9ecb0ce0f2c 100644 --- a/internal/generated/snippets/functions/apiv1/snippet_metadata.google.cloud.functions.v1.json +++ b/internal/generated/snippets/functions/apiv1/snippet_metadata.google.cloud.functions.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/functions/apiv1", - "version": "1.15.0", + "version": "1.15.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/functions/apiv2/snippet_metadata.google.cloud.functions.v2.json b/internal/generated/snippets/functions/apiv2/snippet_metadata.google.cloud.functions.v2.json index 674641b25d0..6421fb0f028 100644 --- a/internal/generated/snippets/functions/apiv2/snippet_metadata.google.cloud.functions.v2.json +++ b/internal/generated/snippets/functions/apiv2/snippet_metadata.google.cloud.functions.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/functions/apiv2", - "version": "1.15.0", + "version": "1.15.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/functions/apiv2beta/snippet_metadata.google.cloud.functions.v2beta.json b/internal/generated/snippets/functions/apiv2beta/snippet_metadata.google.cloud.functions.v2beta.json index bc423b9c9f8..8d65f870340 100644 --- a/internal/generated/snippets/functions/apiv2beta/snippet_metadata.google.cloud.functions.v2beta.json +++ b/internal/generated/snippets/functions/apiv2beta/snippet_metadata.google.cloud.functions.v2beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/functions/apiv2beta", - "version": "1.15.0", + "version": "1.15.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/gaming/apiv1/snippet_metadata.google.cloud.gaming.v1.json b/internal/generated/snippets/gaming/apiv1/snippet_metadata.google.cloud.gaming.v1.json index 8ac76918200..8d70fe14886 100644 --- a/internal/generated/snippets/gaming/apiv1/snippet_metadata.google.cloud.gaming.v1.json +++ b/internal/generated/snippets/gaming/apiv1/snippet_metadata.google.cloud.gaming.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/gaming/apiv1", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/gaming/apiv1beta/snippet_metadata.google.cloud.gaming.v1beta.json b/internal/generated/snippets/gaming/apiv1beta/snippet_metadata.google.cloud.gaming.v1beta.json index 332935e1a43..61d3c236c3b 100644 --- a/internal/generated/snippets/gaming/apiv1beta/snippet_metadata.google.cloud.gaming.v1beta.json +++ b/internal/generated/snippets/gaming/apiv1beta/snippet_metadata.google.cloud.gaming.v1beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/gaming/apiv1beta", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/gkebackup/apiv1/snippet_metadata.google.cloud.gkebackup.v1.json b/internal/generated/snippets/gkebackup/apiv1/snippet_metadata.google.cloud.gkebackup.v1.json index e908b998459..083f48990c6 100644 --- a/internal/generated/snippets/gkebackup/apiv1/snippet_metadata.google.cloud.gkebackup.v1.json +++ b/internal/generated/snippets/gkebackup/apiv1/snippet_metadata.google.cloud.gkebackup.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/gkebackup/apiv1", - "version": "1.2.0", + "version": "1.2.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/gkeconnect/gateway/apiv1beta1/snippet_metadata.google.cloud.gkeconnect.gateway.v1beta1.json b/internal/generated/snippets/gkeconnect/gateway/apiv1beta1/snippet_metadata.google.cloud.gkeconnect.gateway.v1beta1.json index 57fb7c2d68a..74b431c038f 100644 --- a/internal/generated/snippets/gkeconnect/gateway/apiv1beta1/snippet_metadata.google.cloud.gkeconnect.gateway.v1beta1.json +++ b/internal/generated/snippets/gkeconnect/gateway/apiv1beta1/snippet_metadata.google.cloud.gkeconnect.gateway.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/gkeconnect/gateway/apiv1beta1", - "version": "0.8.0", + "version": "0.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/gkehub/apiv1beta1/snippet_metadata.google.cloud.gkehub.v1beta1.json b/internal/generated/snippets/gkehub/apiv1beta1/snippet_metadata.google.cloud.gkehub.v1beta1.json index af024891761..01a5bfdba82 100644 --- a/internal/generated/snippets/gkehub/apiv1beta1/snippet_metadata.google.cloud.gkehub.v1beta1.json +++ b/internal/generated/snippets/gkehub/apiv1beta1/snippet_metadata.google.cloud.gkehub.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/gkehub/apiv1beta1", - "version": "0.14.0", + "version": "0.14.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/gkemulticloud/apiv1/snippet_metadata.google.cloud.gkemulticloud.v1.json b/internal/generated/snippets/gkemulticloud/apiv1/snippet_metadata.google.cloud.gkemulticloud.v1.json index b0d283a6fc7..9f0feca9644 100644 --- a/internal/generated/snippets/gkemulticloud/apiv1/snippet_metadata.google.cloud.gkemulticloud.v1.json +++ b/internal/generated/snippets/gkemulticloud/apiv1/snippet_metadata.google.cloud.gkemulticloud.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/gkemulticloud/apiv1", - "version": "0.6.0", + "version": "0.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/gsuiteaddons/apiv1/snippet_metadata.google.cloud.gsuiteaddons.v1.json b/internal/generated/snippets/gsuiteaddons/apiv1/snippet_metadata.google.cloud.gsuiteaddons.v1.json index fc74f006866..80f70215447 100644 --- a/internal/generated/snippets/gsuiteaddons/apiv1/snippet_metadata.google.cloud.gsuiteaddons.v1.json +++ b/internal/generated/snippets/gsuiteaddons/apiv1/snippet_metadata.google.cloud.gsuiteaddons.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/gsuiteaddons/apiv1", - "version": "1.6.0", + "version": "1.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/iam/apiv1/snippet_metadata.google.iam.v1.json b/internal/generated/snippets/iam/apiv1/snippet_metadata.google.iam.v1.json index c581243bf23..27710ced921 100644 --- a/internal/generated/snippets/iam/apiv1/snippet_metadata.google.iam.v1.json +++ b/internal/generated/snippets/iam/apiv1/snippet_metadata.google.iam.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/iam/apiv1", - "version": "1.1.0", + "version": "1.1.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/iam/apiv2/snippet_metadata.google.iam.v2.json b/internal/generated/snippets/iam/apiv2/snippet_metadata.google.iam.v2.json index 76263371c30..e6b2c940e18 100644 --- a/internal/generated/snippets/iam/apiv2/snippet_metadata.google.iam.v2.json +++ b/internal/generated/snippets/iam/apiv2/snippet_metadata.google.iam.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/iam/apiv2", - "version": "1.1.0", + "version": "1.1.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/iam/credentials/apiv1/snippet_metadata.google.iam.credentials.v1.json b/internal/generated/snippets/iam/credentials/apiv1/snippet_metadata.google.iam.credentials.v1.json index 946627c8c27..53bbef52ca5 100644 --- a/internal/generated/snippets/iam/credentials/apiv1/snippet_metadata.google.iam.credentials.v1.json +++ b/internal/generated/snippets/iam/credentials/apiv1/snippet_metadata.google.iam.credentials.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/iam/credentials/apiv1", - "version": "1.1.0", + "version": "1.1.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/iap/apiv1/snippet_metadata.google.cloud.iap.v1.json b/internal/generated/snippets/iap/apiv1/snippet_metadata.google.cloud.iap.v1.json index 401b411bc54..48fcb192f72 100644 --- a/internal/generated/snippets/iap/apiv1/snippet_metadata.google.cloud.iap.v1.json +++ b/internal/generated/snippets/iap/apiv1/snippet_metadata.google.cloud.iap.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/iap/apiv1", - "version": "1.8.0", + "version": "1.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/ids/apiv1/snippet_metadata.google.cloud.ids.v1.json b/internal/generated/snippets/ids/apiv1/snippet_metadata.google.cloud.ids.v1.json index 4b621a7ffc0..8181ba61992 100644 --- a/internal/generated/snippets/ids/apiv1/snippet_metadata.google.cloud.ids.v1.json +++ b/internal/generated/snippets/ids/apiv1/snippet_metadata.google.cloud.ids.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/ids/apiv1", - "version": "1.4.0", + "version": "1.4.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/iot/apiv1/snippet_metadata.google.cloud.iot.v1.json b/internal/generated/snippets/iot/apiv1/snippet_metadata.google.cloud.iot.v1.json index fbc2c4a57ef..8c66482cd44 100644 --- a/internal/generated/snippets/iot/apiv1/snippet_metadata.google.cloud.iot.v1.json +++ b/internal/generated/snippets/iot/apiv1/snippet_metadata.google.cloud.iot.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/iot/apiv1", - "version": "1.7.0", + "version": "1.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/kms/apiv1/snippet_metadata.google.cloud.kms.v1.json b/internal/generated/snippets/kms/apiv1/snippet_metadata.google.cloud.kms.v1.json index cf7aca22edd..a4d8113ce71 100644 --- a/internal/generated/snippets/kms/apiv1/snippet_metadata.google.cloud.kms.v1.json +++ b/internal/generated/snippets/kms/apiv1/snippet_metadata.google.cloud.kms.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/kms/apiv1", - "version": "1.12.0", + "version": "1.12.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/kms/inventory/apiv1/snippet_metadata.google.cloud.kms.inventory.v1.json b/internal/generated/snippets/kms/inventory/apiv1/snippet_metadata.google.cloud.kms.inventory.v1.json index c770e7118ce..3889429c963 100644 --- a/internal/generated/snippets/kms/inventory/apiv1/snippet_metadata.google.cloud.kms.inventory.v1.json +++ b/internal/generated/snippets/kms/inventory/apiv1/snippet_metadata.google.cloud.kms.inventory.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/kms/inventory/apiv1", - "version": "1.12.0", + "version": "1.12.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/language/apiv1/snippet_metadata.google.cloud.language.v1.json b/internal/generated/snippets/language/apiv1/snippet_metadata.google.cloud.language.v1.json index 8f30975e470..154a2666683 100644 --- a/internal/generated/snippets/language/apiv1/snippet_metadata.google.cloud.language.v1.json +++ b/internal/generated/snippets/language/apiv1/snippet_metadata.google.cloud.language.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/language/apiv1", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/language/apiv1beta2/snippet_metadata.google.cloud.language.v1beta2.json b/internal/generated/snippets/language/apiv1beta2/snippet_metadata.google.cloud.language.v1beta2.json index 3e153072544..85c91bde85d 100644 --- a/internal/generated/snippets/language/apiv1beta2/snippet_metadata.google.cloud.language.v1beta2.json +++ b/internal/generated/snippets/language/apiv1beta2/snippet_metadata.google.cloud.language.v1beta2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/language/apiv1beta2", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/lifesciences/apiv2beta/snippet_metadata.google.cloud.lifesciences.v2beta.json b/internal/generated/snippets/lifesciences/apiv2beta/snippet_metadata.google.cloud.lifesciences.v2beta.json index f5603c8ecaf..77a53fe94d0 100644 --- a/internal/generated/snippets/lifesciences/apiv2beta/snippet_metadata.google.cloud.lifesciences.v2beta.json +++ b/internal/generated/snippets/lifesciences/apiv2beta/snippet_metadata.google.cloud.lifesciences.v2beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/lifesciences/apiv2beta", - "version": "0.9.0", + "version": "0.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/longrunning/autogen/snippet_metadata.google.longrunning.json b/internal/generated/snippets/longrunning/autogen/snippet_metadata.google.longrunning.json index e576bc34e6e..6112266d828 100644 --- a/internal/generated/snippets/longrunning/autogen/snippet_metadata.google.longrunning.json +++ b/internal/generated/snippets/longrunning/autogen/snippet_metadata.google.longrunning.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/longrunning/autogen", - "version": "0.5.0", + "version": "0.5.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/managedidentities/apiv1/snippet_metadata.google.cloud.managedidentities.v1.json b/internal/generated/snippets/managedidentities/apiv1/snippet_metadata.google.cloud.managedidentities.v1.json index 9f3320d9e60..08022dee922 100644 --- a/internal/generated/snippets/managedidentities/apiv1/snippet_metadata.google.cloud.managedidentities.v1.json +++ b/internal/generated/snippets/managedidentities/apiv1/snippet_metadata.google.cloud.managedidentities.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/managedidentities/apiv1", - "version": "1.6.0", + "version": "1.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/maps/addressvalidation/apiv1/snippet_metadata.google.maps.addressvalidation.v1.json b/internal/generated/snippets/maps/addressvalidation/apiv1/snippet_metadata.google.maps.addressvalidation.v1.json index 0aaee242114..15cca87144f 100644 --- a/internal/generated/snippets/maps/addressvalidation/apiv1/snippet_metadata.google.maps.addressvalidation.v1.json +++ b/internal/generated/snippets/maps/addressvalidation/apiv1/snippet_metadata.google.maps.addressvalidation.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/maps/addressvalidation/apiv1", - "version": "1.2.0", + "version": "1.2.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/maps/mapsplatformdatasets/apiv1alpha/snippet_metadata.google.maps.mapsplatformdatasets.v1alpha.json b/internal/generated/snippets/maps/mapsplatformdatasets/apiv1alpha/snippet_metadata.google.maps.mapsplatformdatasets.v1alpha.json index 0c0e430b1c5..5ddf1a371f1 100644 --- a/internal/generated/snippets/maps/mapsplatformdatasets/apiv1alpha/snippet_metadata.google.maps.mapsplatformdatasets.v1alpha.json +++ b/internal/generated/snippets/maps/mapsplatformdatasets/apiv1alpha/snippet_metadata.google.maps.mapsplatformdatasets.v1alpha.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/maps/mapsplatformdatasets/apiv1alpha", - "version": "1.2.0", + "version": "1.2.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/maps/places/apiv1/snippet_metadata.google.maps.places.v1.json b/internal/generated/snippets/maps/places/apiv1/snippet_metadata.google.maps.places.v1.json index 530e462f74c..d030bd00d84 100644 --- a/internal/generated/snippets/maps/places/apiv1/snippet_metadata.google.maps.places.v1.json +++ b/internal/generated/snippets/maps/places/apiv1/snippet_metadata.google.maps.places.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/maps/places/apiv1", - "version": "1.2.0", + "version": "1.2.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/maps/routing/apiv2/snippet_metadata.google.maps.routing.v2.json b/internal/generated/snippets/maps/routing/apiv2/snippet_metadata.google.maps.routing.v2.json index c8d1b3212c7..ee46facb466 100644 --- a/internal/generated/snippets/maps/routing/apiv2/snippet_metadata.google.maps.routing.v2.json +++ b/internal/generated/snippets/maps/routing/apiv2/snippet_metadata.google.maps.routing.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/maps/routing/apiv2", - "version": "1.2.0", + "version": "1.2.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/mediatranslation/apiv1beta1/snippet_metadata.google.cloud.mediatranslation.v1beta1.json b/internal/generated/snippets/mediatranslation/apiv1beta1/snippet_metadata.google.cloud.mediatranslation.v1beta1.json index 23f026264ed..c783e71508f 100644 --- a/internal/generated/snippets/mediatranslation/apiv1beta1/snippet_metadata.google.cloud.mediatranslation.v1beta1.json +++ b/internal/generated/snippets/mediatranslation/apiv1beta1/snippet_metadata.google.cloud.mediatranslation.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/mediatranslation/apiv1beta1", - "version": "0.8.0", + "version": "0.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/memcache/apiv1/snippet_metadata.google.cloud.memcache.v1.json b/internal/generated/snippets/memcache/apiv1/snippet_metadata.google.cloud.memcache.v1.json index 5173d767f33..dfea090b9c5 100644 --- a/internal/generated/snippets/memcache/apiv1/snippet_metadata.google.cloud.memcache.v1.json +++ b/internal/generated/snippets/memcache/apiv1/snippet_metadata.google.cloud.memcache.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/memcache/apiv1", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/memcache/apiv1beta2/snippet_metadata.google.cloud.memcache.v1beta2.json b/internal/generated/snippets/memcache/apiv1beta2/snippet_metadata.google.cloud.memcache.v1beta2.json index 4504e228c6c..d2b9146404e 100644 --- a/internal/generated/snippets/memcache/apiv1beta2/snippet_metadata.google.cloud.memcache.v1beta2.json +++ b/internal/generated/snippets/memcache/apiv1beta2/snippet_metadata.google.cloud.memcache.v1beta2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/memcache/apiv1beta2", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/metastore/apiv1/snippet_metadata.google.cloud.metastore.v1.json b/internal/generated/snippets/metastore/apiv1/snippet_metadata.google.cloud.metastore.v1.json index 207db68d719..8306e6cb261 100644 --- a/internal/generated/snippets/metastore/apiv1/snippet_metadata.google.cloud.metastore.v1.json +++ b/internal/generated/snippets/metastore/apiv1/snippet_metadata.google.cloud.metastore.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/metastore/apiv1", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/metastore/apiv1alpha/snippet_metadata.google.cloud.metastore.v1alpha.json b/internal/generated/snippets/metastore/apiv1alpha/snippet_metadata.google.cloud.metastore.v1alpha.json index 478582dab2b..d5b3ae425e0 100644 --- a/internal/generated/snippets/metastore/apiv1alpha/snippet_metadata.google.cloud.metastore.v1alpha.json +++ b/internal/generated/snippets/metastore/apiv1alpha/snippet_metadata.google.cloud.metastore.v1alpha.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/metastore/apiv1alpha", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/metastore/apiv1beta/snippet_metadata.google.cloud.metastore.v1beta.json b/internal/generated/snippets/metastore/apiv1beta/snippet_metadata.google.cloud.metastore.v1beta.json index 17971ec2917..ebb1c887cd2 100644 --- a/internal/generated/snippets/metastore/apiv1beta/snippet_metadata.google.cloud.metastore.v1beta.json +++ b/internal/generated/snippets/metastore/apiv1beta/snippet_metadata.google.cloud.metastore.v1beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/metastore/apiv1beta", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/monitoring/apiv3/v2/snippet_metadata.google.monitoring.v3.json b/internal/generated/snippets/monitoring/apiv3/v2/snippet_metadata.google.monitoring.v3.json index 9e9aab7403d..4cb071a997f 100644 --- a/internal/generated/snippets/monitoring/apiv3/v2/snippet_metadata.google.monitoring.v3.json +++ b/internal/generated/snippets/monitoring/apiv3/v2/snippet_metadata.google.monitoring.v3.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/monitoring/apiv3/v2", - "version": "1.15.0", + "version": "1.15.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/monitoring/dashboard/apiv1/snippet_metadata.google.monitoring.dashboard.v1.json b/internal/generated/snippets/monitoring/dashboard/apiv1/snippet_metadata.google.monitoring.dashboard.v1.json index 77306eaf4c8..ef5140eb814 100644 --- a/internal/generated/snippets/monitoring/dashboard/apiv1/snippet_metadata.google.monitoring.dashboard.v1.json +++ b/internal/generated/snippets/monitoring/dashboard/apiv1/snippet_metadata.google.monitoring.dashboard.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/monitoring/dashboard/apiv1", - "version": "1.15.0", + "version": "1.15.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/monitoring/metricsscope/apiv1/snippet_metadata.google.monitoring.metricsscope.v1.json b/internal/generated/snippets/monitoring/metricsscope/apiv1/snippet_metadata.google.monitoring.metricsscope.v1.json index 53fd5a70ee5..d5acfa788f9 100644 --- a/internal/generated/snippets/monitoring/metricsscope/apiv1/snippet_metadata.google.monitoring.metricsscope.v1.json +++ b/internal/generated/snippets/monitoring/metricsscope/apiv1/snippet_metadata.google.monitoring.metricsscope.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/monitoring/metricsscope/apiv1", - "version": "1.15.0", + "version": "1.15.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/networkconnectivity/apiv1/snippet_metadata.google.cloud.networkconnectivity.v1.json b/internal/generated/snippets/networkconnectivity/apiv1/snippet_metadata.google.cloud.networkconnectivity.v1.json index 6d38caeb059..ec2604f6f29 100644 --- a/internal/generated/snippets/networkconnectivity/apiv1/snippet_metadata.google.cloud.networkconnectivity.v1.json +++ b/internal/generated/snippets/networkconnectivity/apiv1/snippet_metadata.google.cloud.networkconnectivity.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/networkconnectivity/apiv1", - "version": "1.12.0", + "version": "1.12.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/networkconnectivity/apiv1alpha1/snippet_metadata.google.cloud.networkconnectivity.v1alpha1.json b/internal/generated/snippets/networkconnectivity/apiv1alpha1/snippet_metadata.google.cloud.networkconnectivity.v1alpha1.json index ee0f13fcf0c..f7ffbda8de2 100644 --- a/internal/generated/snippets/networkconnectivity/apiv1alpha1/snippet_metadata.google.cloud.networkconnectivity.v1alpha1.json +++ b/internal/generated/snippets/networkconnectivity/apiv1alpha1/snippet_metadata.google.cloud.networkconnectivity.v1alpha1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/networkconnectivity/apiv1alpha1", - "version": "1.12.0", + "version": "1.12.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/networkmanagement/apiv1/snippet_metadata.google.cloud.networkmanagement.v1.json b/internal/generated/snippets/networkmanagement/apiv1/snippet_metadata.google.cloud.networkmanagement.v1.json index 34e4a35e194..d3c6d3b316d 100644 --- a/internal/generated/snippets/networkmanagement/apiv1/snippet_metadata.google.cloud.networkmanagement.v1.json +++ b/internal/generated/snippets/networkmanagement/apiv1/snippet_metadata.google.cloud.networkmanagement.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/networkmanagement/apiv1", - "version": "1.7.0", + "version": "1.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/networksecurity/apiv1beta1/snippet_metadata.google.cloud.networksecurity.v1beta1.json b/internal/generated/snippets/networksecurity/apiv1beta1/snippet_metadata.google.cloud.networksecurity.v1beta1.json index 34080d62df4..21e42d8a252 100644 --- a/internal/generated/snippets/networksecurity/apiv1beta1/snippet_metadata.google.cloud.networksecurity.v1beta1.json +++ b/internal/generated/snippets/networksecurity/apiv1beta1/snippet_metadata.google.cloud.networksecurity.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/networksecurity/apiv1beta1", - "version": "0.9.0", + "version": "0.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/notebooks/apiv1/snippet_metadata.google.cloud.notebooks.v1.json b/internal/generated/snippets/notebooks/apiv1/snippet_metadata.google.cloud.notebooks.v1.json index 124a2cd1439..8ace39e9741 100644 --- a/internal/generated/snippets/notebooks/apiv1/snippet_metadata.google.cloud.notebooks.v1.json +++ b/internal/generated/snippets/notebooks/apiv1/snippet_metadata.google.cloud.notebooks.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/notebooks/apiv1", - "version": "1.9.0", + "version": "1.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/notebooks/apiv1beta1/snippet_metadata.google.cloud.notebooks.v1beta1.json b/internal/generated/snippets/notebooks/apiv1beta1/snippet_metadata.google.cloud.notebooks.v1beta1.json index 479b8526f7b..4f332318e24 100644 --- a/internal/generated/snippets/notebooks/apiv1beta1/snippet_metadata.google.cloud.notebooks.v1beta1.json +++ b/internal/generated/snippets/notebooks/apiv1beta1/snippet_metadata.google.cloud.notebooks.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/notebooks/apiv1beta1", - "version": "1.9.0", + "version": "1.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/optimization/apiv1/snippet_metadata.google.cloud.optimization.v1.json b/internal/generated/snippets/optimization/apiv1/snippet_metadata.google.cloud.optimization.v1.json index d9dd506ee4d..4bf61bb125f 100644 --- a/internal/generated/snippets/optimization/apiv1/snippet_metadata.google.cloud.optimization.v1.json +++ b/internal/generated/snippets/optimization/apiv1/snippet_metadata.google.cloud.optimization.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/optimization/apiv1", - "version": "1.4.0", + "version": "1.4.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/orchestration/airflow/service/apiv1/snippet_metadata.google.cloud.orchestration.airflow.service.v1.json b/internal/generated/snippets/orchestration/airflow/service/apiv1/snippet_metadata.google.cloud.orchestration.airflow.service.v1.json index 7982b823383..efef3eea36d 100644 --- a/internal/generated/snippets/orchestration/airflow/service/apiv1/snippet_metadata.google.cloud.orchestration.airflow.service.v1.json +++ b/internal/generated/snippets/orchestration/airflow/service/apiv1/snippet_metadata.google.cloud.orchestration.airflow.service.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/orchestration/airflow/service/apiv1", - "version": "1.8.0", + "version": "1.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/orgpolicy/apiv2/snippet_metadata.google.cloud.orgpolicy.v2.json b/internal/generated/snippets/orgpolicy/apiv2/snippet_metadata.google.cloud.orgpolicy.v2.json index 9c6eb8f8aa9..732fc34a060 100644 --- a/internal/generated/snippets/orgpolicy/apiv2/snippet_metadata.google.cloud.orgpolicy.v2.json +++ b/internal/generated/snippets/orgpolicy/apiv2/snippet_metadata.google.cloud.orgpolicy.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/orgpolicy/apiv2", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/osconfig/agentendpoint/apiv1/snippet_metadata.google.cloud.osconfig.agentendpoint.v1.json b/internal/generated/snippets/osconfig/agentendpoint/apiv1/snippet_metadata.google.cloud.osconfig.agentendpoint.v1.json index c3dac98be1f..2560b30ea65 100644 --- a/internal/generated/snippets/osconfig/agentendpoint/apiv1/snippet_metadata.google.cloud.osconfig.agentendpoint.v1.json +++ b/internal/generated/snippets/osconfig/agentendpoint/apiv1/snippet_metadata.google.cloud.osconfig.agentendpoint.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/osconfig/agentendpoint/apiv1", - "version": "1.12.0", + "version": "1.12.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/osconfig/agentendpoint/apiv1beta/snippet_metadata.google.cloud.osconfig.agentendpoint.v1beta.json b/internal/generated/snippets/osconfig/agentendpoint/apiv1beta/snippet_metadata.google.cloud.osconfig.agentendpoint.v1beta.json index c935124ef59..72a879f6eab 100644 --- a/internal/generated/snippets/osconfig/agentendpoint/apiv1beta/snippet_metadata.google.cloud.osconfig.agentendpoint.v1beta.json +++ b/internal/generated/snippets/osconfig/agentendpoint/apiv1beta/snippet_metadata.google.cloud.osconfig.agentendpoint.v1beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/osconfig/agentendpoint/apiv1beta", - "version": "1.12.0", + "version": "1.12.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/osconfig/apiv1/snippet_metadata.google.cloud.osconfig.v1.json b/internal/generated/snippets/osconfig/apiv1/snippet_metadata.google.cloud.osconfig.v1.json index ded363dee8a..60204fa4a28 100644 --- a/internal/generated/snippets/osconfig/apiv1/snippet_metadata.google.cloud.osconfig.v1.json +++ b/internal/generated/snippets/osconfig/apiv1/snippet_metadata.google.cloud.osconfig.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/osconfig/apiv1", - "version": "1.12.0", + "version": "1.12.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/osconfig/apiv1alpha/snippet_metadata.google.cloud.osconfig.v1alpha.json b/internal/generated/snippets/osconfig/apiv1alpha/snippet_metadata.google.cloud.osconfig.v1alpha.json index 89900250a6d..47e1421fb16 100644 --- a/internal/generated/snippets/osconfig/apiv1alpha/snippet_metadata.google.cloud.osconfig.v1alpha.json +++ b/internal/generated/snippets/osconfig/apiv1alpha/snippet_metadata.google.cloud.osconfig.v1alpha.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/osconfig/apiv1alpha", - "version": "1.12.0", + "version": "1.12.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/osconfig/apiv1beta/snippet_metadata.google.cloud.osconfig.v1beta.json b/internal/generated/snippets/osconfig/apiv1beta/snippet_metadata.google.cloud.osconfig.v1beta.json index 960e8c255cd..b302c19148e 100644 --- a/internal/generated/snippets/osconfig/apiv1beta/snippet_metadata.google.cloud.osconfig.v1beta.json +++ b/internal/generated/snippets/osconfig/apiv1beta/snippet_metadata.google.cloud.osconfig.v1beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/osconfig/apiv1beta", - "version": "1.12.0", + "version": "1.12.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/oslogin/apiv1/snippet_metadata.google.cloud.oslogin.v1.json b/internal/generated/snippets/oslogin/apiv1/snippet_metadata.google.cloud.oslogin.v1.json index a80a80b36bf..9f38568d018 100644 --- a/internal/generated/snippets/oslogin/apiv1/snippet_metadata.google.cloud.oslogin.v1.json +++ b/internal/generated/snippets/oslogin/apiv1/snippet_metadata.google.cloud.oslogin.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/oslogin/apiv1", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/oslogin/apiv1beta/snippet_metadata.google.cloud.oslogin.v1beta.json b/internal/generated/snippets/oslogin/apiv1beta/snippet_metadata.google.cloud.oslogin.v1beta.json index a5828b2ad38..271316f73c1 100644 --- a/internal/generated/snippets/oslogin/apiv1beta/snippet_metadata.google.cloud.oslogin.v1beta.json +++ b/internal/generated/snippets/oslogin/apiv1beta/snippet_metadata.google.cloud.oslogin.v1beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/oslogin/apiv1beta", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/phishingprotection/apiv1beta1/snippet_metadata.google.cloud.phishingprotection.v1beta1.json b/internal/generated/snippets/phishingprotection/apiv1beta1/snippet_metadata.google.cloud.phishingprotection.v1beta1.json index 16d7a1f0e1a..1cf4fb1760f 100644 --- a/internal/generated/snippets/phishingprotection/apiv1beta1/snippet_metadata.google.cloud.phishingprotection.v1beta1.json +++ b/internal/generated/snippets/phishingprotection/apiv1beta1/snippet_metadata.google.cloud.phishingprotection.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/phishingprotection/apiv1beta1", - "version": "0.8.0", + "version": "0.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/policytroubleshooter/apiv1/snippet_metadata.google.cloud.policytroubleshooter.v1.json b/internal/generated/snippets/policytroubleshooter/apiv1/snippet_metadata.google.cloud.policytroubleshooter.v1.json index e9b7f15670b..3504013c385 100644 --- a/internal/generated/snippets/policytroubleshooter/apiv1/snippet_metadata.google.cloud.policytroubleshooter.v1.json +++ b/internal/generated/snippets/policytroubleshooter/apiv1/snippet_metadata.google.cloud.policytroubleshooter.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/policytroubleshooter/apiv1", - "version": "1.7.0", + "version": "1.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/privatecatalog/apiv1beta1/snippet_metadata.google.cloud.privatecatalog.v1beta1.json b/internal/generated/snippets/privatecatalog/apiv1beta1/snippet_metadata.google.cloud.privatecatalog.v1beta1.json index 5c8aa9f51e7..3853e7a91ff 100644 --- a/internal/generated/snippets/privatecatalog/apiv1beta1/snippet_metadata.google.cloud.privatecatalog.v1beta1.json +++ b/internal/generated/snippets/privatecatalog/apiv1beta1/snippet_metadata.google.cloud.privatecatalog.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/privatecatalog/apiv1beta1", - "version": "0.9.0", + "version": "0.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/rapidmigrationassessment/apiv1/snippet_metadata.google.cloud.rapidmigrationassessment.v1.json b/internal/generated/snippets/rapidmigrationassessment/apiv1/snippet_metadata.google.cloud.rapidmigrationassessment.v1.json index b894a9520b7..6d9e936aba9 100644 --- a/internal/generated/snippets/rapidmigrationassessment/apiv1/snippet_metadata.google.cloud.rapidmigrationassessment.v1.json +++ b/internal/generated/snippets/rapidmigrationassessment/apiv1/snippet_metadata.google.cloud.rapidmigrationassessment.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/rapidmigrationassessment/apiv1", - "version": "0.1.1", + "version": "0.1.2", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/recommendationengine/apiv1beta1/snippet_metadata.google.cloud.recommendationengine.v1beta1.json b/internal/generated/snippets/recommendationengine/apiv1beta1/snippet_metadata.google.cloud.recommendationengine.v1beta1.json index aec1451c366..66a2808b558 100644 --- a/internal/generated/snippets/recommendationengine/apiv1beta1/snippet_metadata.google.cloud.recommendationengine.v1beta1.json +++ b/internal/generated/snippets/recommendationengine/apiv1beta1/snippet_metadata.google.cloud.recommendationengine.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/recommendationengine/apiv1beta1", - "version": "0.8.0", + "version": "0.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/recommender/apiv1/snippet_metadata.google.cloud.recommender.v1.json b/internal/generated/snippets/recommender/apiv1/snippet_metadata.google.cloud.recommender.v1.json index 27d947c22a3..fd68320888b 100644 --- a/internal/generated/snippets/recommender/apiv1/snippet_metadata.google.cloud.recommender.v1.json +++ b/internal/generated/snippets/recommender/apiv1/snippet_metadata.google.cloud.recommender.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/recommender/apiv1", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/recommender/apiv1beta1/snippet_metadata.google.cloud.recommender.v1beta1.json b/internal/generated/snippets/recommender/apiv1beta1/snippet_metadata.google.cloud.recommender.v1beta1.json index 9bd5fb51509..ff354030378 100644 --- a/internal/generated/snippets/recommender/apiv1beta1/snippet_metadata.google.cloud.recommender.v1beta1.json +++ b/internal/generated/snippets/recommender/apiv1beta1/snippet_metadata.google.cloud.recommender.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/recommender/apiv1beta1", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/redis/apiv1/snippet_metadata.google.cloud.redis.v1.json b/internal/generated/snippets/redis/apiv1/snippet_metadata.google.cloud.redis.v1.json index af5f732c4f8..fa3edeb4360 100644 --- a/internal/generated/snippets/redis/apiv1/snippet_metadata.google.cloud.redis.v1.json +++ b/internal/generated/snippets/redis/apiv1/snippet_metadata.google.cloud.redis.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/redis/apiv1", - "version": "1.13.0", + "version": "1.13.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/redis/apiv1beta1/snippet_metadata.google.cloud.redis.v1beta1.json b/internal/generated/snippets/redis/apiv1beta1/snippet_metadata.google.cloud.redis.v1beta1.json index 215484eb1ee..fbf0725eb42 100644 --- a/internal/generated/snippets/redis/apiv1beta1/snippet_metadata.google.cloud.redis.v1beta1.json +++ b/internal/generated/snippets/redis/apiv1beta1/snippet_metadata.google.cloud.redis.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/redis/apiv1beta1", - "version": "1.13.0", + "version": "1.13.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/resourcemanager/apiv2/snippet_metadata.google.cloud.resourcemanager.v2.json b/internal/generated/snippets/resourcemanager/apiv2/snippet_metadata.google.cloud.resourcemanager.v2.json index a67b6e267ac..d69f2d09385 100644 --- a/internal/generated/snippets/resourcemanager/apiv2/snippet_metadata.google.cloud.resourcemanager.v2.json +++ b/internal/generated/snippets/resourcemanager/apiv2/snippet_metadata.google.cloud.resourcemanager.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/resourcemanager/apiv2", - "version": "1.9.0", + "version": "1.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/resourcemanager/apiv3/snippet_metadata.google.cloud.resourcemanager.v3.json b/internal/generated/snippets/resourcemanager/apiv3/snippet_metadata.google.cloud.resourcemanager.v3.json index af8425cb80d..b251eaa89d3 100644 --- a/internal/generated/snippets/resourcemanager/apiv3/snippet_metadata.google.cloud.resourcemanager.v3.json +++ b/internal/generated/snippets/resourcemanager/apiv3/snippet_metadata.google.cloud.resourcemanager.v3.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/resourcemanager/apiv3", - "version": "1.9.0", + "version": "1.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/resourcesettings/apiv1/snippet_metadata.google.cloud.resourcesettings.v1.json b/internal/generated/snippets/resourcesettings/apiv1/snippet_metadata.google.cloud.resourcesettings.v1.json index 49ca3a1a210..8d86e93adcb 100644 --- a/internal/generated/snippets/resourcesettings/apiv1/snippet_metadata.google.cloud.resourcesettings.v1.json +++ b/internal/generated/snippets/resourcesettings/apiv1/snippet_metadata.google.cloud.resourcesettings.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/resourcesettings/apiv1", - "version": "1.6.0", + "version": "1.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/retail/apiv2/snippet_metadata.google.cloud.retail.v2.json b/internal/generated/snippets/retail/apiv2/snippet_metadata.google.cloud.retail.v2.json index 06baa057ea2..abc80f56ee8 100644 --- a/internal/generated/snippets/retail/apiv2/snippet_metadata.google.cloud.retail.v2.json +++ b/internal/generated/snippets/retail/apiv2/snippet_metadata.google.cloud.retail.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/retail/apiv2", - "version": "1.14.0", + "version": "1.14.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/retail/apiv2alpha/snippet_metadata.google.cloud.retail.v2alpha.json b/internal/generated/snippets/retail/apiv2alpha/snippet_metadata.google.cloud.retail.v2alpha.json index 6e0229e5d4f..ad78506c2a8 100644 --- a/internal/generated/snippets/retail/apiv2alpha/snippet_metadata.google.cloud.retail.v2alpha.json +++ b/internal/generated/snippets/retail/apiv2alpha/snippet_metadata.google.cloud.retail.v2alpha.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/retail/apiv2alpha", - "version": "1.14.0", + "version": "1.14.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/retail/apiv2beta/snippet_metadata.google.cloud.retail.v2beta.json b/internal/generated/snippets/retail/apiv2beta/snippet_metadata.google.cloud.retail.v2beta.json index 7a64a96493e..7a35f71b2a0 100644 --- a/internal/generated/snippets/retail/apiv2beta/snippet_metadata.google.cloud.retail.v2beta.json +++ b/internal/generated/snippets/retail/apiv2beta/snippet_metadata.google.cloud.retail.v2beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/retail/apiv2beta", - "version": "1.14.0", + "version": "1.14.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/run/apiv2/snippet_metadata.google.cloud.run.v2.json b/internal/generated/snippets/run/apiv2/snippet_metadata.google.cloud.run.v2.json index 25ec028fa63..ea1bd688ec2 100644 --- a/internal/generated/snippets/run/apiv2/snippet_metadata.google.cloud.run.v2.json +++ b/internal/generated/snippets/run/apiv2/snippet_metadata.google.cloud.run.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/run/apiv2", - "version": "1.1.0", + "version": "1.1.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/scheduler/apiv1/snippet_metadata.google.cloud.scheduler.v1.json b/internal/generated/snippets/scheduler/apiv1/snippet_metadata.google.cloud.scheduler.v1.json index fe4bde18253..52f525b3446 100644 --- a/internal/generated/snippets/scheduler/apiv1/snippet_metadata.google.cloud.scheduler.v1.json +++ b/internal/generated/snippets/scheduler/apiv1/snippet_metadata.google.cloud.scheduler.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/scheduler/apiv1", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/scheduler/apiv1beta1/snippet_metadata.google.cloud.scheduler.v1beta1.json b/internal/generated/snippets/scheduler/apiv1beta1/snippet_metadata.google.cloud.scheduler.v1beta1.json index 490192123df..a24361a893d 100644 --- a/internal/generated/snippets/scheduler/apiv1beta1/snippet_metadata.google.cloud.scheduler.v1beta1.json +++ b/internal/generated/snippets/scheduler/apiv1beta1/snippet_metadata.google.cloud.scheduler.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/scheduler/apiv1beta1", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/secretmanager/apiv1/snippet_metadata.google.cloud.secretmanager.v1.json b/internal/generated/snippets/secretmanager/apiv1/snippet_metadata.google.cloud.secretmanager.v1.json index 87f7566b45a..51ccc5c83b9 100644 --- a/internal/generated/snippets/secretmanager/apiv1/snippet_metadata.google.cloud.secretmanager.v1.json +++ b/internal/generated/snippets/secretmanager/apiv1/snippet_metadata.google.cloud.secretmanager.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/secretmanager/apiv1", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/security/privateca/apiv1/snippet_metadata.google.cloud.security.privateca.v1.json b/internal/generated/snippets/security/privateca/apiv1/snippet_metadata.google.cloud.security.privateca.v1.json index b1296304afa..a7029ee9063 100644 --- a/internal/generated/snippets/security/privateca/apiv1/snippet_metadata.google.cloud.security.privateca.v1.json +++ b/internal/generated/snippets/security/privateca/apiv1/snippet_metadata.google.cloud.security.privateca.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/security/privateca/apiv1", - "version": "1.15.0", + "version": "1.15.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/security/publicca/apiv1beta1/snippet_metadata.google.cloud.security.publicca.v1beta1.json b/internal/generated/snippets/security/publicca/apiv1beta1/snippet_metadata.google.cloud.security.publicca.v1beta1.json index fc53388ca6f..b534ad5cf13 100644 --- a/internal/generated/snippets/security/publicca/apiv1beta1/snippet_metadata.google.cloud.security.publicca.v1beta1.json +++ b/internal/generated/snippets/security/publicca/apiv1beta1/snippet_metadata.google.cloud.security.publicca.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/security/publicca/apiv1beta1", - "version": "1.15.0", + "version": "1.15.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/securitycenter/apiv1/snippet_metadata.google.cloud.securitycenter.v1.json b/internal/generated/snippets/securitycenter/apiv1/snippet_metadata.google.cloud.securitycenter.v1.json index a7afa15e624..db902b9ec11 100644 --- a/internal/generated/snippets/securitycenter/apiv1/snippet_metadata.google.cloud.securitycenter.v1.json +++ b/internal/generated/snippets/securitycenter/apiv1/snippet_metadata.google.cloud.securitycenter.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/securitycenter/apiv1", - "version": "1.22.0", + "version": "1.22.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/securitycenter/apiv1beta1/snippet_metadata.google.cloud.securitycenter.v1beta1.json b/internal/generated/snippets/securitycenter/apiv1beta1/snippet_metadata.google.cloud.securitycenter.v1beta1.json index 637b750cea7..302d6992f7e 100644 --- a/internal/generated/snippets/securitycenter/apiv1beta1/snippet_metadata.google.cloud.securitycenter.v1beta1.json +++ b/internal/generated/snippets/securitycenter/apiv1beta1/snippet_metadata.google.cloud.securitycenter.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/securitycenter/apiv1beta1", - "version": "1.22.0", + "version": "1.22.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/securitycenter/apiv1p1beta1/snippet_metadata.google.cloud.securitycenter.v1p1beta1.json b/internal/generated/snippets/securitycenter/apiv1p1beta1/snippet_metadata.google.cloud.securitycenter.v1p1beta1.json index 5384a29e3ce..76a15e10475 100644 --- a/internal/generated/snippets/securitycenter/apiv1p1beta1/snippet_metadata.google.cloud.securitycenter.v1p1beta1.json +++ b/internal/generated/snippets/securitycenter/apiv1p1beta1/snippet_metadata.google.cloud.securitycenter.v1p1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/securitycenter/apiv1p1beta1", - "version": "1.22.0", + "version": "1.22.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/securitycenter/settings/apiv1beta1/snippet_metadata.google.cloud.securitycenter.settings.v1beta1.json b/internal/generated/snippets/securitycenter/settings/apiv1beta1/snippet_metadata.google.cloud.securitycenter.settings.v1beta1.json index e61e684d460..06567c370ed 100644 --- a/internal/generated/snippets/securitycenter/settings/apiv1beta1/snippet_metadata.google.cloud.securitycenter.settings.v1beta1.json +++ b/internal/generated/snippets/securitycenter/settings/apiv1beta1/snippet_metadata.google.cloud.securitycenter.settings.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/securitycenter/settings/apiv1beta1", - "version": "1.22.0", + "version": "1.22.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/servicecontrol/apiv1/snippet_metadata.google.api.servicecontrol.v1.json b/internal/generated/snippets/servicecontrol/apiv1/snippet_metadata.google.api.servicecontrol.v1.json index 5693e5375c6..a9543e55487 100644 --- a/internal/generated/snippets/servicecontrol/apiv1/snippet_metadata.google.api.servicecontrol.v1.json +++ b/internal/generated/snippets/servicecontrol/apiv1/snippet_metadata.google.api.servicecontrol.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/servicecontrol/apiv1", - "version": "1.12.0", + "version": "1.12.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/servicedirectory/apiv1/snippet_metadata.google.cloud.servicedirectory.v1.json b/internal/generated/snippets/servicedirectory/apiv1/snippet_metadata.google.cloud.servicedirectory.v1.json index 4dc411c2244..39d2f9322e9 100644 --- a/internal/generated/snippets/servicedirectory/apiv1/snippet_metadata.google.cloud.servicedirectory.v1.json +++ b/internal/generated/snippets/servicedirectory/apiv1/snippet_metadata.google.cloud.servicedirectory.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/servicedirectory/apiv1", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/servicedirectory/apiv1beta1/snippet_metadata.google.cloud.servicedirectory.v1beta1.json b/internal/generated/snippets/servicedirectory/apiv1beta1/snippet_metadata.google.cloud.servicedirectory.v1beta1.json index d12057e73b0..2b94b26bb34 100644 --- a/internal/generated/snippets/servicedirectory/apiv1beta1/snippet_metadata.google.cloud.servicedirectory.v1beta1.json +++ b/internal/generated/snippets/servicedirectory/apiv1beta1/snippet_metadata.google.cloud.servicedirectory.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/servicedirectory/apiv1beta1", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/servicemanagement/apiv1/ServiceManagerClient/GetIamPolicy/main.go b/internal/generated/snippets/servicemanagement/apiv1/ServiceManagerClient/GetIamPolicy/main.go new file mode 100644 index 00000000000..573bde27ae1 --- /dev/null +++ b/internal/generated/snippets/servicemanagement/apiv1/ServiceManagerClient/GetIamPolicy/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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 +// +// https://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_gapic. DO NOT EDIT. + +// [START servicemanagement_v1_generated_ServiceManager_GetIamPolicy_sync] + +package main + +import ( + "context" + + iampb "cloud.google.com/go/iam/apiv1/iampb" + servicemanagement "cloud.google.com/go/servicemanagement/apiv1" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := servicemanagement.NewServiceManagerClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.GetIamPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. + } + resp, err := c.GetIamPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END servicemanagement_v1_generated_ServiceManager_GetIamPolicy_sync] diff --git a/internal/generated/snippets/servicemanagement/apiv1/ServiceManagerClient/ListOperations/main.go b/internal/generated/snippets/servicemanagement/apiv1/ServiceManagerClient/ListOperations/main.go new file mode 100644 index 00000000000..5c2fddc47e2 --- /dev/null +++ b/internal/generated/snippets/servicemanagement/apiv1/ServiceManagerClient/ListOperations/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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 +// +// https://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_gapic. DO NOT EDIT. + +// [START servicemanagement_v1_generated_ServiceManager_ListOperations_sync] + +package main + +import ( + "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + servicemanagement "cloud.google.com/go/servicemanagement/apiv1" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := servicemanagement.NewServiceManagerClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END servicemanagement_v1_generated_ServiceManager_ListOperations_sync] diff --git a/internal/generated/snippets/servicemanagement/apiv1/ServiceManagerClient/SetIamPolicy/main.go b/internal/generated/snippets/servicemanagement/apiv1/ServiceManagerClient/SetIamPolicy/main.go new file mode 100644 index 00000000000..c702af6875f --- /dev/null +++ b/internal/generated/snippets/servicemanagement/apiv1/ServiceManagerClient/SetIamPolicy/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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 +// +// https://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_gapic. DO NOT EDIT. + +// [START servicemanagement_v1_generated_ServiceManager_SetIamPolicy_sync] + +package main + +import ( + "context" + + iampb "cloud.google.com/go/iam/apiv1/iampb" + servicemanagement "cloud.google.com/go/servicemanagement/apiv1" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := servicemanagement.NewServiceManagerClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.SetIamPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. + } + resp, err := c.SetIamPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END servicemanagement_v1_generated_ServiceManager_SetIamPolicy_sync] diff --git a/internal/generated/snippets/servicemanagement/apiv1/ServiceManagerClient/TestIamPermissions/main.go b/internal/generated/snippets/servicemanagement/apiv1/ServiceManagerClient/TestIamPermissions/main.go new file mode 100644 index 00000000000..06e52fde633 --- /dev/null +++ b/internal/generated/snippets/servicemanagement/apiv1/ServiceManagerClient/TestIamPermissions/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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 +// +// https://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_gapic. DO NOT EDIT. + +// [START servicemanagement_v1_generated_ServiceManager_TestIamPermissions_sync] + +package main + +import ( + "context" + + iampb "cloud.google.com/go/iam/apiv1/iampb" + servicemanagement "cloud.google.com/go/servicemanagement/apiv1" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := servicemanagement.NewServiceManagerClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.TestIamPermissionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. + } + resp, err := c.TestIamPermissions(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END servicemanagement_v1_generated_ServiceManager_TestIamPermissions_sync] diff --git a/internal/generated/snippets/servicemanagement/apiv1/snippet_metadata.google.api.servicemanagement.v1.json b/internal/generated/snippets/servicemanagement/apiv1/snippet_metadata.google.api.servicemanagement.v1.json index 7cc0a1a5fe6..a680c237f58 100644 --- a/internal/generated/snippets/servicemanagement/apiv1/snippet_metadata.google.api.servicemanagement.v1.json +++ b/internal/generated/snippets/servicemanagement/apiv1/snippet_metadata.google.api.servicemanagement.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/servicemanagement/apiv1", - "version": "1.9.0", + "version": "1.9.1", "language": "GO", "apis": [ { @@ -241,6 +241,52 @@ } ] }, + { + "regionTag": "servicemanagement_v1_generated_ServiceManager_GetIamPolicy_sync", + "title": "servicemanagement GetIamPolicy Sample", + "description": "GetIamPolicy gets the access control policy for a resource. Returns an empty policy\nif the resource exists and does not have a policy set.", + "file": "ServiceManagerClient/GetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.api.servicemanagement.v1.ServiceManagerClient.GetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.GetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "ServiceManagerClient", + "fullName": "google.api.servicemanagement.v1.ServiceManagerClient" + }, + "method": { + "shortName": "GetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", + "service": { + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, { "regionTag": "servicemanagement_v1_generated_ServiceManager_GetService_sync", "title": "servicemanagement GetService Sample", @@ -379,6 +425,52 @@ } ] }, + { + "regionTag": "servicemanagement_v1_generated_ServiceManager_ListOperations_sync", + "title": "servicemanagement ListOperations Sample", + "description": "ListOperations lists service operations that match the specified filter in the request.", + "file": "ServiceManagerClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.api.servicemanagement.v1.ServiceManagerClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "ServiceManagerClient", + "fullName": "google.api.servicemanagement.v1.ServiceManagerClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, { "regionTag": "servicemanagement_v1_generated_ServiceManager_ListServiceConfigs_sync", "title": "servicemanagement ListServiceConfigs Sample", @@ -517,6 +609,52 @@ } ] }, + { + "regionTag": "servicemanagement_v1_generated_ServiceManager_SetIamPolicy_sync", + "title": "servicemanagement SetIamPolicy Sample", + "description": "SetIamPolicy sets the access control policy on the specified resource. Replaces\nany existing policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`\nerrors.", + "file": "ServiceManagerClient/SetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.api.servicemanagement.v1.ServiceManagerClient.SetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.SetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "ServiceManagerClient", + "fullName": "google.api.servicemanagement.v1.ServiceManagerClient" + }, + "method": { + "shortName": "SetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", + "service": { + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, { "regionTag": "servicemanagement_v1_generated_ServiceManager_SubmitConfigSource_sync", "title": "servicemanagement SubmitConfigSource Sample", @@ -563,6 +701,52 @@ } ] }, + { + "regionTag": "servicemanagement_v1_generated_ServiceManager_TestIamPermissions_sync", + "title": "servicemanagement TestIamPermissions Sample", + "description": "TestIamPermissions returns permissions that a caller has on the specified resource. If the\nresource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building\npermission-aware UIs and command-line tools, not for authorization\nchecking. This operation may \"fail open\" without warning.", + "file": "ServiceManagerClient/TestIamPermissions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.api.servicemanagement.v1.ServiceManagerClient.TestIamPermissions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.TestIamPermissionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.TestIamPermissionsResponse", + "client": { + "shortName": "ServiceManagerClient", + "fullName": "google.api.servicemanagement.v1.ServiceManagerClient" + }, + "method": { + "shortName": "TestIamPermissions", + "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", + "service": { + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, { "regionTag": "servicemanagement_v1_generated_ServiceManager_UndeleteService_sync", "title": "servicemanagement UndeleteService Sample", diff --git a/internal/generated/snippets/serviceusage/apiv1/snippet_metadata.google.api.serviceusage.v1.json b/internal/generated/snippets/serviceusage/apiv1/snippet_metadata.google.api.serviceusage.v1.json index 6ef25b333d4..0458a3146c2 100644 --- a/internal/generated/snippets/serviceusage/apiv1/snippet_metadata.google.api.serviceusage.v1.json +++ b/internal/generated/snippets/serviceusage/apiv1/snippet_metadata.google.api.serviceusage.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/serviceusage/apiv1", - "version": "1.7.0", + "version": "1.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/shell/apiv1/snippet_metadata.google.cloud.shell.v1.json b/internal/generated/snippets/shell/apiv1/snippet_metadata.google.cloud.shell.v1.json index 7d6feb16834..a1524d86d7d 100644 --- a/internal/generated/snippets/shell/apiv1/snippet_metadata.google.cloud.shell.v1.json +++ b/internal/generated/snippets/shell/apiv1/snippet_metadata.google.cloud.shell.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/shell/apiv1", - "version": "1.7.0", + "version": "1.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/speech/apiv1/snippet_metadata.google.cloud.speech.v1.json b/internal/generated/snippets/speech/apiv1/snippet_metadata.google.cloud.speech.v1.json index 672b24217a0..5aaf8c20c22 100644 --- a/internal/generated/snippets/speech/apiv1/snippet_metadata.google.cloud.speech.v1.json +++ b/internal/generated/snippets/speech/apiv1/snippet_metadata.google.cloud.speech.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/speech/apiv1", - "version": "1.17.0", + "version": "1.17.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/speech/apiv1p1beta1/snippet_metadata.google.cloud.speech.v1p1beta1.json b/internal/generated/snippets/speech/apiv1p1beta1/snippet_metadata.google.cloud.speech.v1p1beta1.json index 50b8e8fb47a..a7160acc91d 100644 --- a/internal/generated/snippets/speech/apiv1p1beta1/snippet_metadata.google.cloud.speech.v1p1beta1.json +++ b/internal/generated/snippets/speech/apiv1p1beta1/snippet_metadata.google.cloud.speech.v1p1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/speech/apiv1p1beta1", - "version": "1.17.0", + "version": "1.17.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/speech/apiv2/snippet_metadata.google.cloud.speech.v2.json b/internal/generated/snippets/speech/apiv2/snippet_metadata.google.cloud.speech.v2.json index 77a601ff589..d13cf46a779 100644 --- a/internal/generated/snippets/speech/apiv2/snippet_metadata.google.cloud.speech.v2.json +++ b/internal/generated/snippets/speech/apiv2/snippet_metadata.google.cloud.speech.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/speech/apiv2", - "version": "1.17.0", + "version": "1.17.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/storageinsights/apiv1/snippet_metadata.google.cloud.storageinsights.v1.json b/internal/generated/snippets/storageinsights/apiv1/snippet_metadata.google.cloud.storageinsights.v1.json index 4d96bfce9a6..3e14866bd15 100644 --- a/internal/generated/snippets/storageinsights/apiv1/snippet_metadata.google.cloud.storageinsights.v1.json +++ b/internal/generated/snippets/storageinsights/apiv1/snippet_metadata.google.cloud.storageinsights.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/storageinsights/apiv1", - "version": "0.2.1", + "version": "0.2.2", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/storagetransfer/apiv1/snippet_metadata.google.storagetransfer.v1.json b/internal/generated/snippets/storagetransfer/apiv1/snippet_metadata.google.storagetransfer.v1.json index 2eeb3104af4..08e7519123e 100644 --- a/internal/generated/snippets/storagetransfer/apiv1/snippet_metadata.google.storagetransfer.v1.json +++ b/internal/generated/snippets/storagetransfer/apiv1/snippet_metadata.google.storagetransfer.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/storagetransfer/apiv1", - "version": "1.9.0", + "version": "1.9.1", "language": "GO", "apis": [ { @@ -653,7 +653,7 @@ { "regionTag": "storagetransfer_v1_generated_StorageTransferService_RunTransferJob_sync", "title": "storagetransfer RunTransferJob Sample", - "description": "RunTransferJob attempts to start a new TransferOperation for the current TransferJob. A\nTransferJob has a maximum of one active TransferOperation. If this method\nis called while a TransferOperation is active, an error will be returned.", + "description": "RunTransferJob starts a new operation for the specified transfer job.\nA `TransferJob` has a maximum of one active `TransferOperation`. If this\nmethod is called while a `TransferOperation` is active, an error is\nreturned.", "file": "Client/RunTransferJob/main.go", "language": "GO", "clientMethod": { @@ -745,7 +745,7 @@ { "regionTag": "storagetransfer_v1_generated_StorageTransferService_UpdateTransferJob_sync", "title": "storagetransfer UpdateTransferJob Sample", - "description": "UpdateTransferJob updates a transfer job. Updating a job's transfer spec does not affect\ntransfer operations that are running already.\n\n**Note: ** The job's [status][google.storagetransfer.v1.TransferJob.status] field can be modified\nusing this RPC (for example, to set a job's status to\n[DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED],\n[DISABLED][google.storagetransfer.v1.TransferJob.Status.DISABLED], or\n[ENABLED][google.storagetransfer.v1.TransferJob.Status.ENABLED]).", + "description": "UpdateTransferJob updates a transfer job. Updating a job's transfer spec does not affect\ntransfer operations that are running already.\n\n**Note: ** The job's [status][google.storagetransfer.v1.TransferJob.status]\nfield can be modified using this RPC (for example, to set a job's status to\n[DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED],\n[DISABLED][google.storagetransfer.v1.TransferJob.Status.DISABLED], or\n[ENABLED][google.storagetransfer.v1.TransferJob.Status.ENABLED]).", "file": "Client/UpdateTransferJob/main.go", "language": "GO", "clientMethod": { diff --git a/internal/generated/snippets/support/apiv2/snippet_metadata.google.cloud.support.v2.json b/internal/generated/snippets/support/apiv2/snippet_metadata.google.cloud.support.v2.json index bc4fbe7411d..20f655d7193 100644 --- a/internal/generated/snippets/support/apiv2/snippet_metadata.google.cloud.support.v2.json +++ b/internal/generated/snippets/support/apiv2/snippet_metadata.google.cloud.support.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/support/apiv2", - "version": "0.2.1", + "version": "0.2.2", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/talent/apiv4/snippet_metadata.google.cloud.talent.v4.json b/internal/generated/snippets/talent/apiv4/snippet_metadata.google.cloud.talent.v4.json index 7224e5697fc..4402a746c10 100644 --- a/internal/generated/snippets/talent/apiv4/snippet_metadata.google.cloud.talent.v4.json +++ b/internal/generated/snippets/talent/apiv4/snippet_metadata.google.cloud.talent.v4.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/talent/apiv4", - "version": "1.6.1", + "version": "1.6.2", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/talent/apiv4beta1/snippet_metadata.google.cloud.talent.v4beta1.json b/internal/generated/snippets/talent/apiv4beta1/snippet_metadata.google.cloud.talent.v4beta1.json index a56fd7a87f1..a82858eca08 100644 --- a/internal/generated/snippets/talent/apiv4beta1/snippet_metadata.google.cloud.talent.v4beta1.json +++ b/internal/generated/snippets/talent/apiv4beta1/snippet_metadata.google.cloud.talent.v4beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/talent/apiv4beta1", - "version": "1.6.1", + "version": "1.6.2", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/texttospeech/apiv1/snippet_metadata.google.cloud.texttospeech.v1.json b/internal/generated/snippets/texttospeech/apiv1/snippet_metadata.google.cloud.texttospeech.v1.json index 69567f83e77..e822d1a48f7 100644 --- a/internal/generated/snippets/texttospeech/apiv1/snippet_metadata.google.cloud.texttospeech.v1.json +++ b/internal/generated/snippets/texttospeech/apiv1/snippet_metadata.google.cloud.texttospeech.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/texttospeech/apiv1", - "version": "1.7.0", + "version": "1.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/tpu/apiv1/snippet_metadata.google.cloud.tpu.v1.json b/internal/generated/snippets/tpu/apiv1/snippet_metadata.google.cloud.tpu.v1.json index 6ad996debcb..60974467a50 100644 --- a/internal/generated/snippets/tpu/apiv1/snippet_metadata.google.cloud.tpu.v1.json +++ b/internal/generated/snippets/tpu/apiv1/snippet_metadata.google.cloud.tpu.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/tpu/apiv1", - "version": "1.6.0", + "version": "1.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/trace/apiv1/snippet_metadata.google.devtools.cloudtrace.v1.json b/internal/generated/snippets/trace/apiv1/snippet_metadata.google.devtools.cloudtrace.v1.json index 6c242189f64..73172874f1a 100644 --- a/internal/generated/snippets/trace/apiv1/snippet_metadata.google.devtools.cloudtrace.v1.json +++ b/internal/generated/snippets/trace/apiv1/snippet_metadata.google.devtools.cloudtrace.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/trace/apiv1", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/trace/apiv2/snippet_metadata.google.devtools.cloudtrace.v2.json b/internal/generated/snippets/trace/apiv2/snippet_metadata.google.devtools.cloudtrace.v2.json index b4bbc6b2d1b..26bb917a688 100644 --- a/internal/generated/snippets/trace/apiv2/snippet_metadata.google.devtools.cloudtrace.v2.json +++ b/internal/generated/snippets/trace/apiv2/snippet_metadata.google.devtools.cloudtrace.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/trace/apiv2", - "version": "1.10.0", + "version": "1.10.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/translate/apiv3/snippet_metadata.google.cloud.translation.v3.json b/internal/generated/snippets/translate/apiv3/snippet_metadata.google.cloud.translation.v3.json index 7fb4bd1c3a5..32452942cab 100644 --- a/internal/generated/snippets/translate/apiv3/snippet_metadata.google.cloud.translation.v3.json +++ b/internal/generated/snippets/translate/apiv3/snippet_metadata.google.cloud.translation.v3.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/translate/apiv3", - "version": "1.8.0", + "version": "1.8.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/video/livestream/apiv1/snippet_metadata.google.cloud.video.livestream.v1.json b/internal/generated/snippets/video/livestream/apiv1/snippet_metadata.google.cloud.video.livestream.v1.json index 30e723e65c7..9757e9b24a2 100644 --- a/internal/generated/snippets/video/livestream/apiv1/snippet_metadata.google.cloud.video.livestream.v1.json +++ b/internal/generated/snippets/video/livestream/apiv1/snippet_metadata.google.cloud.video.livestream.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/video/livestream/apiv1", - "version": "1.17.0", + "version": "1.17.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/video/transcoder/apiv1/snippet_metadata.google.cloud.video.transcoder.v1.json b/internal/generated/snippets/video/transcoder/apiv1/snippet_metadata.google.cloud.video.transcoder.v1.json index 647bed69f3c..2f1dd874950 100644 --- a/internal/generated/snippets/video/transcoder/apiv1/snippet_metadata.google.cloud.video.transcoder.v1.json +++ b/internal/generated/snippets/video/transcoder/apiv1/snippet_metadata.google.cloud.video.transcoder.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/video/transcoder/apiv1", - "version": "1.17.0", + "version": "1.17.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/videointelligence/apiv1/snippet_metadata.google.cloud.videointelligence.v1.json b/internal/generated/snippets/videointelligence/apiv1/snippet_metadata.google.cloud.videointelligence.v1.json index 35a7df72032..2cd54d48488 100644 --- a/internal/generated/snippets/videointelligence/apiv1/snippet_metadata.google.cloud.videointelligence.v1.json +++ b/internal/generated/snippets/videointelligence/apiv1/snippet_metadata.google.cloud.videointelligence.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/videointelligence/apiv1", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/videointelligence/apiv1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json b/internal/generated/snippets/videointelligence/apiv1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json index 4ae04b328f8..317144cd6ea 100644 --- a/internal/generated/snippets/videointelligence/apiv1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json +++ b/internal/generated/snippets/videointelligence/apiv1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/videointelligence/apiv1beta2", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/videointelligence/apiv1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json b/internal/generated/snippets/videointelligence/apiv1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json index 18b45966678..5e2135475b1 100644 --- a/internal/generated/snippets/videointelligence/apiv1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json +++ b/internal/generated/snippets/videointelligence/apiv1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/videointelligence/apiv1p3beta1", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/vision/apiv1/snippet_metadata.google.cloud.vision.v1.json b/internal/generated/snippets/vision/apiv1/snippet_metadata.google.cloud.vision.v1.json index a3b5aeabf42..e103f30a54c 100644 --- a/internal/generated/snippets/vision/apiv1/snippet_metadata.google.cloud.vision.v1.json +++ b/internal/generated/snippets/vision/apiv1/snippet_metadata.google.cloud.vision.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/vision/v2/apiv1", - "version": "2.7.1", + "version": "2.7.2", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/vision/apiv1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json b/internal/generated/snippets/vision/apiv1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json index 285585de102..5cacc0e3767 100644 --- a/internal/generated/snippets/vision/apiv1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json +++ b/internal/generated/snippets/vision/apiv1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/vision/v2/apiv1p1beta1", - "version": "2.7.1", + "version": "2.7.2", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/vmmigration/apiv1/snippet_metadata.google.cloud.vmmigration.v1.json b/internal/generated/snippets/vmmigration/apiv1/snippet_metadata.google.cloud.vmmigration.v1.json index 63fbe5a05f6..91000e3718e 100644 --- a/internal/generated/snippets/vmmigration/apiv1/snippet_metadata.google.cloud.vmmigration.v1.json +++ b/internal/generated/snippets/vmmigration/apiv1/snippet_metadata.google.cloud.vmmigration.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/vmmigration/apiv1", - "version": "1.7.0", + "version": "1.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/vmwareengine/apiv1/snippet_metadata.google.cloud.vmwareengine.v1.json b/internal/generated/snippets/vmwareengine/apiv1/snippet_metadata.google.cloud.vmwareengine.v1.json index ffc9916596c..e074e383a52 100644 --- a/internal/generated/snippets/vmwareengine/apiv1/snippet_metadata.google.cloud.vmwareengine.v1.json +++ b/internal/generated/snippets/vmwareengine/apiv1/snippet_metadata.google.cloud.vmwareengine.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/vmwareengine/apiv1", - "version": "0.4.0", + "version": "0.4.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/vpcaccess/apiv1/snippet_metadata.google.cloud.vpcaccess.v1.json b/internal/generated/snippets/vpcaccess/apiv1/snippet_metadata.google.cloud.vpcaccess.v1.json index 9f49a07d700..50d5447ca4c 100644 --- a/internal/generated/snippets/vpcaccess/apiv1/snippet_metadata.google.cloud.vpcaccess.v1.json +++ b/internal/generated/snippets/vpcaccess/apiv1/snippet_metadata.google.cloud.vpcaccess.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/vpcaccess/apiv1", - "version": "1.7.0", + "version": "1.7.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/webrisk/apiv1/snippet_metadata.google.cloud.webrisk.v1.json b/internal/generated/snippets/webrisk/apiv1/snippet_metadata.google.cloud.webrisk.v1.json index 1a6d0d5f927..ed4a40b0aef 100644 --- a/internal/generated/snippets/webrisk/apiv1/snippet_metadata.google.cloud.webrisk.v1.json +++ b/internal/generated/snippets/webrisk/apiv1/snippet_metadata.google.cloud.webrisk.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/webrisk/apiv1", - "version": "1.9.0", + "version": "1.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/webrisk/apiv1beta1/snippet_metadata.google.cloud.webrisk.v1beta1.json b/internal/generated/snippets/webrisk/apiv1beta1/snippet_metadata.google.cloud.webrisk.v1beta1.json index 6d7776d0953..10e67679cc7 100644 --- a/internal/generated/snippets/webrisk/apiv1beta1/snippet_metadata.google.cloud.webrisk.v1beta1.json +++ b/internal/generated/snippets/webrisk/apiv1beta1/snippet_metadata.google.cloud.webrisk.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/webrisk/apiv1beta1", - "version": "1.9.0", + "version": "1.9.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/websecurityscanner/apiv1/snippet_metadata.google.cloud.websecurityscanner.v1.json b/internal/generated/snippets/websecurityscanner/apiv1/snippet_metadata.google.cloud.websecurityscanner.v1.json index 8c6923ffbb1..8e51d1f4ede 100644 --- a/internal/generated/snippets/websecurityscanner/apiv1/snippet_metadata.google.cloud.websecurityscanner.v1.json +++ b/internal/generated/snippets/websecurityscanner/apiv1/snippet_metadata.google.cloud.websecurityscanner.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/websecurityscanner/apiv1", - "version": "1.6.0", + "version": "1.6.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/workflows/apiv1/snippet_metadata.google.cloud.workflows.v1.json b/internal/generated/snippets/workflows/apiv1/snippet_metadata.google.cloud.workflows.v1.json index 9da8c215d8b..b8fe91701d6 100644 --- a/internal/generated/snippets/workflows/apiv1/snippet_metadata.google.cloud.workflows.v1.json +++ b/internal/generated/snippets/workflows/apiv1/snippet_metadata.google.cloud.workflows.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/workflows/apiv1", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/workflows/apiv1beta/snippet_metadata.google.cloud.workflows.v1beta.json b/internal/generated/snippets/workflows/apiv1beta/snippet_metadata.google.cloud.workflows.v1beta.json index 49384ced657..0c41b5cc2f9 100644 --- a/internal/generated/snippets/workflows/apiv1beta/snippet_metadata.google.cloud.workflows.v1beta.json +++ b/internal/generated/snippets/workflows/apiv1beta/snippet_metadata.google.cloud.workflows.v1beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/workflows/apiv1beta", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/workflows/executions/apiv1/snippet_metadata.google.cloud.workflows.executions.v1.json b/internal/generated/snippets/workflows/executions/apiv1/snippet_metadata.google.cloud.workflows.executions.v1.json index c0ebd942ec1..3dc5f6de74e 100644 --- a/internal/generated/snippets/workflows/executions/apiv1/snippet_metadata.google.cloud.workflows.executions.v1.json +++ b/internal/generated/snippets/workflows/executions/apiv1/snippet_metadata.google.cloud.workflows.executions.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/workflows/executions/apiv1", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/workflows/executions/apiv1beta/snippet_metadata.google.cloud.workflows.executions.v1beta.json b/internal/generated/snippets/workflows/executions/apiv1beta/snippet_metadata.google.cloud.workflows.executions.v1beta.json index a2a19c6da21..f1242015d3a 100644 --- a/internal/generated/snippets/workflows/executions/apiv1beta/snippet_metadata.google.cloud.workflows.executions.v1beta.json +++ b/internal/generated/snippets/workflows/executions/apiv1beta/snippet_metadata.google.cloud.workflows.executions.v1beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/workflows/executions/apiv1beta", - "version": "1.11.0", + "version": "1.11.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/workstations/apiv1/snippet_metadata.google.cloud.workstations.v1.json b/internal/generated/snippets/workstations/apiv1/snippet_metadata.google.cloud.workstations.v1.json index a8c2213c0c0..ceb1866bb0f 100644 --- a/internal/generated/snippets/workstations/apiv1/snippet_metadata.google.cloud.workstations.v1.json +++ b/internal/generated/snippets/workstations/apiv1/snippet_metadata.google.cloud.workstations.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/workstations/apiv1", - "version": "0.4.0", + "version": "0.4.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/workstations/apiv1beta/snippet_metadata.google.cloud.workstations.v1beta.json b/internal/generated/snippets/workstations/apiv1beta/snippet_metadata.google.cloud.workstations.v1beta.json index a514e9ede05..6b59d63a12e 100644 --- a/internal/generated/snippets/workstations/apiv1beta/snippet_metadata.google.cloud.workstations.v1beta.json +++ b/internal/generated/snippets/workstations/apiv1beta/snippet_metadata.google.cloud.workstations.v1beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/workstations/apiv1beta", - "version": "0.4.0", + "version": "0.4.1", "language": "GO", "apis": [ { diff --git a/pubsub/apiv1/pubsubpb/pubsub.pb.go b/pubsub/apiv1/pubsubpb/pubsub.pb.go index a2a600bebcc..30cf6536a84 100755 --- a/pubsub/apiv1/pubsubpb/pubsub.pb.go +++ b/pubsub/apiv1/pubsubpb/pubsub.pb.go @@ -2109,7 +2109,8 @@ type CloudStorageConfig struct { // requirements](https://cloud.google.com/storage/docs/objects#naming). FilenamePrefix string `protobuf:"bytes,2,opt,name=filename_prefix,json=filenamePrefix,proto3" json:"filename_prefix,omitempty"` // User-provided suffix for Cloud Storage filename. See the [object naming - // requirements](https://cloud.google.com/storage/docs/objects#naming). + // requirements](https://cloud.google.com/storage/docs/objects#naming). Must + // not end in "/". FilenameSuffix string `protobuf:"bytes,3,opt,name=filename_suffix,json=filenameSuffix,proto3" json:"filename_suffix,omitempty"` // Defaults to text format. // diff --git a/servicemanagement/apiv1/gapic_metadata.json b/servicemanagement/apiv1/gapic_metadata.json index 483fa99eced..0d8e1935ecc 100644 --- a/servicemanagement/apiv1/gapic_metadata.json +++ b/servicemanagement/apiv1/gapic_metadata.json @@ -35,6 +35,11 @@ "GenerateConfigReport" ] }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, "GetService": { "methods": [ "GetService" @@ -50,6 +55,11 @@ "GetServiceRollout" ] }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, "ListServiceConfigs": { "methods": [ "ListServiceConfigs" @@ -65,11 +75,21 @@ "ListServices" ] }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, "SubmitConfigSource": { "methods": [ "SubmitConfigSource" ] }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, "UndeleteService": { "methods": [ "UndeleteService" @@ -105,6 +125,11 @@ "GenerateConfigReport" ] }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, "GetService": { "methods": [ "GetService" @@ -120,6 +145,11 @@ "GetServiceRollout" ] }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, "ListServiceConfigs": { "methods": [ "ListServiceConfigs" @@ -135,11 +165,21 @@ "ListServices" ] }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, "SubmitConfigSource": { "methods": [ "SubmitConfigSource" ] }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, "UndeleteService": { "methods": [ "UndeleteService" diff --git a/servicemanagement/apiv1/service_manager_client.go b/servicemanagement/apiv1/service_manager_client.go index cca09363a17..d415e35b60b 100755 --- a/servicemanagement/apiv1/service_manager_client.go +++ b/servicemanagement/apiv1/service_manager_client.go @@ -26,6 +26,7 @@ import ( "net/url" "time" + iampb "cloud.google.com/go/iam/apiv1/iampb" "cloud.google.com/go/longrunning" lroauto "cloud.google.com/go/longrunning/autogen" longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" @@ -61,6 +62,10 @@ type ServiceManagerCallOptions struct { GetServiceRollout []gax.CallOption CreateServiceRollout []gax.CallOption GenerateConfigReport []gax.CallOption + GetIamPolicy []gax.CallOption + SetIamPolicy []gax.CallOption + TestIamPermissions []gax.CallOption + ListOperations []gax.CallOption } func defaultServiceManagerGRPCClientOptions() []option.ClientOption { @@ -116,6 +121,10 @@ func defaultServiceManagerCallOptions() *ServiceManagerCallOptions { GenerateConfigReport: []gax.CallOption{ gax.WithTimeout(10000 * time.Millisecond), }, + GetIamPolicy: []gax.CallOption{}, + SetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, } } @@ -160,6 +169,10 @@ func defaultServiceManagerRESTCallOptions() *ServiceManagerCallOptions { GenerateConfigReport: []gax.CallOption{ gax.WithTimeout(10000 * time.Millisecond), }, + GetIamPolicy: []gax.CallOption{}, + SetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, } } @@ -186,6 +199,10 @@ type internalServiceManagerClient interface { CreateServiceRollout(context.Context, *servicemanagementpb.CreateServiceRolloutRequest, ...gax.CallOption) (*CreateServiceRolloutOperation, error) CreateServiceRolloutOperation(name string) *CreateServiceRolloutOperation GenerateConfigReport(context.Context, *servicemanagementpb.GenerateConfigReportRequest, ...gax.CallOption) (*servicemanagementpb.GenerateConfigReportResponse, error) + GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) + SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) + TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest, ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) + ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator } // ServiceManagerClient is a client for interacting with Service Management API. @@ -397,6 +414,37 @@ func (c *ServiceManagerClient) GenerateConfigReport(ctx context.Context, req *se return c.internalClient.GenerateConfigReport(ctx, req, opts...) } +// GetIamPolicy gets the access control policy for a resource. Returns an empty policy +// if the resource exists and does not have a policy set. +func (c *ServiceManagerClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + return c.internalClient.GetIamPolicy(ctx, req, opts...) +} + +// SetIamPolicy sets the access control policy on the specified resource. Replaces +// any existing policy. +// +// Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED +// errors. +func (c *ServiceManagerClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + return c.internalClient.SetIamPolicy(ctx, req, opts...) +} + +// TestIamPermissions returns permissions that a caller has on the specified resource. If the +// resource does not exist, this will return an empty set of +// permissions, not a NOT_FOUND error. +// +// Note: This operation is designed to be used for building +// permission-aware UIs and command-line tools, not for authorization +// checking. This operation may “fail open” without warning. +func (c *ServiceManagerClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + return c.internalClient.TestIamPermissions(ctx, req, opts...) +} + +// ListOperations lists service operations that match the specified filter in the request. +func (c *ServiceManagerClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + // serviceManagerGRPCClient is a client for interacting with Service Management API over gRPC transport. // // Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. @@ -415,6 +463,10 @@ type serviceManagerGRPCClient struct { // Users should not Close this client. LROClient **lroauto.OperationsClient + operationsClient longrunningpb.OperationsClient + + iamPolicyClient iampb.IAMPolicyClient + // The x-goog-* metadata to be sent with each request. xGoogMetadata metadata.MD } @@ -444,6 +496,8 @@ func NewServiceManagerClient(ctx context.Context, opts ...option.ClientOption) ( connPool: connPool, serviceManagerClient: servicemanagementpb.NewServiceManagerClient(connPool), CallOptions: &client.CallOptions, + operationsClient: longrunningpb.NewOperationsClient(connPool), + iamPolicyClient: iampb.NewIAMPolicyClient(connPool), } c.setGoogleClientInfo() @@ -879,6 +933,100 @@ func (c *serviceManagerGRPCClient) GenerateConfigReport(ctx context.Context, req return resp, nil } +func (c *serviceManagerGRPCClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...) + var resp *iampb.Policy + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.iamPolicyClient.GetIamPolicy(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *serviceManagerGRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...) + var resp *iampb.Policy + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.iamPolicyClient.SetIamPolicy(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *serviceManagerGRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...) + var resp *iampb.TestIamPermissionsResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.iamPolicyClient.TestIamPermissions(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *serviceManagerGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + ctx = insertMetadata(ctx, c.xGoogMetadata) + opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.ListOperations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + // ListServices lists managed services. // // Returns all public services. For authenticated users, also returns all @@ -1855,6 +2003,303 @@ func (c *serviceManagerRESTClient) GenerateConfigReport(ctx context.Context, req return resp, nil } +// GetIamPolicy gets the access control policy for a resource. Returns an empty policy +// if the resource exists and does not have a policy set. +func (c *serviceManagerRESTClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:getIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &iampb.Policy{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// SetIamPolicy sets the access control policy on the specified resource. Replaces +// any existing policy. +// +// Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED +// errors. +func (c *serviceManagerRESTClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:setIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &iampb.Policy{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// TestIamPermissions returns permissions that a caller has on the specified resource. If the +// resource does not exist, this will return an empty set of +// permissions, not a NOT_FOUND error. +// +// Note: This operation is designed to be used for building +// permission-aware UIs and command-line tools, not for authorization +// checking. This operation may “fail open” without warning. +func (c *serviceManagerRESTClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:testIamPermissions", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &iampb.TestIamPermissionsResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations lists service operations that match the specified filter in the request. +func (c *serviceManagerRESTClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/operations") + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetName() != "" { + params.Add("name", fmt.Sprintf("%v", req.GetName())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + // CreateServiceOperation manages a long-running operation from CreateService. type CreateServiceOperation struct { lro *longrunning.Operation @@ -2301,6 +2746,53 @@ func (it *ManagedServiceIterator) takeBuf() interface{} { return b } +// OperationIterator manages a stream of *longrunningpb.Operation. +type OperationIterator struct { + items []*longrunningpb.Operation + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*longrunningpb.Operation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *OperationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *OperationIterator) Next() (*longrunningpb.Operation, error) { + var item *longrunningpb.Operation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *OperationIterator) bufLen() int { + return len(it.items) +} + +func (it *OperationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + // RolloutIterator manages a stream of *servicemanagementpb.Rollout. type RolloutIterator struct { items []*servicemanagementpb.Rollout diff --git a/servicemanagement/apiv1/service_manager_client_example_test.go b/servicemanagement/apiv1/service_manager_client_example_test.go index 0c287b5c197..e4d3943755c 100644 --- a/servicemanagement/apiv1/service_manager_client_example_test.go +++ b/servicemanagement/apiv1/service_manager_client_example_test.go @@ -19,6 +19,8 @@ package servicemanagement_test import ( "context" + iampb "cloud.google.com/go/iam/apiv1/iampb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" servicemanagement "cloud.google.com/go/servicemanagement/apiv1" servicemanagementpb "cloud.google.com/go/servicemanagement/apiv1/servicemanagementpb" "google.golang.org/api/iterator" @@ -423,3 +425,109 @@ func ExampleServiceManagerClient_GenerateConfigReport() { // TODO: Use resp. _ = resp } + +func ExampleServiceManagerClient_GetIamPolicy() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := servicemanagement.NewServiceManagerClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.GetIamPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. + } + resp, err := c.GetIamPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleServiceManagerClient_SetIamPolicy() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := servicemanagement.NewServiceManagerClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.SetIamPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. + } + resp, err := c.SetIamPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleServiceManagerClient_TestIamPermissions() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := servicemanagement.NewServiceManagerClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.TestIamPermissionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. + } + resp, err := c.TestIamPermissions(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleServiceManagerClient_ListOperations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := servicemanagement.NewServiceManagerClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} diff --git a/servicemanagement/apiv1/servicemanagementpb/resources.pb.go b/servicemanagement/apiv1/servicemanagementpb/resources.pb.go index d90482ab63f..9ddd8225211 100755 --- a/servicemanagement/apiv1/servicemanagementpb/resources.pb.go +++ b/servicemanagement/apiv1/servicemanagementpb/resources.pb.go @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/servicemanagement/apiv1/servicemanagementpb/servicemanager.pb.go b/servicemanagement/apiv1/servicemanagementpb/servicemanager.pb.go index 1133ec9902e..9c0f47c9116 100755 --- a/servicemanagement/apiv1/servicemanagementpb/servicemanager.pb.go +++ b/servicemanagement/apiv1/servicemanagementpb/servicemanager.pb.go @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,6 +34,7 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" anypb "google.golang.org/protobuf/types/known/anypb" + _ "google.golang.org/protobuf/types/known/emptypb" ) const ( @@ -103,7 +104,7 @@ type ListServicesRequest struct { // Include services produced by the specified project. ProducerProjectId string `protobuf:"bytes,1,opt,name=producer_project_id,json=producerProjectId,proto3" json:"producer_project_id,omitempty"` // The max number of items to include in the response list. Page size is 50 - // if not specified. Maximum value is 100. + // if not specified. Maximum value is 500. PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // Token identifying which result to start with; returned by a previous list // call. @@ -343,8 +344,8 @@ type DeleteServiceRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the service. See the - // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For - // example: `example.googleapis.com`. + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` } @@ -394,8 +395,8 @@ type UndeleteServiceRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the service. See the - // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For - // example: `example.googleapis.com`. + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` } @@ -494,8 +495,8 @@ type GetServiceConfigRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the service. See the - // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For - // example: `example.googleapis.com`. + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // Required. The id of the service configuration resource. // @@ -567,8 +568,8 @@ type ListServiceConfigsRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the service. See the - // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For - // example: `example.googleapis.com`. + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The token of the page to retrieve. PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` @@ -695,8 +696,8 @@ type CreateServiceConfigRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the service. See the - // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For - // example: `example.googleapis.com`. + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // Required. The service configuration resource. ServiceConfig *serviceconfig.Service `protobuf:"bytes,2,opt,name=service_config,json=serviceConfig,proto3" json:"service_config,omitempty"` @@ -755,8 +756,8 @@ type SubmitConfigSourceRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the service. See the - // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For - // example: `example.googleapis.com`. + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // Required. The source configuration for the service. ConfigSource *ConfigSource `protobuf:"bytes,2,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` @@ -875,8 +876,8 @@ type CreateServiceRolloutRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the service. See the - // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For - // example: `example.googleapis.com`. + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // Required. The rollout resource. The `service_name` field is output only. Rollout *Rollout `protobuf:"bytes,2,opt,name=rollout,proto3" json:"rollout,omitempty"` @@ -935,8 +936,8 @@ type ListServiceRolloutsRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the service. See the - // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For - // example: `example.googleapis.com`. + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The token of the page to retrieve. PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` @@ -945,12 +946,14 @@ type ListServiceRolloutsRequest struct { PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // Required. Use `filter` to return subset of rollouts. // The following filters are supported: - // -- To limit the results to only those in - // status (google.api.servicemanagement.v1.RolloutStatus) 'SUCCESS', - // use filter='status=SUCCESS' - // -- To limit the results to those in - // status (google.api.servicemanagement.v1.RolloutStatus) 'CANCELLED' - // or 'FAILED', use filter='status=CANCELLED OR status=FAILED' + // + // -- By [status] + // [google.api.servicemanagement.v1.Rollout.RolloutStatus]. For example, + // `filter='status=SUCCESS'` + // + // -- By [strategy] + // [google.api.servicemanagement.v1.Rollout.strategy]. For example, + // `filter='strategy=TrafficPercentStrategy'` Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } @@ -1079,8 +1082,8 @@ type GetServiceRolloutRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the service. See the - // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For - // example: `example.googleapis.com`. + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // Required. The id of the rollout resource. RolloutId string `protobuf:"bytes,2,opt,name=rollout_id,json=rolloutId,proto3" json:"rollout_id,omitempty"` @@ -1132,6 +1135,45 @@ func (x *GetServiceRolloutRequest) GetRolloutId() string { return "" } +// Operation payload for EnableService method. +type EnableServiceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *EnableServiceResponse) Reset() { + *x = EnableServiceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnableServiceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableServiceResponse) ProtoMessage() {} + +func (x *EnableServiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_api_servicemanagement_v1_servicemanager_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 EnableServiceResponse.ProtoReflect.Descriptor instead. +func (*EnableServiceResponse) Descriptor() ([]byte, []int) { + return file_google_api_servicemanagement_v1_servicemanager_proto_rawDescGZIP(), []int{17} +} + // Request message for GenerateConfigReport method. type GenerateConfigReportRequest struct { state protoimpl.MessageState @@ -1155,7 +1197,7 @@ type GenerateConfigReportRequest struct { func (x *GenerateConfigReportRequest) Reset() { *x = GenerateConfigReportRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes[17] + mi := &file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1168,7 +1210,7 @@ func (x *GenerateConfigReportRequest) String() string { func (*GenerateConfigReportRequest) ProtoMessage() {} func (x *GenerateConfigReportRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes[17] + mi := &file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1181,7 +1223,7 @@ func (x *GenerateConfigReportRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateConfigReportRequest.ProtoReflect.Descriptor instead. func (*GenerateConfigReportRequest) Descriptor() ([]byte, []int) { - return file_google_api_servicemanagement_v1_servicemanager_proto_rawDescGZIP(), []int{17} + return file_google_api_servicemanagement_v1_servicemanager_proto_rawDescGZIP(), []int{18} } func (x *GenerateConfigReportRequest) GetNewConfig() *anypb.Any { @@ -1220,7 +1262,7 @@ type GenerateConfigReportResponse struct { func (x *GenerateConfigReportResponse) Reset() { *x = GenerateConfigReportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes[18] + mi := &file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1233,7 +1275,7 @@ func (x *GenerateConfigReportResponse) String() string { func (*GenerateConfigReportResponse) ProtoMessage() {} func (x *GenerateConfigReportResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes[18] + mi := &file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1246,7 +1288,7 @@ func (x *GenerateConfigReportResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateConfigReportResponse.ProtoReflect.Descriptor instead. func (*GenerateConfigReportResponse) Descriptor() ([]byte, []int) { - return file_google_api_servicemanagement_v1_servicemanager_proto_rawDescGZIP(), []int{18} + return file_google_api_servicemanagement_v1_servicemanager_proto_rawDescGZIP(), []int{19} } func (x *GenerateConfigReportResponse) GetServiceName() string { @@ -1299,390 +1341,393 @@ var file_google_api_servicemanagement_v1_servicemanager_proto_rawDesc = []byte{ 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x01, 0x0a, 0x13, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x5f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x05, 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, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, - 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, - 0x72, 0x49, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x08, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, - 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 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, 0x22, 0x3b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x66, - 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x3e, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, - 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x40, 0x0a, 0x16, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x64, 0x0a, 0x17, 0x55, 0x6e, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, + 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, + 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0b, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x49, 0x64, + 0x22, 0x8b, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x08, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x08, 0x73, 0x65, + 0x72, 0x76, 0x69, 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, 0x22, 0x3b, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x14, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xdf, - 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x21, 0x0a, - 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x69, 0x65, 0x77, 0x12, 0x09, 0x0a, 0x05, 0x42, - 0x41, 0x53, 0x49, 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, - 0x22, 0x7f, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x22, 0x3e, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0x40, 0x0a, 0x16, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x22, 0x82, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x22, 0x85, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, - 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc6, - 0x01, 0x0a, 0x19, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, - 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x58, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x6d, 0x69, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x22, 0x8e, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x07, 0x72, 0x6f, 0x6c, - 0x6c, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, - 0x6c, 0x6f, 0x75, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, - 0x75, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x22, 0x8b, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x08, - 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 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, - 0x22, 0x66, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x6f, - 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, - 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x49, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, - 0x6e, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x38, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xf6, 0x01, 0x0a, - 0x1c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x54, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x32, 0xc8, 0x19, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xb3, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0xda, 0x41, 0x1f, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x63, - 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, - 0x12, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xa5, - 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x32, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x64, 0x0a, 0x17, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x49, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x22, 0x32, 0xda, 0x41, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0xf5, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 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, 0x8d, - 0x01, 0xca, 0x41, 0x63, 0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x22, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xe6, - 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 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, 0xca, 0x41, 0x4a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x12, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x2a, 0x1b, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x96, 0x02, 0x0a, 0x0f, 0x55, 0x6e, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 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, 0xaa, 0x01, 0xca, 0x41, 0x6c, 0x0a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, + 0x64, 0x12, 0x57, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x21, 0x0a, 0x0a, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x56, 0x69, 0x65, 0x77, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, + 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x22, 0x7f, 0x0a, + 0x19, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x82, + 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, + 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x22, 0x85, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc6, 0x01, 0x0a, 0x19, + 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x57, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x12, 0xc9, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x58, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8e, + 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, + 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x07, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3a, 0xda, 0x41, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xde, 0x01, 0x0a, - 0x10, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x22, + 0x9d, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, + 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, + 0x8b, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x44, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x22, 0x7b, 0xda, 0x41, 0x1b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x2c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x2c, 0x76, 0x69, 0x65, 0x77, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x5a, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x2f, 0x76, - 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc2, 0x01, - 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x08, 0x72, 0x6f, 0x6c, + 0x6c, 0x6f, 0x75, 0x74, 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, 0x22, 0x66, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, + 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x6c, + 0x6f, 0x75, 0x74, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x91, + 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, + 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, + 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, + 0x6e, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x22, 0xf6, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x54, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0d, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x0b, + 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, + 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x32, 0xc8, 0x19, 0x0a, 0x0e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xb3, + 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, + 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x59, 0xda, 0x41, 0x1b, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x3a, 0x0e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x23, 0x2f, - 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x12, 0xc4, 0x02, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6d, - 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0xda, 0x41, + 0x1f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x32, 0xda, 0x41, 0x0c, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, + 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0xf5, 0x01, 0x0a, + 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x35, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 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, 0xd2, 0x01, 0xca, 0x41, 0x6f, 0x0a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0xca, 0x41, 0x63, 0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6d, - 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x28, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x6f, 0x6e, 0x6c, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x22, 0x2a, 0x2f, - 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x3a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x12, 0xd4, 0x01, 0x0a, 0x13, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, - 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, - 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, - 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0xda, 0x41, - 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, - 0x12, 0xcd, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, - 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x31, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x07, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x07, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x12, 0xe6, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 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, 0xca, 0x41, + 0x4a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0c, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, + 0x2a, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x96, 0x02, + 0x0a, 0x0f, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x22, 0x53, 0xda, 0x41, 0x17, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x72, 0x6f, 0x6c, - 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, - 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, - 0x75, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xa1, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, - 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, 0xca, 0x41, 0x5c, 0x0a, 0x27, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, - 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x07, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x22, 0x24, - 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, - 0x6f, 0x75, 0x74, 0x73, 0x12, 0xd9, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x3c, 0x2e, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x69, 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, 0xaa, 0x01, 0xca, 0x41, 0x6c, 0x0a, + 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0c, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, + 0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x3a, 0x75, 0x6e, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xc9, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0xda, 0x41, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, + 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x12, 0xde, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7b, 0xda, 0x41, 0x1b, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, + 0x64, 0x2c, 0x76, 0x69, 0x65, 0x77, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x5a, 0x24, 0x12, 0x22, + 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, + 0x69, 0x64, 0x7d, 0x12, 0xc2, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0xda, 0x41, 0x15, 0x6e, - 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, - 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3a, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x1a, 0xfd, 0x01, 0xca, 0x41, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0xd6, 0x01, 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, 0x2c, 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, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, - 0x79, 0x2c, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2c, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, - 0x42, 0x87, 0x02, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x53, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x62, - 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x70, 0x62, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x53, 0x4d, 0xaa, 0x02, 0x21, 0x47, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x5c, 0x56, 0x31, 0xea, 0x02, 0x24, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x59, 0xda, + 0x41, 0x1b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x35, 0x3a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x22, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, + 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xc4, 0x02, 0x0a, 0x12, 0x53, 0x75, 0x62, + 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, + 0x75, 0x72, 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, 0xd2, 0x01, 0xca, 0x41, 0x6f, + 0x0a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, + 0x41, 0x28, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, + 0x3a, 0x01, 0x2a, 0x22, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, + 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x3a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x12, + 0xd4, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x42, 0xda, 0x41, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, + 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x72, 0x6f, + 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x12, 0xcd, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x39, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, + 0x74, 0x22, 0x53, 0xda, 0x41, 0x17, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x2c, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, + 0x2f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, + 0x75, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa1, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, + 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 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, 0xca, + 0x41, 0x5c, 0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x31, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, + 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x72, 0x6f, + 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x07, 0x72, 0x6f, 0x6c, + 0x6c, 0x6f, 0x75, 0x74, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x12, 0xd9, 0x01, 0x0a, 0x14, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x44, 0xda, 0x41, 0x15, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, + 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, + 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0xfd, 0x01, 0xca, 0x41, 0x20, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0xd6, 0x01, + 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, 0x2c, 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, 0x2e, 0x72, 0x65, + 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 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, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x72, 0x65, + 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x87, 0x02, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x13, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x62, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x53, + 0x4d, 0xaa, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x24, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1698,7 +1743,7 @@ func file_google_api_servicemanagement_v1_servicemanager_proto_rawDescGZIP() []b } var file_google_api_servicemanagement_v1_servicemanager_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_google_api_servicemanagement_v1_servicemanager_proto_goTypes = []interface{}{ (GetServiceConfigRequest_ConfigView)(0), // 0: google.api.servicemanagement.v1.GetServiceConfigRequest.ConfigView (*ListServicesRequest)(nil), // 1: google.api.servicemanagement.v1.ListServicesRequest @@ -1718,32 +1763,33 @@ var file_google_api_servicemanagement_v1_servicemanager_proto_goTypes = []interf (*ListServiceRolloutsRequest)(nil), // 15: google.api.servicemanagement.v1.ListServiceRolloutsRequest (*ListServiceRolloutsResponse)(nil), // 16: google.api.servicemanagement.v1.ListServiceRolloutsResponse (*GetServiceRolloutRequest)(nil), // 17: google.api.servicemanagement.v1.GetServiceRolloutRequest - (*GenerateConfigReportRequest)(nil), // 18: google.api.servicemanagement.v1.GenerateConfigReportRequest - (*GenerateConfigReportResponse)(nil), // 19: google.api.servicemanagement.v1.GenerateConfigReportResponse - (*ManagedService)(nil), // 20: google.api.servicemanagement.v1.ManagedService - (*serviceconfig.Service)(nil), // 21: google.api.Service - (*ConfigSource)(nil), // 22: google.api.servicemanagement.v1.ConfigSource - (*Rollout)(nil), // 23: google.api.servicemanagement.v1.Rollout - (*anypb.Any)(nil), // 24: google.protobuf.Any - (*ChangeReport)(nil), // 25: google.api.servicemanagement.v1.ChangeReport - (*Diagnostic)(nil), // 26: google.api.servicemanagement.v1.Diagnostic - (*longrunningpb.Operation)(nil), // 27: google.longrunning.Operation + (*EnableServiceResponse)(nil), // 18: google.api.servicemanagement.v1.EnableServiceResponse + (*GenerateConfigReportRequest)(nil), // 19: google.api.servicemanagement.v1.GenerateConfigReportRequest + (*GenerateConfigReportResponse)(nil), // 20: google.api.servicemanagement.v1.GenerateConfigReportResponse + (*ManagedService)(nil), // 21: google.api.servicemanagement.v1.ManagedService + (*serviceconfig.Service)(nil), // 22: google.api.Service + (*ConfigSource)(nil), // 23: google.api.servicemanagement.v1.ConfigSource + (*Rollout)(nil), // 24: google.api.servicemanagement.v1.Rollout + (*anypb.Any)(nil), // 25: google.protobuf.Any + (*ChangeReport)(nil), // 26: google.api.servicemanagement.v1.ChangeReport + (*Diagnostic)(nil), // 27: google.api.servicemanagement.v1.Diagnostic + (*longrunningpb.Operation)(nil), // 28: google.longrunning.Operation } var file_google_api_servicemanagement_v1_servicemanager_proto_depIdxs = []int32{ - 20, // 0: google.api.servicemanagement.v1.ListServicesResponse.services:type_name -> google.api.servicemanagement.v1.ManagedService - 20, // 1: google.api.servicemanagement.v1.CreateServiceRequest.service:type_name -> google.api.servicemanagement.v1.ManagedService - 20, // 2: google.api.servicemanagement.v1.UndeleteServiceResponse.service:type_name -> google.api.servicemanagement.v1.ManagedService + 21, // 0: google.api.servicemanagement.v1.ListServicesResponse.services:type_name -> google.api.servicemanagement.v1.ManagedService + 21, // 1: google.api.servicemanagement.v1.CreateServiceRequest.service:type_name -> google.api.servicemanagement.v1.ManagedService + 21, // 2: google.api.servicemanagement.v1.UndeleteServiceResponse.service:type_name -> google.api.servicemanagement.v1.ManagedService 0, // 3: google.api.servicemanagement.v1.GetServiceConfigRequest.view:type_name -> google.api.servicemanagement.v1.GetServiceConfigRequest.ConfigView - 21, // 4: google.api.servicemanagement.v1.ListServiceConfigsResponse.service_configs:type_name -> google.api.Service - 21, // 5: google.api.servicemanagement.v1.CreateServiceConfigRequest.service_config:type_name -> google.api.Service - 22, // 6: google.api.servicemanagement.v1.SubmitConfigSourceRequest.config_source:type_name -> google.api.servicemanagement.v1.ConfigSource - 21, // 7: google.api.servicemanagement.v1.SubmitConfigSourceResponse.service_config:type_name -> google.api.Service - 23, // 8: google.api.servicemanagement.v1.CreateServiceRolloutRequest.rollout:type_name -> google.api.servicemanagement.v1.Rollout - 23, // 9: google.api.servicemanagement.v1.ListServiceRolloutsResponse.rollouts:type_name -> google.api.servicemanagement.v1.Rollout - 24, // 10: google.api.servicemanagement.v1.GenerateConfigReportRequest.new_config:type_name -> google.protobuf.Any - 24, // 11: google.api.servicemanagement.v1.GenerateConfigReportRequest.old_config:type_name -> google.protobuf.Any - 25, // 12: google.api.servicemanagement.v1.GenerateConfigReportResponse.change_reports:type_name -> google.api.servicemanagement.v1.ChangeReport - 26, // 13: google.api.servicemanagement.v1.GenerateConfigReportResponse.diagnostics:type_name -> google.api.servicemanagement.v1.Diagnostic + 22, // 4: google.api.servicemanagement.v1.ListServiceConfigsResponse.service_configs:type_name -> google.api.Service + 22, // 5: google.api.servicemanagement.v1.CreateServiceConfigRequest.service_config:type_name -> google.api.Service + 23, // 6: google.api.servicemanagement.v1.SubmitConfigSourceRequest.config_source:type_name -> google.api.servicemanagement.v1.ConfigSource + 22, // 7: google.api.servicemanagement.v1.SubmitConfigSourceResponse.service_config:type_name -> google.api.Service + 24, // 8: google.api.servicemanagement.v1.CreateServiceRolloutRequest.rollout:type_name -> google.api.servicemanagement.v1.Rollout + 24, // 9: google.api.servicemanagement.v1.ListServiceRolloutsResponse.rollouts:type_name -> google.api.servicemanagement.v1.Rollout + 25, // 10: google.api.servicemanagement.v1.GenerateConfigReportRequest.new_config:type_name -> google.protobuf.Any + 25, // 11: google.api.servicemanagement.v1.GenerateConfigReportRequest.old_config:type_name -> google.protobuf.Any + 26, // 12: google.api.servicemanagement.v1.GenerateConfigReportResponse.change_reports:type_name -> google.api.servicemanagement.v1.ChangeReport + 27, // 13: google.api.servicemanagement.v1.GenerateConfigReportResponse.diagnostics:type_name -> google.api.servicemanagement.v1.Diagnostic 1, // 14: google.api.servicemanagement.v1.ServiceManager.ListServices:input_type -> google.api.servicemanagement.v1.ListServicesRequest 3, // 15: google.api.servicemanagement.v1.ServiceManager.GetService:input_type -> google.api.servicemanagement.v1.GetServiceRequest 4, // 16: google.api.servicemanagement.v1.ServiceManager.CreateService:input_type -> google.api.servicemanagement.v1.CreateServiceRequest @@ -1756,20 +1802,20 @@ var file_google_api_servicemanagement_v1_servicemanager_proto_depIdxs = []int32{ 15, // 23: google.api.servicemanagement.v1.ServiceManager.ListServiceRollouts:input_type -> google.api.servicemanagement.v1.ListServiceRolloutsRequest 17, // 24: google.api.servicemanagement.v1.ServiceManager.GetServiceRollout:input_type -> google.api.servicemanagement.v1.GetServiceRolloutRequest 14, // 25: google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout:input_type -> google.api.servicemanagement.v1.CreateServiceRolloutRequest - 18, // 26: google.api.servicemanagement.v1.ServiceManager.GenerateConfigReport:input_type -> google.api.servicemanagement.v1.GenerateConfigReportRequest + 19, // 26: google.api.servicemanagement.v1.ServiceManager.GenerateConfigReport:input_type -> google.api.servicemanagement.v1.GenerateConfigReportRequest 2, // 27: google.api.servicemanagement.v1.ServiceManager.ListServices:output_type -> google.api.servicemanagement.v1.ListServicesResponse - 20, // 28: google.api.servicemanagement.v1.ServiceManager.GetService:output_type -> google.api.servicemanagement.v1.ManagedService - 27, // 29: google.api.servicemanagement.v1.ServiceManager.CreateService:output_type -> google.longrunning.Operation - 27, // 30: google.api.servicemanagement.v1.ServiceManager.DeleteService:output_type -> google.longrunning.Operation - 27, // 31: google.api.servicemanagement.v1.ServiceManager.UndeleteService:output_type -> google.longrunning.Operation + 21, // 28: google.api.servicemanagement.v1.ServiceManager.GetService:output_type -> google.api.servicemanagement.v1.ManagedService + 28, // 29: google.api.servicemanagement.v1.ServiceManager.CreateService:output_type -> google.longrunning.Operation + 28, // 30: google.api.servicemanagement.v1.ServiceManager.DeleteService:output_type -> google.longrunning.Operation + 28, // 31: google.api.servicemanagement.v1.ServiceManager.UndeleteService:output_type -> google.longrunning.Operation 10, // 32: google.api.servicemanagement.v1.ServiceManager.ListServiceConfigs:output_type -> google.api.servicemanagement.v1.ListServiceConfigsResponse - 21, // 33: google.api.servicemanagement.v1.ServiceManager.GetServiceConfig:output_type -> google.api.Service - 21, // 34: google.api.servicemanagement.v1.ServiceManager.CreateServiceConfig:output_type -> google.api.Service - 27, // 35: google.api.servicemanagement.v1.ServiceManager.SubmitConfigSource:output_type -> google.longrunning.Operation + 22, // 33: google.api.servicemanagement.v1.ServiceManager.GetServiceConfig:output_type -> google.api.Service + 22, // 34: google.api.servicemanagement.v1.ServiceManager.CreateServiceConfig:output_type -> google.api.Service + 28, // 35: google.api.servicemanagement.v1.ServiceManager.SubmitConfigSource:output_type -> google.longrunning.Operation 16, // 36: google.api.servicemanagement.v1.ServiceManager.ListServiceRollouts:output_type -> google.api.servicemanagement.v1.ListServiceRolloutsResponse - 23, // 37: google.api.servicemanagement.v1.ServiceManager.GetServiceRollout:output_type -> google.api.servicemanagement.v1.Rollout - 27, // 38: google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout:output_type -> google.longrunning.Operation - 19, // 39: google.api.servicemanagement.v1.ServiceManager.GenerateConfigReport:output_type -> google.api.servicemanagement.v1.GenerateConfigReportResponse + 24, // 37: google.api.servicemanagement.v1.ServiceManager.GetServiceRollout:output_type -> google.api.servicemanagement.v1.Rollout + 28, // 38: google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout:output_type -> google.longrunning.Operation + 20, // 39: google.api.servicemanagement.v1.ServiceManager.GenerateConfigReport:output_type -> google.api.servicemanagement.v1.GenerateConfigReportResponse 27, // [27:40] is the sub-list for method output_type 14, // [14:27] is the sub-list for method input_type 14, // [14:14] is the sub-list for extension type_name @@ -1989,7 +2035,7 @@ func file_google_api_servicemanagement_v1_servicemanager_proto_init() { } } file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateConfigReportRequest); i { + switch v := v.(*EnableServiceResponse); i { case 0: return &v.state case 1: @@ -2001,6 +2047,18 @@ func file_google_api_servicemanagement_v1_servicemanager_proto_init() { } } file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateConfigReportRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_servicemanagement_v1_servicemanager_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenerateConfigReportResponse); i { case 0: return &v.state @@ -2019,7 +2077,7 @@ func file_google_api_servicemanagement_v1_servicemanager_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_api_servicemanagement_v1_servicemanager_proto_rawDesc, NumEnums: 1, - NumMessages: 19, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, diff --git a/servicemanagement/go.mod b/servicemanagement/go.mod index 81717de945a..37fd9941ca1 100644 --- a/servicemanagement/go.mod +++ b/servicemanagement/go.mod @@ -3,6 +3,7 @@ module cloud.google.com/go/servicemanagement go 1.19 require ( + cloud.google.com/go/iam v0.13.0 cloud.google.com/go/longrunning v0.5.0 github.com/googleapis/gax-go/v2 v2.11.0 google.golang.org/api v0.126.0 diff --git a/servicemanagement/go.sum b/servicemanagement/go.sum index 1b09426f0fc..2852f3cf396 100644 --- a/servicemanagement/go.sum +++ b/servicemanagement/go.sum @@ -6,6 +6,8 @@ cloud.google.com/go/compute v1.19.3 h1:DcTwsFgGev/wV5+q8o2fzgcHOaac+DKGC91ZlvpsQ cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/longrunning v0.5.0 h1:DK8BH0+hS+DIvc9a2TPnteUievsTCH4ORMAASSb7JcQ= cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= diff --git a/storagetransfer/apiv1/storage_transfer_client.go b/storagetransfer/apiv1/storage_transfer_client.go index 71984623785..a2fe88cd709 100755 --- a/storagetransfer/apiv1/storage_transfer_client.go +++ b/storagetransfer/apiv1/storage_transfer_client.go @@ -550,8 +550,8 @@ func (c *Client) CreateTransferJob(ctx context.Context, req *storagetransferpb.C // UpdateTransferJob updates a transfer job. Updating a job’s transfer spec does not affect // transfer operations that are running already. // -// Note: The job’s status field can be modified -// using this RPC (for example, to set a job’s status to +// Note: The job’s status +// field can be modified using this RPC (for example, to set a job’s status to // DELETED, // DISABLED, or // ENABLED). @@ -579,9 +579,10 @@ func (c *Client) ResumeTransferOperation(ctx context.Context, req *storagetransf return c.internalClient.ResumeTransferOperation(ctx, req, opts...) } -// RunTransferJob attempts to start a new TransferOperation for the current TransferJob. A -// TransferJob has a maximum of one active TransferOperation. If this method -// is called while a TransferOperation is active, an error will be returned. +// RunTransferJob starts a new operation for the specified transfer job. +// A TransferJob has a maximum of one active TransferOperation. If this +// method is called while a TransferOperation is active, an error is +// returned. func (c *Client) RunTransferJob(ctx context.Context, req *storagetransferpb.RunTransferJobRequest, opts ...gax.CallOption) (*RunTransferJobOperation, error) { return c.internalClient.RunTransferJob(ctx, req, opts...) } @@ -1319,8 +1320,8 @@ func (c *restClient) CreateTransferJob(ctx context.Context, req *storagetransfer // UpdateTransferJob updates a transfer job. Updating a job’s transfer spec does not affect // transfer operations that are running already. // -// Note: The job’s status field can be modified -// using this RPC (for example, to set a job’s status to +// Note: The job’s status +// field can be modified using this RPC (for example, to set a job’s status to // DELETED, // DISABLED, or // ENABLED). @@ -1627,9 +1628,10 @@ func (c *restClient) ResumeTransferOperation(ctx context.Context, req *storagetr }, opts...) } -// RunTransferJob attempts to start a new TransferOperation for the current TransferJob. A -// TransferJob has a maximum of one active TransferOperation. If this method -// is called while a TransferOperation is active, an error will be returned. +// RunTransferJob starts a new operation for the specified transfer job. +// A TransferJob has a maximum of one active TransferOperation. If this +// method is called while a TransferOperation is active, an error is +// returned. func (c *restClient) RunTransferJob(ctx context.Context, req *storagetransferpb.RunTransferJobRequest, opts ...gax.CallOption) (*RunTransferJobOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} jsonReq, err := m.Marshal(req) diff --git a/storagetransfer/apiv1/storagetransferpb/transfer.pb.go b/storagetransfer/apiv1/storagetransferpb/transfer.pb.go index 2514037885e..bc2286ced16 100755 --- a/storagetransfer/apiv1/storagetransferpb/transfer.pb.go +++ b/storagetransfer/apiv1/storagetransferpb/transfer.pb.go @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -153,15 +153,17 @@ type UpdateTransferJobRequest struct { // Required. The ID of the Google Cloud project that owns the // job. ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - // Required. The job to update. `transferJob` is expected to specify one or more of - // five fields: [description][google.storagetransfer.v1.TransferJob.description], + // Required. The job to update. `transferJob` is expected to specify one or + // more of five fields: + // [description][google.storagetransfer.v1.TransferJob.description], // [transfer_spec][google.storagetransfer.v1.TransferJob.transfer_spec], // [notification_config][google.storagetransfer.v1.TransferJob.notification_config], // [logging_config][google.storagetransfer.v1.TransferJob.logging_config], and - // [status][google.storagetransfer.v1.TransferJob.status]. An `UpdateTransferJobRequest` that specifies - // other fields are rejected with the error - // [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. Updating a job status - // to [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED] requires + // [status][google.storagetransfer.v1.TransferJob.status]. An + // `UpdateTransferJobRequest` that specifies other fields are rejected with + // the error [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. Updating a + // job status to + // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED] requires // `storagetransfer.jobs.delete` permission. TransferJob *TransferJob `protobuf:"bytes,3,opt,name=transfer_job,json=transferJob,proto3" json:"transfer_job,omitempty"` // The field mask of the fields in `transferJob` that are to be updated in @@ -170,9 +172,10 @@ type UpdateTransferJobRequest struct { // [transfer_spec][google.storagetransfer.v1.TransferJob.transfer_spec], // [notification_config][google.storagetransfer.v1.TransferJob.notification_config], // [logging_config][google.storagetransfer.v1.TransferJob.logging_config], and - // [status][google.storagetransfer.v1.TransferJob.status]. To update the `transfer_spec` of the job, a - // complete transfer specification must be provided. An incomplete - // specification missing any required fields is rejected with the error + // [status][google.storagetransfer.v1.TransferJob.status]. To update the + // `transfer_spec` of the job, a complete transfer specification must be + // provided. An incomplete specification missing any required fields is + // rejected with the error // [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. UpdateTransferJobFieldMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_transfer_job_field_mask,json=updateTransferJobFieldMask,proto3" json:"update_transfer_job_field_mask,omitempty"` } @@ -735,8 +738,8 @@ type UpdateAgentPoolRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The agent pool to update. `agent_pool` is expected to specify following - // fields: + // Required. The agent pool to update. `agent_pool` is expected to specify + // following fields: // // * [name][google.storagetransfer.v1.AgentPool.name] // @@ -1677,8 +1680,8 @@ type StorageTransferServiceClient interface { // Updates a transfer job. Updating a job's transfer spec does not affect // transfer operations that are running already. // - // **Note:** The job's [status][google.storagetransfer.v1.TransferJob.status] field can be modified - // using this RPC (for example, to set a job's status to + // **Note:** The job's [status][google.storagetransfer.v1.TransferJob.status] + // field can be modified using this RPC (for example, to set a job's status to // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED], // [DISABLED][google.storagetransfer.v1.TransferJob.Status.DISABLED], or // [ENABLED][google.storagetransfer.v1.TransferJob.Status.ENABLED]). @@ -1691,9 +1694,10 @@ type StorageTransferServiceClient interface { PauseTransferOperation(ctx context.Context, in *PauseTransferOperationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // Resumes a transfer operation that is paused. ResumeTransferOperation(ctx context.Context, in *ResumeTransferOperationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) - // Attempts to start a new TransferOperation for the current TransferJob. A - // TransferJob has a maximum of one active TransferOperation. If this method - // is called while a TransferOperation is active, an error will be returned. + // Starts a new operation for the specified transfer job. + // A `TransferJob` has a maximum of one active `TransferOperation`. If this + // method is called while a `TransferOperation` is active, an error is + // returned. RunTransferJob(ctx context.Context, in *RunTransferJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Deletes a transfer job. Deleting a transfer job sets its status to // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED]. @@ -1860,8 +1864,8 @@ type StorageTransferServiceServer interface { // Updates a transfer job. Updating a job's transfer spec does not affect // transfer operations that are running already. // - // **Note:** The job's [status][google.storagetransfer.v1.TransferJob.status] field can be modified - // using this RPC (for example, to set a job's status to + // **Note:** The job's [status][google.storagetransfer.v1.TransferJob.status] + // field can be modified using this RPC (for example, to set a job's status to // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED], // [DISABLED][google.storagetransfer.v1.TransferJob.Status.DISABLED], or // [ENABLED][google.storagetransfer.v1.TransferJob.Status.ENABLED]). @@ -1874,9 +1878,10 @@ type StorageTransferServiceServer interface { PauseTransferOperation(context.Context, *PauseTransferOperationRequest) (*emptypb.Empty, error) // Resumes a transfer operation that is paused. ResumeTransferOperation(context.Context, *ResumeTransferOperationRequest) (*emptypb.Empty, error) - // Attempts to start a new TransferOperation for the current TransferJob. A - // TransferJob has a maximum of one active TransferOperation. If this method - // is called while a TransferOperation is active, an error will be returned. + // Starts a new operation for the specified transfer job. + // A `TransferJob` has a maximum of one active `TransferOperation`. If this + // method is called while a `TransferOperation` is active, an error is + // returned. RunTransferJob(context.Context, *RunTransferJobRequest) (*longrunningpb.Operation, error) // Deletes a transfer job. Deleting a transfer job sets its status to // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED]. diff --git a/storagetransfer/apiv1/storagetransferpb/transfer_types.pb.go b/storagetransfer/apiv1/storagetransferpb/transfer_types.pb.go index 1847008a052..2cad427a64e 100755 --- a/storagetransfer/apiv1/storagetransferpb/transfer_types.pb.go +++ b/storagetransfer/apiv1/storagetransferpb/transfer_types.pb.go @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -656,7 +656,9 @@ const ( // Use the destination bucket's default storage class. MetadataOptions_STORAGE_CLASS_DESTINATION_BUCKET_DEFAULT MetadataOptions_StorageClass = 1 // Preserve the object's original storage class. This is only supported for - // transfers from Google Cloud Storage buckets. + // transfers from Google Cloud Storage buckets. REGIONAL and MULTI_REGIONAL + // storage classes will be mapped to STANDARD to ensure they can be written + // to the destination bucket. MetadataOptions_STORAGE_CLASS_PRESERVE MetadataOptions_StorageClass = 2 // Set the storage class to STANDARD. MetadataOptions_STORAGE_CLASS_STANDARD MetadataOptions_StorageClass = 3 @@ -939,7 +941,7 @@ func (x TransferJob_Status) Number() protoreflect.EnumNumber { // Deprecated: Use TransferJob_Status.Descriptor instead. func (TransferJob_Status) EnumDescriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{17, 0} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{18, 0} } // Enum for specifying event types for which notifications are to be @@ -1004,7 +1006,7 @@ func (x NotificationConfig_EventType) Number() protoreflect.EnumNumber { // Deprecated: Use NotificationConfig_EventType.Descriptor instead. func (NotificationConfig_EventType) EnumDescriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{21, 0} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{22, 0} } // Enum for specifying the format of a notification message's payload. @@ -1059,7 +1061,7 @@ func (x NotificationConfig_PayloadFormat) Number() protoreflect.EnumNumber { // Deprecated: Use NotificationConfig_PayloadFormat.Descriptor instead. func (NotificationConfig_PayloadFormat) EnumDescriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{21, 1} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{22, 1} } // Loggable actions. @@ -1116,7 +1118,7 @@ func (x LoggingConfig_LoggableAction) Number() protoreflect.EnumNumber { // Deprecated: Use LoggingConfig_LoggableAction.Descriptor instead. func (LoggingConfig_LoggableAction) EnumDescriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{22, 0} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{23, 0} } // Loggable action states. @@ -1171,7 +1173,7 @@ func (x LoggingConfig_LoggableActionState) Number() protoreflect.EnumNumber { // Deprecated: Use LoggingConfig_LoggableActionState.Descriptor instead. func (LoggingConfig_LoggableActionState) EnumDescriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{22, 1} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{23, 1} } // The status of a TransferOperation. @@ -1192,6 +1194,8 @@ const ( TransferOperation_ABORTED TransferOperation_Status = 5 // Temporarily delayed by the system. No user action is required. TransferOperation_QUEUED TransferOperation_Status = 6 + // The operation is suspending and draining the ongoing work to completion. + TransferOperation_SUSPENDING TransferOperation_Status = 7 ) // Enum value maps for TransferOperation_Status. @@ -1204,6 +1208,7 @@ var ( 4: "FAILED", 5: "ABORTED", 6: "QUEUED", + 7: "SUSPENDING", } TransferOperation_Status_value = map[string]int32{ "STATUS_UNSPECIFIED": 0, @@ -1213,6 +1218,7 @@ var ( "FAILED": 4, "ABORTED": 5, "QUEUED": 6, + "SUSPENDING": 7, } ) @@ -1240,7 +1246,7 @@ func (x TransferOperation_Status) Number() protoreflect.EnumNumber { // Deprecated: Use TransferOperation_Status.Descriptor instead. func (TransferOperation_Status) EnumDescriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{23, 0} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{24, 0} } // Google service account @@ -1430,8 +1436,8 @@ func (x *AzureCredentials) GetSasToken() string { // the `updated` property of Cloud Storage objects, the `LastModified` field // of S3 objects, and the `Last-Modified` header of Azure blobs. // -// Transfers with a [PosixFilesystem][google.storagetransfer.v1.PosixFilesystem] source or destination don't support -// `ObjectConditions`. +// Transfers with a [PosixFilesystem][google.storagetransfer.v1.PosixFilesystem] +// source or destination don't support `ObjectConditions`. type ObjectConditions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1439,18 +1445,20 @@ type ObjectConditions struct { // Ensures that objects are not transferred until a specific minimum time // has elapsed after the "last modification time". When a - // [TransferOperation][google.storagetransfer.v1.TransferOperation] begins, objects with a "last modification time" are - // transferred only if the elapsed time between the - // [start_time][google.storagetransfer.v1.TransferOperation.start_time] of the `TransferOperation` - // and the "last modification time" of the object is equal to or - // greater than the value of min_time_elapsed_since_last_modification`. + // [TransferOperation][google.storagetransfer.v1.TransferOperation] begins, + // objects with a "last modification time" are transferred only if the elapsed + // time between the + // [start_time][google.storagetransfer.v1.TransferOperation.start_time] of the + // `TransferOperation` and the "last modification time" of the object is equal + // to or greater than the value of min_time_elapsed_since_last_modification`. // Objects that do not have a "last modification time" are also transferred. MinTimeElapsedSinceLastModification *durationpb.Duration `protobuf:"bytes,1,opt,name=min_time_elapsed_since_last_modification,json=minTimeElapsedSinceLastModification,proto3" json:"min_time_elapsed_since_last_modification,omitempty"` // Ensures that objects are not transferred if a specific maximum time // has elapsed since the "last modification time". - // When a [TransferOperation][google.storagetransfer.v1.TransferOperation] begins, objects with a - // "last modification time" are transferred only if the elapsed time - // between the [start_time][google.storagetransfer.v1.TransferOperation.start_time] of the + // When a [TransferOperation][google.storagetransfer.v1.TransferOperation] + // begins, objects with a "last modification time" are transferred only if the + // elapsed time between the + // [start_time][google.storagetransfer.v1.TransferOperation.start_time] of the // `TransferOperation`and the "last modification time" of the object // is less than the value of max_time_elapsed_since_last_modification`. // Objects that do not have a "last modification time" are also transferred. @@ -1458,9 +1466,10 @@ type ObjectConditions struct { // If you specify `include_prefixes`, Storage Transfer Service uses the items // in the `include_prefixes` array to determine which objects to include in a // transfer. Objects must start with one of the matching `include_prefixes` - // for inclusion in the transfer. If [exclude_prefixes][google.storagetransfer.v1.ObjectConditions.exclude_prefixes] is specified, - // objects must not start with any of the `exclude_prefixes` specified for - // inclusion in the transfer. + // for inclusion in the transfer. If + // [exclude_prefixes][google.storagetransfer.v1.ObjectConditions.exclude_prefixes] + // is specified, objects must not start with any of the `exclude_prefixes` + // specified for inclusion in the transfer. // // The following are requirements of `include_prefixes`: // @@ -1506,8 +1515,10 @@ type ObjectConditions struct { // namespace. No exclude-prefix may be a prefix of another // exclude-prefix. // - // * If [include_prefixes][google.storagetransfer.v1.ObjectConditions.include_prefixes] is specified, then each exclude-prefix must - // start with the value of a path explicitly included by `include_prefixes`. + // * If + // [include_prefixes][google.storagetransfer.v1.ObjectConditions.include_prefixes] + // is specified, then each exclude-prefix must start with the value of a + // path explicitly included by `include_prefixes`. // // The max size of `exclude_prefixes` is 1000. // @@ -1687,9 +1698,9 @@ type AwsS3Data struct { // [Creating a // bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)). BucketName string `protobuf:"bytes,1,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"` - // Input only. AWS access key used to sign the API requests to the AWS S3 bucket. - // Permissions on the bucket must be granted to the access ID of the AWS - // access key. + // Input only. AWS access key used to sign the API requests to the AWS S3 + // bucket. Permissions on the bucket must be granted to the access ID of the + // AWS access key. // // For information on our data retention policy for user credentials, see // [User credentials](/storage-transfer/docs/data-retention#user-credentials). @@ -1707,8 +1718,30 @@ type AwsS3Data struct { // // When a role ARN is provided, Transfer Service fetches temporary // credentials for the session using a `AssumeRoleWithWebIdentity` call for - // the provided role using the [GoogleServiceAccount][google.storagetransfer.v1.GoogleServiceAccount] for this project. + // the provided role using the + // [GoogleServiceAccount][google.storagetransfer.v1.GoogleServiceAccount] for + // this project. RoleArn string `protobuf:"bytes,4,opt,name=role_arn,json=roleArn,proto3" json:"role_arn,omitempty"` + // Optional. The Resource name of a secret in Secret Manager. + // + // The Azure SAS token must be stored in Secret Manager in JSON format: + //
{
+	//  "sas_token" : "SAS_TOKEN"
+	// }
+ // [GoogleServiceAccount][google.storagetransfer.v1.GoogleServiceAccount] must + // be granted `roles/secretmanager.secretAccessor` for the resource. + // + // See [Configure access to a source: Microsoft Azure Blob Storage] + // (https://cloud.google.com/storage-transfer/docs/source-microsoft-azure#secret_manager) + // for more information. + // + // If `credentials_secret` is specified, do not specify [azure_credentials][]. + // + // This feature is in + // [preview](https://cloud.google.com/terms/service-terms#1). + // + // Format: `projects/{project_number}/secrets/{secret_name}` + CredentialsSecret string `protobuf:"bytes,7,opt,name=credentials_secret,json=credentialsSecret,proto3" json:"credentials_secret,omitempty"` } func (x *AwsS3Data) Reset() { @@ -1771,6 +1804,13 @@ func (x *AwsS3Data) GetRoleArn() string { return "" } +func (x *AwsS3Data) GetCredentialsSecret() string { + if x != nil { + return x.CredentialsSecret + } + return "" +} + // An AzureBlobStorageData resource can be a data source, but not a data sink. // An AzureBlobStorageData resource represents one Azure container. The storage // account determines the [Azure @@ -1785,7 +1825,8 @@ type AzureBlobStorageData struct { // Required. The name of the Azure Storage account. StorageAccount string `protobuf:"bytes,1,opt,name=storage_account,json=storageAccount,proto3" json:"storage_account,omitempty"` - // Required. Input only. Credentials used to authenticate API requests to Azure. + // Required. Input only. Credentials used to authenticate API requests to + // Azure. // // For information on our data retention policy for user credentials, see // [User credentials](/storage-transfer/docs/data-retention#user-credentials). @@ -1798,6 +1839,27 @@ type AzureBlobStorageData struct { // is treated as an object prefix. As such, it should generally not begin with // a '/'. Path string `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"` + // Optional. The Resource name of a secret in Secret Manager. + // + // The Azure SAS token must be stored in Secret Manager in JSON format: + //
{
+	//  "sas_token" : "SAS_TOKEN"
+	// }
+ // [GoogleServiceAccount][google.storagetransfer.v1.GoogleServiceAccount] must + // be granted `roles/secretmanager.secretAccessor` for the resource. + // + // See [Configure access to a source: Microsoft Azure Blob Storage] + // (https://cloud.google.com/storage-transfer/docs/source-microsoft-azure#secret_manager) + // for more information. + // + // If `credentials_secret` is specified, do not specify + // [azure_credentials][google.storagetransfer.v1.AzureBlobStorageData.azure_credentials]. + // + // This feature is in + // [preview](https://cloud.google.com/terms/service-terms#1). + // + // Format: `projects/{project_number}/secrets/{secret_name}` + CredentialsSecret string `protobuf:"bytes,7,opt,name=credentials_secret,json=credentialsSecret,proto3" json:"credentials_secret,omitempty"` } func (x *AzureBlobStorageData) Reset() { @@ -1860,6 +1922,13 @@ func (x *AzureBlobStorageData) GetPath() string { return "" } +func (x *AzureBlobStorageData) GetCredentialsSecret() string { + if x != nil { + return x.CredentialsSecret + } + return "" +} + // An HttpData resource specifies a list of objects on the web to be transferred // over HTTP. The information of the objects to be transferred is contained in // a file referenced by a URL. The first line in the file must be @@ -1898,7 +1967,8 @@ func (x *AzureBlobStorageData) GetPath() string { // HTTP server to support `Range` requests and to return a `Content-Length` // header in each response. // -// * [ObjectConditions][google.storagetransfer.v1.ObjectConditions] have no effect when filtering objects to transfer. +// * [ObjectConditions][google.storagetransfer.v1.ObjectConditions] have no +// effect when filtering objects to transfer. type HttpData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2286,14 +2356,16 @@ type TransferOptions struct { OverwriteObjectsAlreadyExistingInSink bool `protobuf:"varint,1,opt,name=overwrite_objects_already_existing_in_sink,json=overwriteObjectsAlreadyExistingInSink,proto3" json:"overwrite_objects_already_existing_in_sink,omitempty"` // Whether objects that exist only in the sink should be deleted. // - // **Note:** This option and [delete_objects_from_source_after_transfer][google.storagetransfer.v1.TransferOptions.delete_objects_from_source_after_transfer] are - // mutually exclusive. + // **Note:** This option and + // [delete_objects_from_source_after_transfer][google.storagetransfer.v1.TransferOptions.delete_objects_from_source_after_transfer] + // are mutually exclusive. DeleteObjectsUniqueInSink bool `protobuf:"varint,2,opt,name=delete_objects_unique_in_sink,json=deleteObjectsUniqueInSink,proto3" json:"delete_objects_unique_in_sink,omitempty"` // Whether objects should be deleted from the source after they are // transferred to the sink. // - // **Note:** This option and [delete_objects_unique_in_sink][google.storagetransfer.v1.TransferOptions.delete_objects_unique_in_sink] are mutually - // exclusive. + // **Note:** This option and + // [delete_objects_unique_in_sink][google.storagetransfer.v1.TransferOptions.delete_objects_unique_in_sink] + // are mutually exclusive. DeleteObjectsFromSourceAfterTransfer bool `protobuf:"varint,3,opt,name=delete_objects_from_source_after_transfer,json=deleteObjectsFromSourceAfterTransfer,proto3" json:"delete_objects_from_source_after_transfer,omitempty"` // When to overwrite objects that already exist in the sink. If not set, // overwrite behavior is determined by @@ -2392,10 +2464,6 @@ type TransferSpec struct { // *TransferSpec_AzureBlobStorageDataSource // *TransferSpec_AwsS3CompatibleDataSource DataSource isTransferSpec_DataSource `protobuf_oneof:"data_source"` - // Represents a supported data container type which is required for transfer - // jobs which needs a data source, a data sink and an intermediate location to - // transfer data through. This is validated on TransferJob creation. - // // Types that are assignable to IntermediateDataLocation: // *TransferSpec_GcsIntermediateDataLocation IntermediateDataLocation isTransferSpec_IntermediateDataLocation `protobuf_oneof:"intermediate_data_location"` @@ -2641,7 +2709,12 @@ type isTransferSpec_IntermediateDataLocation interface { } type TransferSpec_GcsIntermediateDataLocation struct { - // Cloud Storage intermediate data location. + // For transfers between file systems, specifies a Cloud Storage bucket + // to be used as an intermediate location through which to transfer data. + // + // See [Transfer data between file + // systems](https://cloud.google.com/storage-transfer/docs/file-to-file) for + // more information. GcsIntermediateDataLocation *GcsData `protobuf:"bytes,16,opt,name=gcs_intermediate_data_location,json=gcsIntermediateDataLocation,proto3,oneof"` } @@ -2848,7 +2921,8 @@ type Schedule struct { unknownFields protoimpl.UnknownFields // Required. The start date of a transfer. Date boundaries are determined - // relative to UTC time. If `schedule_start_date` and [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day] + // relative to UTC time. If `schedule_start_date` and + // [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day] // are in the past relative to the job's creation time, the transfer starts // the day after you schedule the transfer request. // @@ -2858,16 +2932,21 @@ type Schedule struct { // Transfer Service server receives the request on June 2, then it creates // a TransferJob with `schedule_start_date` set to June 2 and a // `start_time_of_day` set to midnight UTC. The first scheduled - // [TransferOperation][google.storagetransfer.v1.TransferOperation] takes place on June 3 at midnight UTC. + // [TransferOperation][google.storagetransfer.v1.TransferOperation] takes + // place on June 3 at midnight UTC. ScheduleStartDate *date.Date `protobuf:"bytes,1,opt,name=schedule_start_date,json=scheduleStartDate,proto3" json:"schedule_start_date,omitempty"` // The last day a transfer runs. Date boundaries are determined relative to // UTC time. A job runs once per 24 hours within the following guidelines: // - // * If `schedule_end_date` and [schedule_start_date][google.storagetransfer.v1.Schedule.schedule_start_date] are the same and in + // * If `schedule_end_date` and + // [schedule_start_date][google.storagetransfer.v1.Schedule.schedule_start_date] + // are the same and in // the future relative to UTC, the transfer is executed only one time. // * If `schedule_end_date` is later than `schedule_start_date` and // `schedule_end_date` is in the future relative to UTC, the job runs each - // day at [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day] through `schedule_end_date`. + // day at + // [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day] + // through `schedule_end_date`. ScheduleEndDate *date.Date `protobuf:"bytes,2,opt,name=schedule_end_date,json=scheduleEndDate,proto3" json:"schedule_end_date,omitempty"` // The time in UTC that a transfer job is scheduled to run. Transfers may // start later than this time. @@ -2876,7 +2955,8 @@ type Schedule struct { // // * One-time transfers run immediately. // * Recurring transfers run immediately, and each day at midnight UTC, - // through [schedule_end_date][google.storagetransfer.v1.Schedule.schedule_end_date]. + // through + // [schedule_end_date][google.storagetransfer.v1.Schedule.schedule_end_date]. // // If `start_time_of_day` is specified: // @@ -2885,11 +2965,15 @@ type Schedule struct { // `schedule_end_date`. StartTimeOfDay *timeofday.TimeOfDay `protobuf:"bytes,3,opt,name=start_time_of_day,json=startTimeOfDay,proto3" json:"start_time_of_day,omitempty"` // The time in UTC that no further transfer operations are scheduled. Combined - // with [schedule_end_date][google.storagetransfer.v1.Schedule.schedule_end_date], `end_time_of_day` specifies the end date and - // time for starting new transfer operations. This field must be greater than - // or equal to the timestamp corresponding to the combintation of - // [schedule_start_date][google.storagetransfer.v1.Schedule.schedule_start_date] and [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day], and is subject to the - // following: + // with + // [schedule_end_date][google.storagetransfer.v1.Schedule.schedule_end_date], + // `end_time_of_day` specifies the end date and time for starting new transfer + // operations. This field must be greater than or equal to the timestamp + // corresponding to the combintation of + // [schedule_start_date][google.storagetransfer.v1.Schedule.schedule_start_date] + // and + // [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day], + // and is subject to the following: // // * If `end_time_of_day` is not set and `schedule_end_date` is set, then // a default value of `23:59:59` is used for `end_time_of_day`. @@ -2970,6 +3054,82 @@ func (x *Schedule) GetRepeatInterval() *durationpb.Duration { return nil } +// Specifies the Event-driven transfer options. Event-driven transfers listen to +// an event stream to transfer updated files. +type EventStream struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Specifies a unique name of the resource such as AWS SQS + // ARN in the form 'arn:aws:sqs:region:account_id:queue_name', + // or Pub/Sub subscription resource name in the form + // 'projects/{project}/subscriptions/{sub}'. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Specifies the date and time that Storage Transfer Service starts + // listening for events from this stream. If no start time is specified or + // start time is in the past, Storage Transfer Service starts listening + // immediately. + EventStreamStartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=event_stream_start_time,json=eventStreamStartTime,proto3" json:"event_stream_start_time,omitempty"` + // Specifies the data and time at which Storage Transfer Service stops + // listening for events from this stream. After this time, any transfers in + // progress will complete, but no new transfers are initiated. + EventStreamExpirationTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=event_stream_expiration_time,json=eventStreamExpirationTime,proto3" json:"event_stream_expiration_time,omitempty"` +} + +func (x *EventStream) Reset() { + *x = EventStream{} + if protoimpl.UnsafeEnabled { + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventStream) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventStream) ProtoMessage() {} + +func (x *EventStream) ProtoReflect() protoreflect.Message { + mi := &file_google_storagetransfer_v1_transfer_types_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 EventStream.ProtoReflect.Descriptor instead. +func (*EventStream) Descriptor() ([]byte, []int) { + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{17} +} + +func (x *EventStream) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EventStream) GetEventStreamStartTime() *timestamppb.Timestamp { + if x != nil { + return x.EventStreamStartTime + } + return nil +} + +func (x *EventStream) GetEventStreamExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.EventStreamExpirationTime + } + return nil +} + // This resource represents the configuration of a transfer job that runs // periodically. type TransferJob struct { @@ -3020,14 +3180,18 @@ type TransferJob struct { // executes a transfer, unless you invoke RunTransferJob or update the job to // have a non-empty schedule. Schedule *Schedule `protobuf:"bytes,5,opt,name=schedule,proto3" json:"schedule,omitempty"` + // Specifies the event stream for the transfer job for event-driven transfers. + // When EventStream is specified, the Schedule fields are ignored. + EventStream *EventStream `protobuf:"bytes,15,opt,name=event_stream,json=eventStream,proto3" json:"event_stream,omitempty"` // Status of the job. This value MUST be specified for // `CreateTransferJobRequests`. // // **Note:** The effect of the new job status takes place during a subsequent // job run. For example, if you change the job status from - // [ENABLED][google.storagetransfer.v1.TransferJob.Status.ENABLED] to [DISABLED][google.storagetransfer.v1.TransferJob.Status.DISABLED], and an operation - // spawned by the transfer is running, the status change would not affect the - // current operation. + // [ENABLED][google.storagetransfer.v1.TransferJob.Status.ENABLED] to + // [DISABLED][google.storagetransfer.v1.TransferJob.Status.DISABLED], and an + // operation spawned by the transfer is running, the status change would not + // affect the current operation. Status TransferJob_Status `protobuf:"varint,6,opt,name=status,proto3,enum=google.storagetransfer.v1.TransferJob_Status" json:"status,omitempty"` // Output only. The time that the transfer job was created. CreationTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"` @@ -3043,7 +3207,7 @@ type TransferJob struct { func (x *TransferJob) Reset() { *x = TransferJob{} if protoimpl.UnsafeEnabled { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[17] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3056,7 +3220,7 @@ func (x *TransferJob) String() string { func (*TransferJob) ProtoMessage() {} func (x *TransferJob) ProtoReflect() protoreflect.Message { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[17] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3069,7 +3233,7 @@ func (x *TransferJob) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferJob.ProtoReflect.Descriptor instead. func (*TransferJob) Descriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{17} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{18} } func (x *TransferJob) GetName() string { @@ -3121,6 +3285,13 @@ func (x *TransferJob) GetSchedule() *Schedule { return nil } +func (x *TransferJob) GetEventStream() *EventStream { + if x != nil { + return x.EventStream + } + return nil +} + func (x *TransferJob) GetStatus() TransferJob_Status { if x != nil { return x.Status @@ -3172,7 +3343,7 @@ type ErrorLogEntry struct { func (x *ErrorLogEntry) Reset() { *x = ErrorLogEntry{} if protoimpl.UnsafeEnabled { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[18] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3185,7 +3356,7 @@ func (x *ErrorLogEntry) String() string { func (*ErrorLogEntry) ProtoMessage() {} func (x *ErrorLogEntry) ProtoReflect() protoreflect.Message { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[18] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3198,7 +3369,7 @@ func (x *ErrorLogEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use ErrorLogEntry.ProtoReflect.Descriptor instead. func (*ErrorLogEntry) Descriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{18} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{19} } func (x *ErrorLogEntry) GetUrl() string { @@ -3236,7 +3407,7 @@ type ErrorSummary struct { func (x *ErrorSummary) Reset() { *x = ErrorSummary{} if protoimpl.UnsafeEnabled { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[19] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3249,7 +3420,7 @@ func (x *ErrorSummary) String() string { func (*ErrorSummary) ProtoMessage() {} func (x *ErrorSummary) ProtoReflect() protoreflect.Message { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[19] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3262,7 +3433,7 @@ func (x *ErrorSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use ErrorSummary.ProtoReflect.Descriptor instead. func (*ErrorSummary) Descriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{19} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{20} } func (x *ErrorSummary) GetErrorCode() code.Code { @@ -3359,7 +3530,7 @@ type TransferCounters struct { func (x *TransferCounters) Reset() { *x = TransferCounters{} if protoimpl.UnsafeEnabled { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[20] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3372,7 +3543,7 @@ func (x *TransferCounters) String() string { func (*TransferCounters) ProtoMessage() {} func (x *TransferCounters) ProtoReflect() protoreflect.Message { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[20] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3385,7 +3556,7 @@ func (x *TransferCounters) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferCounters.ProtoReflect.Descriptor instead. func (*TransferCounters) Descriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{20} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{21} } func (x *TransferCounters) GetObjectsFoundFromSource() int64 { @@ -3539,17 +3710,23 @@ func (x *TransferCounters) GetIntermediateObjectsFailedCleanedUp() int64 { // Notifications are published to the customer-provided topic using the // following `PubsubMessage.attributes`: // -// * `"eventType"`: one of the [EventType][google.storagetransfer.v1.NotificationConfig.EventType] values -// * `"payloadFormat"`: one of the [PayloadFormat][google.storagetransfer.v1.NotificationConfig.PayloadFormat] values -// * `"projectId"`: the [project_id][google.storagetransfer.v1.TransferOperation.project_id] of the +// * `"eventType"`: one of the +// [EventType][google.storagetransfer.v1.NotificationConfig.EventType] values +// * `"payloadFormat"`: one of the +// [PayloadFormat][google.storagetransfer.v1.NotificationConfig.PayloadFormat] +// values +// * `"projectId"`: the +// [project_id][google.storagetransfer.v1.TransferOperation.project_id] of the // `TransferOperation` // * `"transferJobName"`: the -// [transfer_job_name][google.storagetransfer.v1.TransferOperation.transfer_job_name] of the -// `TransferOperation` -// * `"transferOperationName"`: the [name][google.storagetransfer.v1.TransferOperation.name] of the +// [transfer_job_name][google.storagetransfer.v1.TransferOperation.transfer_job_name] +// of the `TransferOperation` +// * `"transferOperationName"`: the +// [name][google.storagetransfer.v1.TransferOperation.name] of the // `TransferOperation` // -// The `PubsubMessage.data` contains a [TransferOperation][google.storagetransfer.v1.TransferOperation] resource +// The `PubsubMessage.data` contains a +// [TransferOperation][google.storagetransfer.v1.TransferOperation] resource // formatted according to the specified `PayloadFormat`. type NotificationConfig struct { state protoimpl.MessageState @@ -3571,7 +3748,7 @@ type NotificationConfig struct { func (x *NotificationConfig) Reset() { *x = NotificationConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[21] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3584,7 +3761,7 @@ func (x *NotificationConfig) String() string { func (*NotificationConfig) ProtoMessage() {} func (x *NotificationConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[21] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3597,7 +3774,7 @@ func (x *NotificationConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use NotificationConfig.ProtoReflect.Descriptor instead. func (*NotificationConfig) Descriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{21} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{22} } func (x *NotificationConfig) GetPubsubTopic() string { @@ -3640,11 +3817,13 @@ type LoggingConfig struct { // Specifies the actions to be logged. If empty, no logs are generated. // Not supported for transfers with PosixFilesystem data sources; use - // [enable_onprem_gcs_transfer_logs][google.storagetransfer.v1.LoggingConfig.enable_onprem_gcs_transfer_logs] instead. + // [enable_onprem_gcs_transfer_logs][google.storagetransfer.v1.LoggingConfig.enable_onprem_gcs_transfer_logs] + // instead. LogActions []LoggingConfig_LoggableAction `protobuf:"varint,1,rep,packed,name=log_actions,json=logActions,proto3,enum=google.storagetransfer.v1.LoggingConfig_LoggableAction" json:"log_actions,omitempty"` // States in which `log_actions` are logged. If empty, no logs are generated. // Not supported for transfers with PosixFilesystem data sources; use - // [enable_onprem_gcs_transfer_logs][google.storagetransfer.v1.LoggingConfig.enable_onprem_gcs_transfer_logs] instead. + // [enable_onprem_gcs_transfer_logs][google.storagetransfer.v1.LoggingConfig.enable_onprem_gcs_transfer_logs] + // instead. LogActionStates []LoggingConfig_LoggableActionState `protobuf:"varint,2,rep,packed,name=log_action_states,json=logActionStates,proto3,enum=google.storagetransfer.v1.LoggingConfig_LoggableActionState" json:"log_action_states,omitempty"` // For transfers with a PosixFilesystem source, this option enables the Cloud // Storage transfer logs for this transfer. @@ -3654,7 +3833,7 @@ type LoggingConfig struct { func (x *LoggingConfig) Reset() { *x = LoggingConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[22] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3667,7 +3846,7 @@ func (x *LoggingConfig) String() string { func (*LoggingConfig) ProtoMessage() {} func (x *LoggingConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[22] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3680,7 +3859,7 @@ func (x *LoggingConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use LoggingConfig.ProtoReflect.Descriptor instead. func (*LoggingConfig) Descriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{22} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{23} } func (x *LoggingConfig) GetLogActions() []LoggingConfig_LoggableAction { @@ -3718,6 +3897,8 @@ type TransferOperation struct { TransferSpec *TransferSpec `protobuf:"bytes,3,opt,name=transfer_spec,json=transferSpec,proto3" json:"transfer_spec,omitempty"` // Notification configuration. NotificationConfig *NotificationConfig `protobuf:"bytes,10,opt,name=notification_config,json=notificationConfig,proto3" json:"notification_config,omitempty"` + // Cloud Logging configuration. + LoggingConfig *LoggingConfig `protobuf:"bytes,12,opt,name=logging_config,json=loggingConfig,proto3" json:"logging_config,omitempty"` // Start time of this transfer execution. StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // End time of this transfer execution. @@ -3735,7 +3916,7 @@ type TransferOperation struct { func (x *TransferOperation) Reset() { *x = TransferOperation{} if protoimpl.UnsafeEnabled { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[23] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3748,7 +3929,7 @@ func (x *TransferOperation) String() string { func (*TransferOperation) ProtoMessage() {} func (x *TransferOperation) ProtoReflect() protoreflect.Message { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[23] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3761,7 +3942,7 @@ func (x *TransferOperation) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferOperation.ProtoReflect.Descriptor instead. func (*TransferOperation) Descriptor() ([]byte, []int) { - return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{23} + return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{24} } func (x *TransferOperation) GetName() string { @@ -3792,6 +3973,13 @@ func (x *TransferOperation) GetNotificationConfig() *NotificationConfig { return nil } +func (x *TransferOperation) GetLoggingConfig() *LoggingConfig { + if x != nil { + return x.LoggingConfig + } + return nil +} + func (x *TransferOperation) GetStartTime() *timestamppb.Timestamp { if x != nil { return x.StartTime @@ -3848,7 +4036,7 @@ type AgentPool_BandwidthLimit struct { func (x *AgentPool_BandwidthLimit) Reset() { *x = AgentPool_BandwidthLimit{} if protoimpl.UnsafeEnabled { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[24] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3861,7 +4049,7 @@ func (x *AgentPool_BandwidthLimit) String() string { func (*AgentPool_BandwidthLimit) ProtoMessage() {} func (x *AgentPool_BandwidthLimit) ProtoReflect() protoreflect.Message { - mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[24] + mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3954,7 +4142,7 @@ var file_google_storagetransfer_v1_transfer_types_proto_rawDesc = []byte{ 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0xb4, + 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0xe8, 0x01, 0x0a, 0x09, 0x41, 0x77, 0x73, 0x53, 0x33, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, @@ -3966,638 +4154,669 @@ var file_google_storagetransfer_v1_transfer_types_proto_rawDesc = []byte{ 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x6f, - 0x6c, 0x65, 0x41, 0x72, 0x6e, 0x22, 0xdd, 0x01, 0x0a, 0x14, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x42, - 0x6c, 0x6f, 0x62, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, - 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x60, 0x0a, 0x11, - 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x04, 0x52, 0x10, 0x61, 0x7a, - 0x75, 0x72, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x21, - 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x2a, 0x0a, 0x08, 0x48, 0x74, 0x74, 0x70, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x72, - 0x6c, 0x22, 0x38, 0x0a, 0x0f, 0x50, 0x6f, 0x73, 0x69, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x6f, - 0x6f, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xed, 0x01, 0x0a, 0x13, - 0x41, 0x77, 0x73, 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x62, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0b, 0x73, 0x33, 0x5f, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6c, 0x65, 0x41, 0x72, 0x6e, 0x12, 0x32, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x91, 0x02, 0x0a, 0x14, 0x41, 0x7a, + 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x60, 0x0a, 0x11, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, - 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0a, - 0x73, 0x33, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0f, 0x0a, 0x0d, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xa3, 0x06, 0x0a, 0x14, - 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x5b, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, - 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x12, 0x61, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x5b, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x12, 0x52, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, + 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x43, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x04, + 0x52, 0x10, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x32, 0x0a, 0x12, 0x63, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x2a, 0x0a, + 0x08, 0x48, 0x74, 0x74, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x69, 0x73, + 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x22, 0x38, 0x0a, 0x0f, 0x50, 0x6f, 0x73, + 0x69, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x25, 0x0a, 0x0e, + 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x6f, 0x6f, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x22, 0xed, 0x01, 0x0a, 0x13, 0x41, 0x77, 0x73, 0x53, 0x33, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x52, + 0x0a, 0x0b, 0x73, 0x33, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x52, 0x07, 0x6c, 0x69, - 0x73, 0x74, 0x41, 0x70, 0x69, 0x22, 0x6d, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x4d, 0x45, 0x54, 0x48, - 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, - 0x41, 0x57, 0x53, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x56, 0x34, - 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, - 0x44, 0x5f, 0x41, 0x57, 0x53, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, - 0x56, 0x32, 0x10, 0x02, 0x22, 0x73, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4d, - 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x48, 0x4f, 0x53, - 0x54, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x52, - 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x50, 0x41, 0x54, - 0x48, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x10, 0x02, 0x22, 0x6a, 0x0a, 0x0f, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x20, 0x0a, 0x1c, - 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, - 0x0a, 0x16, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, - 0x4f, 0x4c, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x45, - 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x48, - 0x54, 0x54, 0x50, 0x10, 0x02, 0x22, 0x4a, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, - 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x49, - 0x53, 0x54, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x5f, 0x56, 0x32, 0x10, 0x01, 0x12, - 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x10, - 0x02, 0x22, 0xc8, 0x03, 0x0a, 0x09, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, - 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6f, 0x6c, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x5c, 0x0a, 0x0f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6f, - 0x6c, 0x2e, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x52, 0x0e, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x1a, 0x2f, 0x0a, 0x0e, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x62, 0x70, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x62, 0x70, - 0x73, 0x22, 0x47, 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, - 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, - 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x3a, 0x60, 0xea, 0x41, 0x5d, 0x0a, - 0x29, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x30, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x22, 0x96, 0x04, 0x0a, - 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x59, 0x0a, 0x2a, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x65, 0x78, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x25, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x45, 0x78, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x40, 0x0a, 0x1d, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x75, 0x6e, - 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x6e, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x57, 0x0a, - 0x29, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, - 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, - 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x24, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, - 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x5f, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, + 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x33, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x42, 0x0f, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x22, 0xa3, 0x06, 0x0a, 0x14, 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, + 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5b, 0x0a, 0x0b, + 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x33, + 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0a, 0x61, + 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x61, 0x0a, 0x0d, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x33, 0x43, + 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0c, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x5b, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x55, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x33, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x52, 0x0a, 0x08, 0x6c, 0x69, 0x73, + 0x74, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, + 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x70, 0x69, 0x52, 0x07, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x22, 0x6d, 0x0a, + 0x0a, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1b, 0x0a, 0x17, 0x41, + 0x55, 0x54, 0x48, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x55, 0x54, 0x48, + 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x41, 0x57, 0x53, 0x5f, 0x53, 0x49, 0x47, 0x4e, + 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x56, 0x34, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x55, + 0x54, 0x48, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x41, 0x57, 0x53, 0x5f, 0x53, 0x49, + 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x56, 0x32, 0x10, 0x02, 0x22, 0x73, 0x0a, 0x0c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x19, + 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x52, + 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x56, 0x49, 0x52, + 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x59, 0x4c, + 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4d, + 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x10, + 0x02, 0x22, 0x6a, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x20, 0x0a, 0x1c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, + 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x53, + 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x50, 0x52, + 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x10, 0x02, 0x22, 0x4a, 0x0a, + 0x07, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x49, 0x53, 0x54, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, + 0x54, 0x53, 0x5f, 0x56, 0x32, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x53, 0x54, 0x5f, + 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x10, 0x02, 0x22, 0xc8, 0x03, 0x0a, 0x09, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x5c, 0x0a, 0x0f, 0x62, 0x61, + 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0e, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x2f, 0x0a, 0x0e, 0x42, 0x61, 0x6e, 0x64, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x62, 0x70, 0x73, 0x22, 0x47, 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, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x03, 0x3a, 0x60, 0xea, 0x41, 0x5d, 0x0a, 0x29, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x12, 0x30, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x50, + 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, + 0x5f, 0x69, 0x64, 0x7d, 0x22, 0x96, 0x04, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x2a, 0x6f, 0x76, 0x65, 0x72, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x61, 0x6c, + 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, + 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x25, 0x6f, 0x76, + 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x41, 0x6c, + 0x72, 0x65, 0x61, 0x64, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x53, + 0x69, 0x6e, 0x6b, 0x12, 0x40, 0x0a, 0x1d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x5f, + 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, + 0x6e, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x57, 0x0a, 0x29, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x24, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x5f, + 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x57, 0x68, 0x65, 0x6e, + 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x12, + 0x55, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x55, 0x0a, 0x0d, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x56, 0x45, 0x52, 0x57, + 0x52, 0x49, 0x54, 0x45, 0x5f, 0x57, 0x48, 0x45, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x49, 0x46, 0x46, 0x45, + 0x52, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x10, + 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x10, 0x03, 0x22, 0xfd, 0x09, + 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x48, + 0x0a, 0x0d, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x63, 0x73, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x54, 0x0a, 0x0f, 0x70, 0x6f, 0x73, 0x69, + 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x55, - 0x0a, 0x0d, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x12, - 0x1e, 0x0a, 0x1a, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x57, 0x48, 0x45, - 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0d, 0x0a, 0x09, 0x44, 0x49, 0x46, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x09, - 0x0a, 0x05, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x57, - 0x41, 0x59, 0x53, 0x10, 0x03, 0x22, 0xfd, 0x09, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x48, 0x0a, 0x0d, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, + 0x73, 0x69, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, + 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x4c, + 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0d, 0x67, + 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x12, + 0x61, 0x77, 0x73, 0x5f, 0x73, 0x33, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x77, 0x73, 0x53, 0x33, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, + 0x52, 0x0f, 0x61, 0x77, 0x73, 0x53, 0x33, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x4f, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x01, 0x52, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x58, 0x0a, 0x11, 0x70, 0x6f, 0x73, 0x69, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x6e, 0x6b, - 0x12, 0x54, 0x0a, 0x0f, 0x70, 0x6f, 0x73, 0x69, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, - 0x69, 0x6e, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x78, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x4c, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x78, 0x46, + 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x01, 0x52, 0x0f, 0x70, 0x6f, 0x73, + 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x75, 0x0a, 0x1e, + 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x1a, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, + 0x6f, 0x62, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x72, 0x0a, 0x1d, 0x61, 0x77, 0x73, 0x5f, 0x73, 0x33, 0x5f, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x77, 0x73, 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x19, 0x61, 0x77, + 0x73, 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x69, 0x0a, 0x1e, 0x67, 0x63, 0x73, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0d, 0x67, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x61, 0x77, 0x73, 0x5f, 0x73, 0x33, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x77, 0x73, - 0x53, 0x33, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0f, 0x61, 0x77, 0x73, 0x53, 0x33, 0x44, - 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x10, 0x68, 0x74, 0x74, - 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x48, 0x74, 0x74, 0x70, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0e, 0x68, 0x74, 0x74, 0x70, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x11, 0x70, 0x6f, - 0x73, 0x69, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x48, 0x01, 0x52, 0x0f, 0x70, 0x6f, 0x73, 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x75, 0x0a, 0x1e, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x6c, - 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, - 0x6f, 0x62, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, - 0x1a, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x72, 0x0a, 0x1d, 0x61, - 0x77, 0x73, 0x5f, 0x73, 0x33, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x77, 0x73, 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x48, 0x01, 0x52, 0x19, 0x61, 0x77, 0x73, 0x53, 0x33, 0x43, 0x6f, 0x6d, 0x70, 0x61, - 0x74, 0x69, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x69, 0x0a, 0x1e, 0x67, 0x63, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x02, 0x52, 0x1b, 0x67, - 0x63, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x11, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x61, 0x74, 0x61, 0x48, 0x02, 0x52, 0x1b, 0x67, 0x63, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, + 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x10, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, + 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x11, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x69, 0x66, - 0x65, 0x73, 0x74, 0x52, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4d, 0x61, 0x6e, - 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x69, - 0x6e, 0x6b, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x69, 0x6e, 0x6b, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc1, 0x0c, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x73, 0x79, 0x6d, - 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x07, - 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x43, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x40, 0x0a, 0x03, - 0x67, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x47, 0x49, 0x44, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x40, - 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x55, 0x49, 0x44, 0x52, 0x03, 0x75, 0x69, 0x64, - 0x12, 0x40, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, + 0x66, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x10, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, + 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, + 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x73, 0x69, 0x6e, 0x6b, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x6e, 0x6b, + 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, + 0x1c, 0x0a, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc1, 0x0c, + 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, + 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x07, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x12, + 0x43, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x6c, 0x52, 0x03, 0x61, - 0x63, 0x6c, 0x12, 0x5c, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x12, 0x5f, 0x0a, 0x0e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, - 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x48, 0x6f, - 0x6c, 0x64, 0x52, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x6c, - 0x64, 0x12, 0x4a, 0x0a, 0x07, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4b, - 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x59, 0x0a, - 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, + 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, + 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x40, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x47, 0x49, + 0x44, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x0b, 0x74, 0x69, 0x6d, - 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x4a, 0x0a, 0x07, 0x53, 0x79, 0x6d, 0x6c, - 0x69, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x59, 0x4d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, - 0x53, 0x59, 0x4d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x01, 0x12, 0x14, - 0x0a, 0x10, 0x53, 0x59, 0x4d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, - 0x56, 0x45, 0x10, 0x02, 0x22, 0x3e, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, - 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, - 0x56, 0x45, 0x10, 0x02, 0x22, 0x38, 0x0a, 0x03, 0x47, 0x49, 0x44, 0x12, 0x13, 0x0a, 0x0f, 0x47, - 0x49, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x49, 0x44, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x01, 0x12, 0x0e, - 0x0a, 0x0a, 0x47, 0x49, 0x44, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x22, 0x38, - 0x0a, 0x03, 0x55, 0x49, 0x44, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x49, 0x44, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x49, - 0x44, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x49, 0x44, 0x5f, - 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x22, 0x50, 0x0a, 0x03, 0x41, 0x63, 0x6c, 0x12, - 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x4c, 0x5f, 0x44, 0x45, 0x53, 0x54, - 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x44, - 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x43, 0x4c, 0x5f, - 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x10, 0x02, 0x22, 0xe6, 0x01, 0x0a, 0x0c, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x19, 0x53, - 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x53, 0x54, - 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x53, 0x54, - 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x44, - 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, - 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, - 0x56, 0x45, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, - 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x03, + 0x55, 0x49, 0x44, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x41, 0x63, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x5c, 0x0a, 0x0d, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x0e, 0x74, 0x65, 0x6d, 0x70, + 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x0d, 0x74, 0x65, 0x6d, 0x70, + 0x6f, 0x72, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x4a, 0x0a, 0x07, 0x6b, 0x6d, 0x73, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x6b, + 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x59, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x22, 0x4a, 0x0a, 0x07, 0x53, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x13, 0x53, + 0x59, 0x4d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x59, 0x4d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, + 0x53, 0x4b, 0x49, 0x50, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x59, 0x4d, 0x4c, 0x49, 0x4e, + 0x4b, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x10, 0x02, 0x22, 0x3e, 0x0a, 0x04, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x4f, 0x44, + 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x10, 0x02, 0x22, 0x38, 0x0a, 0x03, + 0x47, 0x49, 0x44, 0x12, 0x13, 0x0a, 0x0f, 0x47, 0x49, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x49, 0x44, 0x5f, + 0x53, 0x4b, 0x49, 0x50, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x49, 0x44, 0x5f, 0x4e, 0x55, + 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x22, 0x38, 0x0a, 0x03, 0x55, 0x49, 0x44, 0x12, 0x13, 0x0a, + 0x0f, 0x55, 0x49, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x49, 0x44, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x01, + 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x49, 0x44, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, + 0x22, 0x50, 0x0a, 0x03, 0x41, 0x63, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x4c, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, + 0x41, 0x43, 0x4c, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, + 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, + 0x10, 0x02, 0x22, 0xe6, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, + 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, + 0x41, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, - 0x53, 0x5f, 0x4e, 0x45, 0x41, 0x52, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, - 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x43, 0x4f, - 0x4c, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x4f, 0x52, - 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, - 0x45, 0x10, 0x06, 0x22, 0x65, 0x0a, 0x0d, 0x54, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, - 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, - 0x59, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, - 0x59, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, - 0x17, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x5f, - 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x10, 0x02, 0x22, 0x5f, 0x0a, 0x06, 0x4b, 0x6d, - 0x73, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x13, 0x4b, 0x4d, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, - 0x22, 0x4b, 0x4d, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, - 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4b, 0x4d, 0x53, 0x5f, 0x4b, 0x45, 0x59, - 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x10, 0x02, 0x22, 0x6c, 0x0a, 0x0b, 0x54, - 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x18, 0x54, 0x49, - 0x4d, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x49, 0x4d, 0x45, - 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x01, 0x12, - 0x28, 0x0a, 0x24, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, - 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x5f, 0x41, 0x53, 0x5f, 0x43, 0x55, 0x53, 0x54, - 0x4f, 0x4d, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x22, 0x2e, 0x0a, 0x10, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd7, 0x02, 0x0a, 0x08, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x46, 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3d, - 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, - 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x64, - 0x61, 0x79, 0x18, 0x03, 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, - 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, - 0x12, 0x3d, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x5f, - 0x64, 0x61, 0x79, 0x18, 0x04, 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, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 0x12, - 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, - 0x61, 0x6c, 0x18, 0x05, 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, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x22, 0xca, 0x06, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x4a, 0x6f, 0x62, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5e, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, - 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x08, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x07, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x53, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, + 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, + 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, + 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x4e, 0x45, 0x41, 0x52, 0x4c, 0x49, + 0x4e, 0x45, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, + 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x4c, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x05, + 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, + 0x53, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x10, 0x06, 0x22, 0x65, 0x0a, 0x0d, 0x54, + 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x1e, 0x0a, 0x1a, + 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, + 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x53, + 0x4b, 0x49, 0x50, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, + 0x52, 0x59, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, + 0x10, 0x02, 0x22, 0x5f, 0x0a, 0x06, 0x4b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x13, + 0x4b, 0x4d, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x4b, 0x4d, 0x53, 0x5f, 0x4b, 0x45, 0x59, + 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, + 0x10, 0x4b, 0x4d, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, + 0x45, 0x10, 0x02, 0x22, 0x6c, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x18, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x15, 0x0a, 0x11, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, + 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x54, 0x49, 0x4d, 0x45, 0x5f, + 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, + 0x5f, 0x41, 0x53, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, + 0x02, 0x22, 0x2e, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4d, 0x61, 0x6e, + 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xd7, 0x02, 0x0a, 0x08, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x46, + 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, + 0x44, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x45, 0x6e, + 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x03, 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, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 0x12, 0x3d, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x04, 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, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 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, 0x52, 0x0e, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0xd6, 0x01, 0x0a, 0x0b, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 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, 0x51, 0x0a, 0x17, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 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, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0d, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 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, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x13, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x48, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, - 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, - 0x22, 0x4b, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xc0, 0x01, - 0x0a, 0x0c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x34, - 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x11, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x70, 0x52, 0x14, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x1c, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 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, 0x52, 0x19, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x22, 0x95, 0x07, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0d, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5e, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, + 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x12, 0x45, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x55, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 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, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 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, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, + 0x0a, 0x15, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0x48, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, + 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0x4b, 0x0a, 0x0d, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x15, 0x0a, + 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x03, 0x75, 0x72, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xc0, 0x01, 0x0a, 0x0c, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x0a, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x64, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x11, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0xff, 0x0a, 0x0a, + 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x39, 0x0a, 0x19, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x75, + 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x75, + 0x6e, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x17, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, + 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, + 0x69, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, + 0x69, 0x6e, 0x6b, 0x12, 0x3a, 0x0a, 0x1a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x6f, 0x75, + 0x6e, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, + 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x6f, + 0x75, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, + 0x4b, 0x0a, 0x23, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x62, + 0x79, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, + 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x42, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x47, 0x0a, 0x21, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x79, 0x6e, + 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x72, + 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x42, + 0x79, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x33, 0x0a, 0x16, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x43, 0x6f, + 0x70, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x2f, 0x0a, 0x14, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x69, + 0x6e, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x62, 0x79, 0x74, 0x65, 0x73, 0x43, + 0x6f, 0x70, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x3d, 0x0a, 0x1b, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x66, + 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x18, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, + 0x6e, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, + 0x12, 0x35, 0x0a, 0x17, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x14, 0x62, 0x79, 0x74, 0x65, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x46, + 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x3b, 0x0a, 0x1a, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x72, + 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x72, 0x6f, + 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x49, 0x0a, + 0x22, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, + 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, + 0x69, 0x6e, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x45, 0x0a, 0x20, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x1b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, + 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, + 0x41, 0x0a, 0x1d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x66, + 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x69, 0x65, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x51, 0x0a, 0x26, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, + 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, + 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x21, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x2b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6c, + 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x27, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, + 0x6c, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x1f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, + 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x63, 0x6c, 0x65, 0x61, + 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x55, 0x70, 0x12, 0x52, 0x0a, 0x26, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, + 0x64, 0x5f, 0x75, 0x70, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x55, 0x70, 0x22, 0xcd, + 0x03, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x58, 0x0a, + 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x22, 0x86, 0x01, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, + 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x52, + 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x52, + 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0x43, 0x0a, 0x0d, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x41, + 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x02, 0x22, 0xc5, + 0x03, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x58, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x4c, 0x6f, 0x67, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, + 0x6c, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x68, 0x0a, 0x11, 0x6c, 0x6f, + 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x22, 0xff, 0x0a, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x35, 0x0a, 0x17, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, - 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x14, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x6f, - 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x66, 0x72, - 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x46, - 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x3a, 0x0a, 0x1a, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6d, - 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, - 0x69, 0x6e, 0x6b, 0x12, 0x4b, 0x0a, 0x23, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, - 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, - 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x1e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x42, 0x79, 0x53, 0x79, 0x6e, 0x63, - 0x12, 0x47, 0x0a, 0x21, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x62, 0x79, - 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6b, 0x69, 0x70, - 0x70, 0x65, 0x64, 0x42, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x33, 0x0a, 0x16, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, - 0x69, 0x6e, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x2f, - 0x0a, 0x14, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x5f, 0x74, - 0x6f, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x53, 0x69, 0x6e, 0x6b, 0x12, - 0x3d, 0x0a, 0x1b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x39, - 0x0a, 0x19, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, - 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x16, 0x62, 0x79, 0x74, 0x65, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x46, - 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, - 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, - 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x35, 0x0a, 0x17, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x62, 0x79, 0x74, 0x65, 0x73, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x3b, 0x0a, 0x1a, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x17, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x12, 0x49, 0x0a, 0x22, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x66, 0x72, - 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x45, 0x0a, 0x20, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x53, - 0x69, 0x6e, 0x6b, 0x12, 0x41, 0x0a, 0x1d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, - 0x65, 0x73, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x6f, 0x6d, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x26, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, - 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x21, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x69, 0x65, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x46, - 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x2b, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, - 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x27, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, - 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x1f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, - 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x1c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x55, 0x70, 0x12, 0x52, - 0x0a, 0x26, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6c, - 0x65, 0x61, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, - 0x55, 0x70, 0x22, 0xcd, 0x03, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x12, 0x58, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x4c, 0x6f, 0x67, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x1f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, + 0x6e, 0x70, 0x72, 0x65, 0x6d, 0x5f, 0x67, 0x63, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6e, 0x70, 0x72, 0x65, 0x6d, 0x47, 0x63, 0x73, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0x51, 0x0a, 0x0e, 0x4c, 0x6f, + 0x67, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, + 0x4c, 0x4f, 0x47, 0x47, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, + 0x04, 0x46, 0x49, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, + 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x50, 0x59, 0x10, 0x03, 0x22, 0x57, 0x0a, + 0x13, 0x4c, 0x6f, 0x67, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x4f, 0x47, 0x47, 0x41, 0x42, 0x4c, 0x45, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, + 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0xce, 0x06, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, + 0x4c, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x0e, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x22, 0x86, 0x01, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, - 0x0a, 0x1a, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x1d, - 0x0a, 0x19, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1e, 0x0a, - 0x1a, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0x43, 0x0a, - 0x0d, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1e, - 0x0a, 0x1a, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, - 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, - 0x10, 0x02, 0x22, 0xc5, 0x03, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x68, - 0x0a, 0x11, 0x6c, 0x6f, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x1f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x70, 0x72, 0x65, 0x6d, 0x5f, 0x67, 0x63, 0x73, 0x5f, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6e, 0x70, 0x72, 0x65, 0x6d, 0x47, - 0x63, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0x51, - 0x0a, 0x0e, 0x4c, 0x6f, 0x67, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x4f, 0x47, 0x47, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x49, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x50, 0x59, 0x10, - 0x03, 0x22, 0x57, 0x0a, 0x13, 0x4c, 0x6f, 0x67, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x4f, 0x47, 0x47, - 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, - 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0xed, 0x05, 0x0a, 0x11, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, - 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, + 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5e, 0x0a, + 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, - 0x70, 0x65, 0x63, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, - 0x63, 0x12, 0x5e, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x6e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 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, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 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, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x47, 0x0a, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, - 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x10, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0f, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x12, 0x2a, 0x0a, - 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6f, 0x0a, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, - 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, - 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, - 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, - 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0a, - 0x0a, 0x06, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x06, 0x42, 0xef, 0x01, 0x0a, 0x23, 0x63, - 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x42, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x5a, 0x4d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x70, 0x62, - 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, + 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0d, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 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, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 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, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x47, 0x0a, + 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x08, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x10, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x62, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, + 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x7f, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x5f, 0x50, + 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x55, + 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, + 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0b, + 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x51, + 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x55, 0x53, 0x50, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x42, 0xef, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, + 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5a, 0x4d, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x70, 0x62, 0xf8, 0x01, 0x01, + 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, + 0x56, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -4613,7 +4832,7 @@ func file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP() []byte { } var file_google_storagetransfer_v1_transfer_types_proto_enumTypes = make([]protoimpl.EnumInfo, 21) -var file_google_storagetransfer_v1_transfer_types_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_google_storagetransfer_v1_transfer_types_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_google_storagetransfer_v1_transfer_types_proto_goTypes = []interface{}{ (S3CompatibleMetadata_AuthMethod)(0), // 0: google.storagetransfer.v1.S3CompatibleMetadata.AuthMethod (S3CompatibleMetadata_RequestModel)(0), // 1: google.storagetransfer.v1.S3CompatibleMetadata.RequestModel @@ -4653,25 +4872,26 @@ var file_google_storagetransfer_v1_transfer_types_proto_goTypes = []interface{}{ (*MetadataOptions)(nil), // 35: google.storagetransfer.v1.MetadataOptions (*TransferManifest)(nil), // 36: google.storagetransfer.v1.TransferManifest (*Schedule)(nil), // 37: google.storagetransfer.v1.Schedule - (*TransferJob)(nil), // 38: google.storagetransfer.v1.TransferJob - (*ErrorLogEntry)(nil), // 39: google.storagetransfer.v1.ErrorLogEntry - (*ErrorSummary)(nil), // 40: google.storagetransfer.v1.ErrorSummary - (*TransferCounters)(nil), // 41: google.storagetransfer.v1.TransferCounters - (*NotificationConfig)(nil), // 42: google.storagetransfer.v1.NotificationConfig - (*LoggingConfig)(nil), // 43: google.storagetransfer.v1.LoggingConfig - (*TransferOperation)(nil), // 44: google.storagetransfer.v1.TransferOperation - (*AgentPool_BandwidthLimit)(nil), // 45: google.storagetransfer.v1.AgentPool.BandwidthLimit - (*durationpb.Duration)(nil), // 46: google.protobuf.Duration - (*timestamppb.Timestamp)(nil), // 47: google.protobuf.Timestamp - (*date.Date)(nil), // 48: google.type.Date - (*timeofday.TimeOfDay)(nil), // 49: google.type.TimeOfDay - (code.Code)(0), // 50: google.rpc.Code + (*EventStream)(nil), // 38: google.storagetransfer.v1.EventStream + (*TransferJob)(nil), // 39: google.storagetransfer.v1.TransferJob + (*ErrorLogEntry)(nil), // 40: google.storagetransfer.v1.ErrorLogEntry + (*ErrorSummary)(nil), // 41: google.storagetransfer.v1.ErrorSummary + (*TransferCounters)(nil), // 42: google.storagetransfer.v1.TransferCounters + (*NotificationConfig)(nil), // 43: google.storagetransfer.v1.NotificationConfig + (*LoggingConfig)(nil), // 44: google.storagetransfer.v1.LoggingConfig + (*TransferOperation)(nil), // 45: google.storagetransfer.v1.TransferOperation + (*AgentPool_BandwidthLimit)(nil), // 46: google.storagetransfer.v1.AgentPool.BandwidthLimit + (*durationpb.Duration)(nil), // 47: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 48: google.protobuf.Timestamp + (*date.Date)(nil), // 49: google.type.Date + (*timeofday.TimeOfDay)(nil), // 50: google.type.TimeOfDay + (code.Code)(0), // 51: google.rpc.Code } var file_google_storagetransfer_v1_transfer_types_proto_depIdxs = []int32{ - 46, // 0: google.storagetransfer.v1.ObjectConditions.min_time_elapsed_since_last_modification:type_name -> google.protobuf.Duration - 46, // 1: google.storagetransfer.v1.ObjectConditions.max_time_elapsed_since_last_modification:type_name -> google.protobuf.Duration - 47, // 2: google.storagetransfer.v1.ObjectConditions.last_modified_since:type_name -> google.protobuf.Timestamp - 47, // 3: google.storagetransfer.v1.ObjectConditions.last_modified_before:type_name -> google.protobuf.Timestamp + 47, // 0: google.storagetransfer.v1.ObjectConditions.min_time_elapsed_since_last_modification:type_name -> google.protobuf.Duration + 47, // 1: google.storagetransfer.v1.ObjectConditions.max_time_elapsed_since_last_modification:type_name -> google.protobuf.Duration + 48, // 2: google.storagetransfer.v1.ObjectConditions.last_modified_since:type_name -> google.protobuf.Timestamp + 48, // 3: google.storagetransfer.v1.ObjectConditions.last_modified_before:type_name -> google.protobuf.Timestamp 22, // 4: google.storagetransfer.v1.AwsS3Data.aws_access_key:type_name -> google.storagetransfer.v1.AwsAccessKey 23, // 5: google.storagetransfer.v1.AzureBlobStorageData.azure_credentials:type_name -> google.storagetransfer.v1.AzureCredentials 31, // 6: google.storagetransfer.v1.AwsS3CompatibleData.s3_metadata:type_name -> google.storagetransfer.v1.S3CompatibleMetadata @@ -4680,7 +4900,7 @@ var file_google_storagetransfer_v1_transfer_types_proto_depIdxs = []int32{ 2, // 9: google.storagetransfer.v1.S3CompatibleMetadata.protocol:type_name -> google.storagetransfer.v1.S3CompatibleMetadata.NetworkProtocol 3, // 10: google.storagetransfer.v1.S3CompatibleMetadata.list_api:type_name -> google.storagetransfer.v1.S3CompatibleMetadata.ListApi 4, // 11: google.storagetransfer.v1.AgentPool.state:type_name -> google.storagetransfer.v1.AgentPool.State - 45, // 12: google.storagetransfer.v1.AgentPool.bandwidth_limit:type_name -> google.storagetransfer.v1.AgentPool.BandwidthLimit + 46, // 12: google.storagetransfer.v1.AgentPool.bandwidth_limit:type_name -> google.storagetransfer.v1.AgentPool.BandwidthLimit 5, // 13: google.storagetransfer.v1.TransferOptions.overwrite_when:type_name -> google.storagetransfer.v1.TransferOptions.OverwriteWhen 35, // 14: google.storagetransfer.v1.TransferOptions.metadata_options:type_name -> google.storagetransfer.v1.MetadataOptions 25, // 15: google.storagetransfer.v1.TransferSpec.gcs_data_sink:type_name -> google.storagetransfer.v1.GcsData @@ -4704,37 +4924,41 @@ var file_google_storagetransfer_v1_transfer_types_proto_depIdxs = []int32{ 12, // 33: google.storagetransfer.v1.MetadataOptions.temporary_hold:type_name -> google.storagetransfer.v1.MetadataOptions.TemporaryHold 13, // 34: google.storagetransfer.v1.MetadataOptions.kms_key:type_name -> google.storagetransfer.v1.MetadataOptions.KmsKey 14, // 35: google.storagetransfer.v1.MetadataOptions.time_created:type_name -> google.storagetransfer.v1.MetadataOptions.TimeCreated - 48, // 36: google.storagetransfer.v1.Schedule.schedule_start_date:type_name -> google.type.Date - 48, // 37: google.storagetransfer.v1.Schedule.schedule_end_date:type_name -> google.type.Date - 49, // 38: google.storagetransfer.v1.Schedule.start_time_of_day:type_name -> google.type.TimeOfDay - 49, // 39: google.storagetransfer.v1.Schedule.end_time_of_day:type_name -> google.type.TimeOfDay - 46, // 40: google.storagetransfer.v1.Schedule.repeat_interval:type_name -> google.protobuf.Duration - 34, // 41: google.storagetransfer.v1.TransferJob.transfer_spec:type_name -> google.storagetransfer.v1.TransferSpec - 42, // 42: google.storagetransfer.v1.TransferJob.notification_config:type_name -> google.storagetransfer.v1.NotificationConfig - 43, // 43: google.storagetransfer.v1.TransferJob.logging_config:type_name -> google.storagetransfer.v1.LoggingConfig - 37, // 44: google.storagetransfer.v1.TransferJob.schedule:type_name -> google.storagetransfer.v1.Schedule - 15, // 45: google.storagetransfer.v1.TransferJob.status:type_name -> google.storagetransfer.v1.TransferJob.Status - 47, // 46: google.storagetransfer.v1.TransferJob.creation_time:type_name -> google.protobuf.Timestamp - 47, // 47: google.storagetransfer.v1.TransferJob.last_modification_time:type_name -> google.protobuf.Timestamp - 47, // 48: google.storagetransfer.v1.TransferJob.deletion_time:type_name -> google.protobuf.Timestamp - 50, // 49: google.storagetransfer.v1.ErrorSummary.error_code:type_name -> google.rpc.Code - 39, // 50: google.storagetransfer.v1.ErrorSummary.error_log_entries:type_name -> google.storagetransfer.v1.ErrorLogEntry - 16, // 51: google.storagetransfer.v1.NotificationConfig.event_types:type_name -> google.storagetransfer.v1.NotificationConfig.EventType - 17, // 52: google.storagetransfer.v1.NotificationConfig.payload_format:type_name -> google.storagetransfer.v1.NotificationConfig.PayloadFormat - 18, // 53: google.storagetransfer.v1.LoggingConfig.log_actions:type_name -> google.storagetransfer.v1.LoggingConfig.LoggableAction - 19, // 54: google.storagetransfer.v1.LoggingConfig.log_action_states:type_name -> google.storagetransfer.v1.LoggingConfig.LoggableActionState - 34, // 55: google.storagetransfer.v1.TransferOperation.transfer_spec:type_name -> google.storagetransfer.v1.TransferSpec - 42, // 56: google.storagetransfer.v1.TransferOperation.notification_config:type_name -> google.storagetransfer.v1.NotificationConfig - 47, // 57: google.storagetransfer.v1.TransferOperation.start_time:type_name -> google.protobuf.Timestamp - 47, // 58: google.storagetransfer.v1.TransferOperation.end_time:type_name -> google.protobuf.Timestamp - 20, // 59: google.storagetransfer.v1.TransferOperation.status:type_name -> google.storagetransfer.v1.TransferOperation.Status - 41, // 60: google.storagetransfer.v1.TransferOperation.counters:type_name -> google.storagetransfer.v1.TransferCounters - 40, // 61: google.storagetransfer.v1.TransferOperation.error_breakdowns:type_name -> google.storagetransfer.v1.ErrorSummary - 62, // [62:62] is the sub-list for method output_type - 62, // [62:62] is the sub-list for method input_type - 62, // [62:62] is the sub-list for extension type_name - 62, // [62:62] is the sub-list for extension extendee - 0, // [0:62] is the sub-list for field type_name + 49, // 36: google.storagetransfer.v1.Schedule.schedule_start_date:type_name -> google.type.Date + 49, // 37: google.storagetransfer.v1.Schedule.schedule_end_date:type_name -> google.type.Date + 50, // 38: google.storagetransfer.v1.Schedule.start_time_of_day:type_name -> google.type.TimeOfDay + 50, // 39: google.storagetransfer.v1.Schedule.end_time_of_day:type_name -> google.type.TimeOfDay + 47, // 40: google.storagetransfer.v1.Schedule.repeat_interval:type_name -> google.protobuf.Duration + 48, // 41: google.storagetransfer.v1.EventStream.event_stream_start_time:type_name -> google.protobuf.Timestamp + 48, // 42: google.storagetransfer.v1.EventStream.event_stream_expiration_time:type_name -> google.protobuf.Timestamp + 34, // 43: google.storagetransfer.v1.TransferJob.transfer_spec:type_name -> google.storagetransfer.v1.TransferSpec + 43, // 44: google.storagetransfer.v1.TransferJob.notification_config:type_name -> google.storagetransfer.v1.NotificationConfig + 44, // 45: google.storagetransfer.v1.TransferJob.logging_config:type_name -> google.storagetransfer.v1.LoggingConfig + 37, // 46: google.storagetransfer.v1.TransferJob.schedule:type_name -> google.storagetransfer.v1.Schedule + 38, // 47: google.storagetransfer.v1.TransferJob.event_stream:type_name -> google.storagetransfer.v1.EventStream + 15, // 48: google.storagetransfer.v1.TransferJob.status:type_name -> google.storagetransfer.v1.TransferJob.Status + 48, // 49: google.storagetransfer.v1.TransferJob.creation_time:type_name -> google.protobuf.Timestamp + 48, // 50: google.storagetransfer.v1.TransferJob.last_modification_time:type_name -> google.protobuf.Timestamp + 48, // 51: google.storagetransfer.v1.TransferJob.deletion_time:type_name -> google.protobuf.Timestamp + 51, // 52: google.storagetransfer.v1.ErrorSummary.error_code:type_name -> google.rpc.Code + 40, // 53: google.storagetransfer.v1.ErrorSummary.error_log_entries:type_name -> google.storagetransfer.v1.ErrorLogEntry + 16, // 54: google.storagetransfer.v1.NotificationConfig.event_types:type_name -> google.storagetransfer.v1.NotificationConfig.EventType + 17, // 55: google.storagetransfer.v1.NotificationConfig.payload_format:type_name -> google.storagetransfer.v1.NotificationConfig.PayloadFormat + 18, // 56: google.storagetransfer.v1.LoggingConfig.log_actions:type_name -> google.storagetransfer.v1.LoggingConfig.LoggableAction + 19, // 57: google.storagetransfer.v1.LoggingConfig.log_action_states:type_name -> google.storagetransfer.v1.LoggingConfig.LoggableActionState + 34, // 58: google.storagetransfer.v1.TransferOperation.transfer_spec:type_name -> google.storagetransfer.v1.TransferSpec + 43, // 59: google.storagetransfer.v1.TransferOperation.notification_config:type_name -> google.storagetransfer.v1.NotificationConfig + 44, // 60: google.storagetransfer.v1.TransferOperation.logging_config:type_name -> google.storagetransfer.v1.LoggingConfig + 48, // 61: google.storagetransfer.v1.TransferOperation.start_time:type_name -> google.protobuf.Timestamp + 48, // 62: google.storagetransfer.v1.TransferOperation.end_time:type_name -> google.protobuf.Timestamp + 20, // 63: google.storagetransfer.v1.TransferOperation.status:type_name -> google.storagetransfer.v1.TransferOperation.Status + 42, // 64: google.storagetransfer.v1.TransferOperation.counters:type_name -> google.storagetransfer.v1.TransferCounters + 41, // 65: google.storagetransfer.v1.TransferOperation.error_breakdowns:type_name -> google.storagetransfer.v1.ErrorSummary + 66, // [66:66] is the sub-list for method output_type + 66, // [66:66] is the sub-list for method input_type + 66, // [66:66] is the sub-list for extension type_name + 66, // [66:66] is the sub-list for extension extendee + 0, // [0:66] is the sub-list for field type_name } func init() { file_google_storagetransfer_v1_transfer_types_proto_init() } @@ -4948,7 +5172,7 @@ func file_google_storagetransfer_v1_transfer_types_proto_init() { } } file_google_storagetransfer_v1_transfer_types_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferJob); i { + switch v := v.(*EventStream); i { case 0: return &v.state case 1: @@ -4960,7 +5184,7 @@ func file_google_storagetransfer_v1_transfer_types_proto_init() { } } file_google_storagetransfer_v1_transfer_types_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ErrorLogEntry); i { + switch v := v.(*TransferJob); i { case 0: return &v.state case 1: @@ -4972,7 +5196,7 @@ func file_google_storagetransfer_v1_transfer_types_proto_init() { } } file_google_storagetransfer_v1_transfer_types_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ErrorSummary); i { + switch v := v.(*ErrorLogEntry); i { case 0: return &v.state case 1: @@ -4984,7 +5208,7 @@ func file_google_storagetransfer_v1_transfer_types_proto_init() { } } file_google_storagetransfer_v1_transfer_types_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferCounters); i { + switch v := v.(*ErrorSummary); i { case 0: return &v.state case 1: @@ -4996,7 +5220,7 @@ func file_google_storagetransfer_v1_transfer_types_proto_init() { } } file_google_storagetransfer_v1_transfer_types_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NotificationConfig); i { + switch v := v.(*TransferCounters); i { case 0: return &v.state case 1: @@ -5008,7 +5232,7 @@ func file_google_storagetransfer_v1_transfer_types_proto_init() { } } file_google_storagetransfer_v1_transfer_types_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoggingConfig); i { + switch v := v.(*NotificationConfig); i { case 0: return &v.state case 1: @@ -5020,7 +5244,7 @@ func file_google_storagetransfer_v1_transfer_types_proto_init() { } } file_google_storagetransfer_v1_transfer_types_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferOperation); i { + switch v := v.(*LoggingConfig); i { case 0: return &v.state case 1: @@ -5032,6 +5256,18 @@ func file_google_storagetransfer_v1_transfer_types_proto_init() { } } file_google_storagetransfer_v1_transfer_types_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransferOperation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_storagetransfer_v1_transfer_types_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AgentPool_BandwidthLimit); i { case 0: return &v.state @@ -5064,7 +5300,7 @@ func file_google_storagetransfer_v1_transfer_types_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_storagetransfer_v1_transfer_types_proto_rawDesc, NumEnums: 21, - NumMessages: 25, + NumMessages: 26, NumExtensions: 0, NumServices: 0, },