// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v3.21.12
// source: yandex/cloud/video/v1/stream_service.proto

package video

import (
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud"
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud/api"
	operation "github.com/yandex-cloud/go-genproto/yandex/cloud/operation"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type GetStreamRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the stream to retrieve.
	StreamId      string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetStreamRequest) Reset() {
	*x = GetStreamRequest{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetStreamRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetStreamRequest) ProtoMessage() {}

func (x *GetStreamRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetStreamRequest.ProtoReflect.Descriptor instead.
func (*GetStreamRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{0}
}

func (x *GetStreamRequest) GetStreamId() string {
	if x != nil {
		return x.StreamId
	}
	return ""
}

type ListStreamsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the channel containing the streams to list.
	ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
	// The maximum number of streams to return per page.
	PageSize int64 `protobuf:"varint,100,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Page token for retrieving the next page of results.
	// This token is obtained from the next_page_token field in the previous ListStreamsResponse.
	PageToken string `protobuf:"bytes,101,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// Specifies the ordering of results.
	// Format is "<field> <order>" (e.g., "startTime desc").
	// Default: "id asc".
	// Supported fields: ["id", "title", "startTime", "finishTime", "createdAt", "updatedAt"].
	// Both snake_case and camelCase field names are supported.
	OrderBy string `protobuf:"bytes,102,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
	// Filter expression to narrow down the list of returned streams.
	// Expressions consist of terms connected by logical operators.
	// Values containing spaces or quotes must be enclosed in quotes (`'` or `"`)
	// with inner quotes being backslash-escaped.
	//
	// Supported logical operators: ["AND", "OR"].
	// Supported comparison operators: ["=", "!=", ":"] where ":" enables substring matching.
	// Parentheses can be used to group logical expressions.
	//
	// Example: `title:'live' AND (status='READY' OR status='ONAIR')`
	//
	// Filterable fields: ["id", "title", "lineId", "status"].
	// Both snake_case and camelCase field names are supported.
	Filter        string `protobuf:"bytes,103,opt,name=filter,proto3" json:"filter,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListStreamsRequest) Reset() {
	*x = ListStreamsRequest{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListStreamsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListStreamsRequest) ProtoMessage() {}

func (x *ListStreamsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListStreamsRequest.ProtoReflect.Descriptor instead.
func (*ListStreamsRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{1}
}

func (x *ListStreamsRequest) GetChannelId() string {
	if x != nil {
		return x.ChannelId
	}
	return ""
}

func (x *ListStreamsRequest) GetPageSize() int64 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListStreamsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

func (x *ListStreamsRequest) GetOrderBy() string {
	if x != nil {
		return x.OrderBy
	}
	return ""
}

func (x *ListStreamsRequest) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

type ListStreamsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of streams matching the request criteria.
	// May be empty if no streams match the criteria or if the channel has no streams.
	Streams []*Stream `protobuf:"bytes,1,rep,name=streams,proto3" json:"streams,omitempty"`
	// Token for retrieving the next page of results.
	// Empty if there are no more results available.
	NextPageToken string `protobuf:"bytes,100,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListStreamsResponse) Reset() {
	*x = ListStreamsResponse{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListStreamsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListStreamsResponse) ProtoMessage() {}

func (x *ListStreamsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListStreamsResponse.ProtoReflect.Descriptor instead.
func (*ListStreamsResponse) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{2}
}

func (x *ListStreamsResponse) GetStreams() []*Stream {
	if x != nil {
		return x.Streams
	}
	return nil
}

func (x *ListStreamsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

type BatchGetStreamsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the channel containing the streams to retrieve.
	ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
	// List of stream IDs to retrieve.
	StreamIds     []string `protobuf:"bytes,2,rep,name=stream_ids,json=streamIds,proto3" json:"stream_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BatchGetStreamsRequest) Reset() {
	*x = BatchGetStreamsRequest{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BatchGetStreamsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BatchGetStreamsRequest) ProtoMessage() {}

func (x *BatchGetStreamsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BatchGetStreamsRequest.ProtoReflect.Descriptor instead.
func (*BatchGetStreamsRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{3}
}

func (x *BatchGetStreamsRequest) GetChannelId() string {
	if x != nil {
		return x.ChannelId
	}
	return ""
}

func (x *BatchGetStreamsRequest) GetStreamIds() []string {
	if x != nil {
		return x.StreamIds
	}
	return nil
}

type BatchGetStreamsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of streams matching the requested IDs.
	Streams       []*Stream `protobuf:"bytes,1,rep,name=streams,proto3" json:"streams,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BatchGetStreamsResponse) Reset() {
	*x = BatchGetStreamsResponse{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BatchGetStreamsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BatchGetStreamsResponse) ProtoMessage() {}

func (x *BatchGetStreamsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BatchGetStreamsResponse.ProtoReflect.Descriptor instead.
func (*BatchGetStreamsResponse) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{4}
}

func (x *BatchGetStreamsResponse) GetStreams() []*Stream {
	if x != nil {
		return x.Streams
	}
	return nil
}

type CreateStreamRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the channel where the stream will be created.
	ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
	// ID of the stream line to which this stream will be linked.
	// Stream lines define the technical configuration for streaming.
	LineId string `protobuf:"bytes,2,opt,name=line_id,json=lineId,proto3" json:"line_id,omitempty"`
	// Title of the stream to be displayed in interfaces and players.
	Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
	// Detailed description of the stream content and context.
	// Optional field that can provide additional information about the stream.
	Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
	// ID of the thumbnail image to be used for the stream.
	ThumbnailId string `protobuf:"bytes,5,opt,name=thumbnail_id,json=thumbnailId,proto3" json:"thumbnail_id,omitempty"`
	// Controls whether the stream is automatically published when ready.
	// When set to true, the stream's status will automatically change from
	// READY to ONAIR when the streaming infrastructure is prepared,
	// making it available for viewing without manual intervention.
	AutoPublish *wrapperspb.BoolValue `protobuf:"bytes,6,opt,name=auto_publish,json=autoPublish,proto3" json:"auto_publish,omitempty"`
	// Custom user-defined labels as `key:value` pairs.
	// Maximum 64 labels per stream.
	// Keys must be lowercase alphanumeric strings with optional hyphens/underscores.
	// Values can contain alphanumeric characters and various symbols.
	Labels map[string]string `protobuf:"bytes,200,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Specifies the stream scheduling type (exactly one must be chosen).
	//
	// Types that are valid to be assigned to StreamType:
	//
	//	*CreateStreamRequest_OnDemand
	//	*CreateStreamRequest_Schedule
	StreamType    isCreateStreamRequest_StreamType `protobuf_oneof:"stream_type"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateStreamRequest) Reset() {
	*x = CreateStreamRequest{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateStreamRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateStreamRequest) ProtoMessage() {}

func (x *CreateStreamRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateStreamRequest.ProtoReflect.Descriptor instead.
func (*CreateStreamRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{5}
}

func (x *CreateStreamRequest) GetChannelId() string {
	if x != nil {
		return x.ChannelId
	}
	return ""
}

func (x *CreateStreamRequest) GetLineId() string {
	if x != nil {
		return x.LineId
	}
	return ""
}

func (x *CreateStreamRequest) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *CreateStreamRequest) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *CreateStreamRequest) GetThumbnailId() string {
	if x != nil {
		return x.ThumbnailId
	}
	return ""
}

func (x *CreateStreamRequest) GetAutoPublish() *wrapperspb.BoolValue {
	if x != nil {
		return x.AutoPublish
	}
	return nil
}

func (x *CreateStreamRequest) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *CreateStreamRequest) GetStreamType() isCreateStreamRequest_StreamType {
	if x != nil {
		return x.StreamType
	}
	return nil
}

func (x *CreateStreamRequest) GetOnDemand() *OnDemandParams {
	if x != nil {
		if x, ok := x.StreamType.(*CreateStreamRequest_OnDemand); ok {
			return x.OnDemand
		}
	}
	return nil
}

func (x *CreateStreamRequest) GetSchedule() *ScheduleParams {
	if x != nil {
		if x, ok := x.StreamType.(*CreateStreamRequest_Schedule); ok {
			return x.Schedule
		}
	}
	return nil
}

type isCreateStreamRequest_StreamType interface {
	isCreateStreamRequest_StreamType()
}

type CreateStreamRequest_OnDemand struct {
	// On-demand stream that starts immediately when a video signal appears.
	// This type of stream has no predetermined start or end time.
	OnDemand *OnDemandParams `protobuf:"bytes,1000,opt,name=on_demand,json=onDemand,proto3,oneof"`
}

type CreateStreamRequest_Schedule struct {
	// Scheduled stream that starts and finishes at specified time.
	// This type of stream has predetermined start and end time.
	Schedule *ScheduleParams `protobuf:"bytes,1001,opt,name=schedule,proto3,oneof"`
}

func (*CreateStreamRequest_OnDemand) isCreateStreamRequest_StreamType() {}

func (*CreateStreamRequest_Schedule) isCreateStreamRequest_StreamType() {}

// On-demand streams start automatically when a video signal is detected
// and must be manually stopped when no longer needed.
type OnDemandParams struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OnDemandParams) Reset() {
	*x = OnDemandParams{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OnDemandParams) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OnDemandParams) ProtoMessage() {}

func (x *OnDemandParams) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OnDemandParams.ProtoReflect.Descriptor instead.
func (*OnDemandParams) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{6}
}

type ScheduleParams struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Scheduled time when the stream should automatically start.
	// The streaming infrastructure will be prepared at this time
	// and will begin accepting the video signal.
	StartTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// Scheduled time when the stream should automatically finish.
	// The streaming infrastructure will be shut down at this time
	// and the stream will be marked as FINISHED.
	FinishTime    *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=finish_time,json=finishTime,proto3" json:"finish_time,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ScheduleParams) Reset() {
	*x = ScheduleParams{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ScheduleParams) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ScheduleParams) ProtoMessage() {}

func (x *ScheduleParams) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ScheduleParams.ProtoReflect.Descriptor instead.
func (*ScheduleParams) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{7}
}

func (x *ScheduleParams) GetStartTime() *timestamppb.Timestamp {
	if x != nil {
		return x.StartTime
	}
	return nil
}

func (x *ScheduleParams) GetFinishTime() *timestamppb.Timestamp {
	if x != nil {
		return x.FinishTime
	}
	return nil
}

type CreateStreamMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the stream being created.
	StreamId      string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateStreamMetadata) Reset() {
	*x = CreateStreamMetadata{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateStreamMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateStreamMetadata) ProtoMessage() {}

func (x *CreateStreamMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateStreamMetadata.ProtoReflect.Descriptor instead.
func (*CreateStreamMetadata) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{8}
}

func (x *CreateStreamMetadata) GetStreamId() string {
	if x != nil {
		return x.StreamId
	}
	return ""
}

type UpdateStreamRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the stream.
	StreamId string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
	// Field mask specifying which fields of the stream should be updated.
	// Only fields specified in this mask will be modified;
	// all other fields will retain their current values.
	// This allows for partial updates.
	FieldMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=field_mask,json=fieldMask,proto3" json:"field_mask,omitempty"`
	// DEPRECATED.
	LineId string `protobuf:"bytes,3,opt,name=line_id,json=lineId,proto3" json:"line_id,omitempty"`
	// Stream title.
	Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"`
	// Stream description.
	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
	// ID of the thumbnail.
	ThumbnailId string `protobuf:"bytes,6,opt,name=thumbnail_id,json=thumbnailId,proto3" json:"thumbnail_id,omitempty"`
	// Automatically publish stream when ready.
	// Switches status from READY to ONAIR.
	AutoPublish *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=auto_publish,json=autoPublish,proto3" json:"auto_publish,omitempty"`
	// New custom labels for the stream as `key:value` pairs.
	// Maximum 64 labels per stream.
	// If provided, replaces all existing labels.
	Labels map[string]string `protobuf:"bytes,200,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Stream type.
	//
	// Types that are valid to be assigned to StreamType:
	//
	//	*UpdateStreamRequest_OnDemand
	//	*UpdateStreamRequest_Schedule
	StreamType    isUpdateStreamRequest_StreamType `protobuf_oneof:"stream_type"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateStreamRequest) Reset() {
	*x = UpdateStreamRequest{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateStreamRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateStreamRequest) ProtoMessage() {}

func (x *UpdateStreamRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateStreamRequest.ProtoReflect.Descriptor instead.
func (*UpdateStreamRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{9}
}

func (x *UpdateStreamRequest) GetStreamId() string {
	if x != nil {
		return x.StreamId
	}
	return ""
}

func (x *UpdateStreamRequest) GetFieldMask() *fieldmaskpb.FieldMask {
	if x != nil {
		return x.FieldMask
	}
	return nil
}

func (x *UpdateStreamRequest) GetLineId() string {
	if x != nil {
		return x.LineId
	}
	return ""
}

func (x *UpdateStreamRequest) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *UpdateStreamRequest) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *UpdateStreamRequest) GetThumbnailId() string {
	if x != nil {
		return x.ThumbnailId
	}
	return ""
}

func (x *UpdateStreamRequest) GetAutoPublish() *wrapperspb.BoolValue {
	if x != nil {
		return x.AutoPublish
	}
	return nil
}

func (x *UpdateStreamRequest) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *UpdateStreamRequest) GetStreamType() isUpdateStreamRequest_StreamType {
	if x != nil {
		return x.StreamType
	}
	return nil
}

func (x *UpdateStreamRequest) GetOnDemand() *OnDemandParams {
	if x != nil {
		if x, ok := x.StreamType.(*UpdateStreamRequest_OnDemand); ok {
			return x.OnDemand
		}
	}
	return nil
}

func (x *UpdateStreamRequest) GetSchedule() *ScheduleParams {
	if x != nil {
		if x, ok := x.StreamType.(*UpdateStreamRequest_Schedule); ok {
			return x.Schedule
		}
	}
	return nil
}

type isUpdateStreamRequest_StreamType interface {
	isUpdateStreamRequest_StreamType()
}

type UpdateStreamRequest_OnDemand struct {
	// On demand stream.
	// It starts immediately when a signal appears.
	OnDemand *OnDemandParams `protobuf:"bytes,1000,opt,name=on_demand,json=onDemand,proto3,oneof"`
}

type UpdateStreamRequest_Schedule struct {
	// Scheduled stream.
	// It starts and finishes at specified time.
	Schedule *ScheduleParams `protobuf:"bytes,1001,opt,name=schedule,proto3,oneof"`
}

func (*UpdateStreamRequest_OnDemand) isUpdateStreamRequest_StreamType() {}

func (*UpdateStreamRequest_Schedule) isUpdateStreamRequest_StreamType() {}

type UpdateStreamMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the stream.
	StreamId      string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateStreamMetadata) Reset() {
	*x = UpdateStreamMetadata{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateStreamMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateStreamMetadata) ProtoMessage() {}

func (x *UpdateStreamMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateStreamMetadata.ProtoReflect.Descriptor instead.
func (*UpdateStreamMetadata) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{10}
}

func (x *UpdateStreamMetadata) GetStreamId() string {
	if x != nil {
		return x.StreamId
	}
	return ""
}

type DeleteStreamRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the stream to delete.
	StreamId      string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteStreamRequest) Reset() {
	*x = DeleteStreamRequest{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteStreamRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteStreamRequest) ProtoMessage() {}

func (x *DeleteStreamRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteStreamRequest.ProtoReflect.Descriptor instead.
func (*DeleteStreamRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{11}
}

func (x *DeleteStreamRequest) GetStreamId() string {
	if x != nil {
		return x.StreamId
	}
	return ""
}

type DeleteStreamMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the stream.
	// This identifier can be used to track the stream deletion operation.
	StreamId      string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteStreamMetadata) Reset() {
	*x = DeleteStreamMetadata{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteStreamMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteStreamMetadata) ProtoMessage() {}

func (x *DeleteStreamMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteStreamMetadata.ProtoReflect.Descriptor instead.
func (*DeleteStreamMetadata) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{12}
}

func (x *DeleteStreamMetadata) GetStreamId() string {
	if x != nil {
		return x.StreamId
	}
	return ""
}

type BatchDeleteStreamsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the channel containing the streams to delete.
	ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
	// List of stream IDs to delete.
	// All streams must exist in the specified channel.
	StreamIds     []string `protobuf:"bytes,2,rep,name=stream_ids,json=streamIds,proto3" json:"stream_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BatchDeleteStreamsRequest) Reset() {
	*x = BatchDeleteStreamsRequest{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BatchDeleteStreamsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BatchDeleteStreamsRequest) ProtoMessage() {}

func (x *BatchDeleteStreamsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BatchDeleteStreamsRequest.ProtoReflect.Descriptor instead.
func (*BatchDeleteStreamsRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{13}
}

func (x *BatchDeleteStreamsRequest) GetChannelId() string {
	if x != nil {
		return x.ChannelId
	}
	return ""
}

func (x *BatchDeleteStreamsRequest) GetStreamIds() []string {
	if x != nil {
		return x.StreamIds
	}
	return nil
}

type BatchDeleteStreamsMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of stream IDs being deleted.
	// This list can be used to track which streams are included
	// in the batch deletion operation.
	StreamIds     []string `protobuf:"bytes,1,rep,name=stream_ids,json=streamIds,proto3" json:"stream_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BatchDeleteStreamsMetadata) Reset() {
	*x = BatchDeleteStreamsMetadata{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BatchDeleteStreamsMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BatchDeleteStreamsMetadata) ProtoMessage() {}

func (x *BatchDeleteStreamsMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BatchDeleteStreamsMetadata.ProtoReflect.Descriptor instead.
func (*BatchDeleteStreamsMetadata) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{14}
}

func (x *BatchDeleteStreamsMetadata) GetStreamIds() []string {
	if x != nil {
		return x.StreamIds
	}
	return nil
}

type PerformStreamActionRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the stream on which to perform the action.
	StreamId string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
	// Specifies which action to perform on the stream (exactly one must be chosen).
	//
	// Types that are valid to be assigned to Action:
	//
	//	*PerformStreamActionRequest_Publish
	//	*PerformStreamActionRequest_Stop
	Action        isPerformStreamActionRequest_Action `protobuf_oneof:"action"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PerformStreamActionRequest) Reset() {
	*x = PerformStreamActionRequest{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PerformStreamActionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PerformStreamActionRequest) ProtoMessage() {}

func (x *PerformStreamActionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PerformStreamActionRequest.ProtoReflect.Descriptor instead.
func (*PerformStreamActionRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{15}
}

func (x *PerformStreamActionRequest) GetStreamId() string {
	if x != nil {
		return x.StreamId
	}
	return ""
}

func (x *PerformStreamActionRequest) GetAction() isPerformStreamActionRequest_Action {
	if x != nil {
		return x.Action
	}
	return nil
}

func (x *PerformStreamActionRequest) GetPublish() *PublishAction {
	if x != nil {
		if x, ok := x.Action.(*PerformStreamActionRequest_Publish); ok {
			return x.Publish
		}
	}
	return nil
}

func (x *PerformStreamActionRequest) GetStop() *StopAction {
	if x != nil {
		if x, ok := x.Action.(*PerformStreamActionRequest_Stop); ok {
			return x.Stop
		}
	}
	return nil
}

type isPerformStreamActionRequest_Action interface {
	isPerformStreamActionRequest_Action()
}

type PerformStreamActionRequest_Publish struct {
	// Publish the stream, changing its status from READY to ONAIR.
	// This makes the stream available for watching.
	Publish *PublishAction `protobuf:"bytes,1000,opt,name=publish,proto3,oneof"`
}

type PerformStreamActionRequest_Stop struct {
	// Stop the stream, changing its status to FINISHED.
	// This terminates the streaming session and releases resources.
	Stop *StopAction `protobuf:"bytes,1002,opt,name=stop,proto3,oneof"`
}

func (*PerformStreamActionRequest_Publish) isPerformStreamActionRequest_Action() {}

func (*PerformStreamActionRequest_Stop) isPerformStreamActionRequest_Action() {}

// Parameters for the publish action.
// The action changes the stream's status from READY to ONAIR.
type PublishAction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PublishAction) Reset() {
	*x = PublishAction{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PublishAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PublishAction) ProtoMessage() {}

func (x *PublishAction) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PublishAction.ProtoReflect.Descriptor instead.
func (*PublishAction) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{16}
}

// Parameters for the stop action.
// The action changes the stream's status to FINISHED.
type StopAction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StopAction) Reset() {
	*x = StopAction{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StopAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StopAction) ProtoMessage() {}

func (x *StopAction) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StopAction.ProtoReflect.Descriptor instead.
func (*StopAction) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{17}
}

type PerformStreamActionMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the stream on which the action is being performed.
	// This identifier can be used to track the action operation
	// and to verify that the action is being applied to the correct stream.
	StreamId      string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PerformStreamActionMetadata) Reset() {
	*x = PerformStreamActionMetadata{}
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PerformStreamActionMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PerformStreamActionMetadata) ProtoMessage() {}

func (x *PerformStreamActionMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_video_v1_stream_service_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PerformStreamActionMetadata.ProtoReflect.Descriptor instead.
func (*PerformStreamActionMetadata) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP(), []int{18}
}

func (x *PerformStreamActionMetadata) GetStreamId() string {
	if x != nil {
		return x.StreamId
	}
	return ""
}

var File_yandex_cloud_video_v1_stream_service_proto protoreflect.FileDescriptor

const file_yandex_cloud_video_v1_stream_service_proto_rawDesc = "" +
	"\n" +
	"*yandex/cloud/video/v1/stream_service.proto\x12\x15yandex.cloud.video.v1\x1a\x1cgoogle/api/annotations.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a yandex/cloud/api/operation.proto\x1a&yandex/cloud/operation/operation.proto\x1a\x1dyandex/cloud/validation.proto\x1a\"yandex/cloud/video/v1/stream.proto\"=\n" +
	"\x10GetStreamRequest\x12)\n" +
	"\tstream_id\x18\x01 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\bstreamId\"\xe4\x01\n" +
	"\x12ListStreamsRequest\x12+\n" +
	"\n" +
	"channel_id\x18\x01 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\tchannelId\x12&\n" +
	"\tpage_size\x18d \x01(\x03B\t\xfa\xc71\x05<=100R\bpageSize\x12*\n" +
	"\n" +
	"page_token\x18e \x01(\tB\v\x8a\xc81\a<=15000R\tpageToken\x12#\n" +
	"\border_by\x18f \x01(\tB\b\x8a\xc81\x04<=50R\aorderBy\x12\"\n" +
	"\x06filter\x18g \x01(\tB\n" +
	"\x8a\xc81\x06<=1000R\x06filterJ\x04\b\x02\x10d\"|\n" +
	"\x13ListStreamsResponse\x127\n" +
	"\astreams\x18\x01 \x03(\v2\x1d.yandex.cloud.video.v1.StreamR\astreams\x12&\n" +
	"\x0fnext_page_token\x18d \x01(\tR\rnextPageTokenJ\x04\b\x02\x10d\"w\n" +
	"\x16BatchGetStreamsRequest\x12+\n" +
	"\n" +
	"channel_id\x18\x01 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\tchannelId\x120\n" +
	"\n" +
	"stream_ids\x18\x02 \x03(\tB\x11\x82\xc81\x051-100\x8a\xc81\x04<=50R\tstreamIds\"R\n" +
	"\x17BatchGetStreamsResponse\x127\n" +
	"\astreams\x18\x01 \x03(\v2\x1d.yandex.cloud.video.v1.StreamR\astreams\"\xaa\x05\n" +
	"\x13CreateStreamRequest\x12+\n" +
	"\n" +
	"channel_id\x18\x01 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\tchannelId\x12%\n" +
	"\aline_id\x18\x02 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\x06lineId\x12#\n" +
	"\x05title\x18\x03 \x01(\tB\r\xe8\xc71\x01\x8a\xc81\x05<=300R\x05title\x12,\n" +
	"\vdescription\x18\x04 \x01(\tB\n" +
	"\x8a\xc81\x06<=4000R\vdescription\x12+\n" +
	"\fthumbnail_id\x18\x05 \x01(\tB\b\x8a\xc81\x04<=50R\vthumbnailId\x12=\n" +
	"\fauto_publish\x18\x06 \x01(\v2\x1a.google.protobuf.BoolValueR\vautoPublish\x12\x93\x01\n" +
	"\x06labels\x18\xc8\x01 \x03(\v26.yandex.cloud.video.v1.CreateStreamRequest.LabelsEntryBB\xf2\xc71\x12[-_.@:/0-9a-zA-Z]*\x82\xc81\x04<=64\x8a\xc81\x04<=63\xb2\xc81\x18\x12\x10[a-z][-_0-9a-z]*\x1a\x04<=63R\x06labels\x12E\n" +
	"\ton_demand\x18\xe8\a \x01(\v2%.yandex.cloud.video.v1.OnDemandParamsH\x00R\bonDemand\x12D\n" +
	"\bschedule\x18\xe9\a \x01(\v2%.yandex.cloud.video.v1.ScheduleParamsH\x00R\bschedule\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x13\n" +
	"\vstream_type\x12\x04\xc0\xc11\x01J\x05\b\a\x10\xc8\x01J\x06\b\xc9\x01\x10\xe8\a\"\x10\n" +
	"\x0eOnDemandParams\"\x94\x01\n" +
	"\x0eScheduleParams\x12?\n" +
	"\n" +
	"start_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampB\x04\xe8\xc71\x01R\tstartTime\x12A\n" +
	"\vfinish_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampB\x04\xe8\xc71\x01R\n" +
	"finishTime\"3\n" +
	"\x14CreateStreamMetadata\x12\x1b\n" +
	"\tstream_id\x18\x01 \x01(\tR\bstreamId\"\xdb\x05\n" +
	"\x13UpdateStreamRequest\x12)\n" +
	"\tstream_id\x18\x01 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\bstreamId\x12?\n" +
	"\n" +
	"field_mask\x18\x02 \x01(\v2\x1a.google.protobuf.FieldMaskB\x04\xe8\xc71\x01R\tfieldMask\x12!\n" +
	"\aline_id\x18\x03 \x01(\tB\b\x8a\xc81\x04<=50R\x06lineId\x12\x1f\n" +
	"\x05title\x18\x04 \x01(\tB\t\x8a\xc81\x05<=300R\x05title\x12,\n" +
	"\vdescription\x18\x05 \x01(\tB\n" +
	"\x8a\xc81\x06<=4000R\vdescription\x12+\n" +
	"\fthumbnail_id\x18\x06 \x01(\tB\b\x8a\xc81\x04<=50R\vthumbnailId\x12=\n" +
	"\fauto_publish\x18\a \x01(\v2\x1a.google.protobuf.BoolValueR\vautoPublish\x12\x93\x01\n" +
	"\x06labels\x18\xc8\x01 \x03(\v26.yandex.cloud.video.v1.UpdateStreamRequest.LabelsEntryBB\xf2\xc71\x12[-_.@:/0-9a-zA-Z]*\x82\xc81\x04<=64\x8a\xc81\x04<=63\xb2\xc81\x18\x12\x10[a-z][-_0-9a-z]*\x1a\x04<=63R\x06labels\x12E\n" +
	"\ton_demand\x18\xe8\a \x01(\v2%.yandex.cloud.video.v1.OnDemandParamsH\x00R\bonDemand\x12D\n" +
	"\bschedule\x18\xe9\a \x01(\v2%.yandex.cloud.video.v1.ScheduleParamsH\x00R\bschedule\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\r\n" +
	"\vstream_typeJ\x05\b\b\x10\xc8\x01J\x06\b\xc9\x01\x10\xe8\a\"3\n" +
	"\x14UpdateStreamMetadata\x12\x1b\n" +
	"\tstream_id\x18\x01 \x01(\tR\bstreamId\"@\n" +
	"\x13DeleteStreamRequest\x12)\n" +
	"\tstream_id\x18\x01 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\bstreamId\"3\n" +
	"\x14DeleteStreamMetadata\x12\x1b\n" +
	"\tstream_id\x18\x01 \x01(\tR\bstreamId\"z\n" +
	"\x19BatchDeleteStreamsRequest\x12+\n" +
	"\n" +
	"channel_id\x18\x01 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\tchannelId\x120\n" +
	"\n" +
	"stream_ids\x18\x02 \x03(\tB\x11\x82\xc81\x051-100\x8a\xc81\x04<=50R\tstreamIds\";\n" +
	"\x1aBatchDeleteStreamsMetadata\x12\x1d\n" +
	"\n" +
	"stream_ids\x18\x01 \x03(\tR\tstreamIds\"\xe3\x01\n" +
	"\x1aPerformStreamActionRequest\x12)\n" +
	"\tstream_id\x18\x01 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\bstreamId\x12A\n" +
	"\apublish\x18\xe8\a \x01(\v2$.yandex.cloud.video.v1.PublishActionH\x00R\apublish\x128\n" +
	"\x04stop\x18\xea\a \x01(\v2!.yandex.cloud.video.v1.StopActionH\x00R\x04stopB\x0e\n" +
	"\x06action\x12\x04\xc0\xc11\x01J\x06\b\xe9\a\x10\xea\aJ\x05\b\x02\x10\xe8\a\"\x0f\n" +
	"\rPublishAction\"\f\n" +
	"\n" +
	"StopAction\":\n" +
	"\x1bPerformStreamActionMetadata\x12\x1b\n" +
	"\tstream_id\x18\x01 \x01(\tR\bstreamId2\x93\n" +
	"\n" +
	"\rStreamService\x12t\n" +
	"\x03Get\x12'.yandex.cloud.video.v1.GetStreamRequest\x1a\x1d.yandex.cloud.video.v1.Stream\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/video/v1/streams/{stream_id}\x12x\n" +
	"\x04List\x12).yandex.cloud.video.v1.ListStreamsRequest\x1a*.yandex.cloud.video.v1.ListStreamsResponse\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/video/v1/streams\x12\x90\x01\n" +
	"\bBatchGet\x12-.yandex.cloud.video.v1.BatchGetStreamsRequest\x1a..yandex.cloud.video.v1.BatchGetStreamsResponse\"%\x82\xd3\xe4\x93\x02\x1f:\x01*\"\x1a/video/v1/streams:batchGet\x12\x97\x01\n" +
	"\x06Create\x12*.yandex.cloud.video.v1.CreateStreamRequest\x1a!.yandex.cloud.operation.Operation\">\xb2\xd2*\x1e\n" +
	"\x14CreateStreamMetadata\x12\x06Stream\x82\xd3\xe4\x93\x02\x16:\x01*\"\x11/video/v1/streams\x12\xa3\x01\n" +
	"\x06Update\x12*.yandex.cloud.video.v1.UpdateStreamRequest\x1a!.yandex.cloud.operation.Operation\"J\xb2\xd2*\x1e\n" +
	"\x14UpdateStreamMetadata\x12\x06Stream\x82\xd3\xe4\x93\x02\":\x01*2\x1d/video/v1/streams/{stream_id}\x12\xaf\x01\n" +
	"\x06Delete\x12*.yandex.cloud.video.v1.DeleteStreamRequest\x1a!.yandex.cloud.operation.Operation\"V\xb2\xd2*-\n" +
	"\x14DeleteStreamMetadata\x12\x15google.protobuf.Empty\x82\xd3\xe4\x93\x02\x1f*\x1d/video/v1/streams/{stream_id}\x12\xc3\x01\n" +
	"\vBatchDelete\x120.yandex.cloud.video.v1.BatchDeleteStreamsRequest\x1a!.yandex.cloud.operation.Operation\"_\xb2\xd2*3\n" +
	"\x1aBatchDeleteStreamsMetadata\x12\x15google.protobuf.Empty\x82\xd3\xe4\x93\x02\":\x01*\"\x1d/video/v1/streams:batchDelete\x12\xc6\x01\n" +
	"\rPerformAction\x121.yandex.cloud.video.v1.PerformStreamActionRequest\x1a!.yandex.cloud.operation.Operation\"_\xb2\xd2*%\n" +
	"\x1bPerformStreamActionMetadata\x12\x06Stream\x82\xd3\xe4\x93\x020:\x01*\"+/video/v1/streams/{stream_id}:performActionB\\\n" +
	"\x19yandex.cloud.api.video.v1Z?github.com/yandex-cloud/go-genproto/yandex/cloud/video/v1;videob\x06proto3"

var (
	file_yandex_cloud_video_v1_stream_service_proto_rawDescOnce sync.Once
	file_yandex_cloud_video_v1_stream_service_proto_rawDescData []byte
)

func file_yandex_cloud_video_v1_stream_service_proto_rawDescGZIP() []byte {
	file_yandex_cloud_video_v1_stream_service_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_video_v1_stream_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_video_v1_stream_service_proto_rawDesc), len(file_yandex_cloud_video_v1_stream_service_proto_rawDesc)))
	})
	return file_yandex_cloud_video_v1_stream_service_proto_rawDescData
}

var file_yandex_cloud_video_v1_stream_service_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
var file_yandex_cloud_video_v1_stream_service_proto_goTypes = []any{
	(*GetStreamRequest)(nil),            // 0: yandex.cloud.video.v1.GetStreamRequest
	(*ListStreamsRequest)(nil),          // 1: yandex.cloud.video.v1.ListStreamsRequest
	(*ListStreamsResponse)(nil),         // 2: yandex.cloud.video.v1.ListStreamsResponse
	(*BatchGetStreamsRequest)(nil),      // 3: yandex.cloud.video.v1.BatchGetStreamsRequest
	(*BatchGetStreamsResponse)(nil),     // 4: yandex.cloud.video.v1.BatchGetStreamsResponse
	(*CreateStreamRequest)(nil),         // 5: yandex.cloud.video.v1.CreateStreamRequest
	(*OnDemandParams)(nil),              // 6: yandex.cloud.video.v1.OnDemandParams
	(*ScheduleParams)(nil),              // 7: yandex.cloud.video.v1.ScheduleParams
	(*CreateStreamMetadata)(nil),        // 8: yandex.cloud.video.v1.CreateStreamMetadata
	(*UpdateStreamRequest)(nil),         // 9: yandex.cloud.video.v1.UpdateStreamRequest
	(*UpdateStreamMetadata)(nil),        // 10: yandex.cloud.video.v1.UpdateStreamMetadata
	(*DeleteStreamRequest)(nil),         // 11: yandex.cloud.video.v1.DeleteStreamRequest
	(*DeleteStreamMetadata)(nil),        // 12: yandex.cloud.video.v1.DeleteStreamMetadata
	(*BatchDeleteStreamsRequest)(nil),   // 13: yandex.cloud.video.v1.BatchDeleteStreamsRequest
	(*BatchDeleteStreamsMetadata)(nil),  // 14: yandex.cloud.video.v1.BatchDeleteStreamsMetadata
	(*PerformStreamActionRequest)(nil),  // 15: yandex.cloud.video.v1.PerformStreamActionRequest
	(*PublishAction)(nil),               // 16: yandex.cloud.video.v1.PublishAction
	(*StopAction)(nil),                  // 17: yandex.cloud.video.v1.StopAction
	(*PerformStreamActionMetadata)(nil), // 18: yandex.cloud.video.v1.PerformStreamActionMetadata
	nil,                                 // 19: yandex.cloud.video.v1.CreateStreamRequest.LabelsEntry
	nil,                                 // 20: yandex.cloud.video.v1.UpdateStreamRequest.LabelsEntry
	(*Stream)(nil),                      // 21: yandex.cloud.video.v1.Stream
	(*wrapperspb.BoolValue)(nil),        // 22: google.protobuf.BoolValue
	(*timestamppb.Timestamp)(nil),       // 23: google.protobuf.Timestamp
	(*fieldmaskpb.FieldMask)(nil),       // 24: google.protobuf.FieldMask
	(*operation.Operation)(nil),         // 25: yandex.cloud.operation.Operation
}
var file_yandex_cloud_video_v1_stream_service_proto_depIdxs = []int32{
	21, // 0: yandex.cloud.video.v1.ListStreamsResponse.streams:type_name -> yandex.cloud.video.v1.Stream
	21, // 1: yandex.cloud.video.v1.BatchGetStreamsResponse.streams:type_name -> yandex.cloud.video.v1.Stream
	22, // 2: yandex.cloud.video.v1.CreateStreamRequest.auto_publish:type_name -> google.protobuf.BoolValue
	19, // 3: yandex.cloud.video.v1.CreateStreamRequest.labels:type_name -> yandex.cloud.video.v1.CreateStreamRequest.LabelsEntry
	6,  // 4: yandex.cloud.video.v1.CreateStreamRequest.on_demand:type_name -> yandex.cloud.video.v1.OnDemandParams
	7,  // 5: yandex.cloud.video.v1.CreateStreamRequest.schedule:type_name -> yandex.cloud.video.v1.ScheduleParams
	23, // 6: yandex.cloud.video.v1.ScheduleParams.start_time:type_name -> google.protobuf.Timestamp
	23, // 7: yandex.cloud.video.v1.ScheduleParams.finish_time:type_name -> google.protobuf.Timestamp
	24, // 8: yandex.cloud.video.v1.UpdateStreamRequest.field_mask:type_name -> google.protobuf.FieldMask
	22, // 9: yandex.cloud.video.v1.UpdateStreamRequest.auto_publish:type_name -> google.protobuf.BoolValue
	20, // 10: yandex.cloud.video.v1.UpdateStreamRequest.labels:type_name -> yandex.cloud.video.v1.UpdateStreamRequest.LabelsEntry
	6,  // 11: yandex.cloud.video.v1.UpdateStreamRequest.on_demand:type_name -> yandex.cloud.video.v1.OnDemandParams
	7,  // 12: yandex.cloud.video.v1.UpdateStreamRequest.schedule:type_name -> yandex.cloud.video.v1.ScheduleParams
	16, // 13: yandex.cloud.video.v1.PerformStreamActionRequest.publish:type_name -> yandex.cloud.video.v1.PublishAction
	17, // 14: yandex.cloud.video.v1.PerformStreamActionRequest.stop:type_name -> yandex.cloud.video.v1.StopAction
	0,  // 15: yandex.cloud.video.v1.StreamService.Get:input_type -> yandex.cloud.video.v1.GetStreamRequest
	1,  // 16: yandex.cloud.video.v1.StreamService.List:input_type -> yandex.cloud.video.v1.ListStreamsRequest
	3,  // 17: yandex.cloud.video.v1.StreamService.BatchGet:input_type -> yandex.cloud.video.v1.BatchGetStreamsRequest
	5,  // 18: yandex.cloud.video.v1.StreamService.Create:input_type -> yandex.cloud.video.v1.CreateStreamRequest
	9,  // 19: yandex.cloud.video.v1.StreamService.Update:input_type -> yandex.cloud.video.v1.UpdateStreamRequest
	11, // 20: yandex.cloud.video.v1.StreamService.Delete:input_type -> yandex.cloud.video.v1.DeleteStreamRequest
	13, // 21: yandex.cloud.video.v1.StreamService.BatchDelete:input_type -> yandex.cloud.video.v1.BatchDeleteStreamsRequest
	15, // 22: yandex.cloud.video.v1.StreamService.PerformAction:input_type -> yandex.cloud.video.v1.PerformStreamActionRequest
	21, // 23: yandex.cloud.video.v1.StreamService.Get:output_type -> yandex.cloud.video.v1.Stream
	2,  // 24: yandex.cloud.video.v1.StreamService.List:output_type -> yandex.cloud.video.v1.ListStreamsResponse
	4,  // 25: yandex.cloud.video.v1.StreamService.BatchGet:output_type -> yandex.cloud.video.v1.BatchGetStreamsResponse
	25, // 26: yandex.cloud.video.v1.StreamService.Create:output_type -> yandex.cloud.operation.Operation
	25, // 27: yandex.cloud.video.v1.StreamService.Update:output_type -> yandex.cloud.operation.Operation
	25, // 28: yandex.cloud.video.v1.StreamService.Delete:output_type -> yandex.cloud.operation.Operation
	25, // 29: yandex.cloud.video.v1.StreamService.BatchDelete:output_type -> yandex.cloud.operation.Operation
	25, // 30: yandex.cloud.video.v1.StreamService.PerformAction:output_type -> yandex.cloud.operation.Operation
	23, // [23:31] is the sub-list for method output_type
	15, // [15:23] 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
}

func init() { file_yandex_cloud_video_v1_stream_service_proto_init() }
func file_yandex_cloud_video_v1_stream_service_proto_init() {
	if File_yandex_cloud_video_v1_stream_service_proto != nil {
		return
	}
	file_yandex_cloud_video_v1_stream_proto_init()
	file_yandex_cloud_video_v1_stream_service_proto_msgTypes[5].OneofWrappers = []any{
		(*CreateStreamRequest_OnDemand)(nil),
		(*CreateStreamRequest_Schedule)(nil),
	}
	file_yandex_cloud_video_v1_stream_service_proto_msgTypes[9].OneofWrappers = []any{
		(*UpdateStreamRequest_OnDemand)(nil),
		(*UpdateStreamRequest_Schedule)(nil),
	}
	file_yandex_cloud_video_v1_stream_service_proto_msgTypes[15].OneofWrappers = []any{
		(*PerformStreamActionRequest_Publish)(nil),
		(*PerformStreamActionRequest_Stop)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_video_v1_stream_service_proto_rawDesc), len(file_yandex_cloud_video_v1_stream_service_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   21,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_yandex_cloud_video_v1_stream_service_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_video_v1_stream_service_proto_depIdxs,
		MessageInfos:      file_yandex_cloud_video_v1_stream_service_proto_msgTypes,
	}.Build()
	File_yandex_cloud_video_v1_stream_service_proto = out.File
	file_yandex_cloud_video_v1_stream_service_proto_goTypes = nil
	file_yandex_cloud_video_v1_stream_service_proto_depIdxs = nil
}
