aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/yandex-cloud-api-protos/yandex/cloud/video/v1/video.proto
blob: ac18d4ded39993e7cf169b0a87d6d0f67dfb63cb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
syntax = "proto3";

package yandex.cloud.video.v1;

import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";

option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/video/v1;video";
option java_package = "yandex.cloud.api.video.v1";

message Video {
  reserved 102 to 199;
  reserved 201 to 999;
  reserved 1001 to 1999;
  reserved 10 to 99;
  reserved 7, 2001;

  // ID of the video.
  string id = 1;
  // ID of the channel where the video was created.
  string channel_id = 2;

  // Video title.
  string title = 3;
  // Video description.
  string description = 4;
  // ID of the thumbnail.
  string thumbnail_id = 5;

  // Video status.
  VideoStatus status = 6;

  // Video duration. Optional, may be empty until the transcoding result is ready.
  google.protobuf.Duration duration = 8;

  // Video visibility status.
  VisibilityStatus visibility_status = 9;

  // Source type.
  oneof source {
    // Upload video using the tus protocol.
    VideoTUSDSource tusd = 1000;
  }

  // Video access rights.
  oneof access_rights {
    // Video is available to everyone.
    VideoPublicAccessRights public_access = 2000;
    // Checking access rights using the authorization system.
    VideoAuthSystemAccessRights auth_system_access = 2002;
  }

  // Time when video was created.
  google.protobuf.Timestamp created_at = 100;
  // Time of last video update.
  google.protobuf.Timestamp updated_at = 101;

  // Custom labels as `` key:value `` pairs. Maximum 64 per resource.
  map<string, string> labels = 200;

  enum VideoStatus {
    // Video status unspecified.
    VIDEO_STATUS_UNSPECIFIED = 0;
    // Waiting for the whole number of bytes to be loaded.
    WAIT_UPLOADING = 1;
    // Video processing.
    PROCESSING = 4;
    // Video is ready, processing is completed.
    READY = 5;
    // An error occurred during video processing.
    ERROR = 7;
  }

  enum VisibilityStatus {
    // Visibility status unspecified.
    VISIBILITY_STATUS_UNSPECIFIED = 0;
    // Video is published and available for viewing.
    PUBLISHED = 1;
    // Video is unpublished, only admin can watch.
    UNPUBLISHED = 2;
  }
}

message VideoTUSDSource {
  // URL for uploading video via the tus protocol.
  string url = 1;
}

message VideoPublicAccessRights {}

message VideoAuthSystemAccessRights {}