streams_resources.proto 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. // Copyright 2022 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package google.cloud.visionai.v1alpha1;
  16. import "google/api/field_behavior.proto";
  17. import "google/api/resource.proto";
  18. import "google/protobuf/duration.proto";
  19. import "google/protobuf/timestamp.proto";
  20. option csharp_namespace = "Google.Cloud.VisionAI.V1Alpha1";
  21. option go_package = "google.golang.org/genproto/googleapis/cloud/visionai/v1alpha1;visionai";
  22. option java_multiple_files = true;
  23. option java_outer_classname = "StreamsResourcesProto";
  24. option java_package = "com.google.cloud.visionai.v1alpha1";
  25. option php_namespace = "Google\\Cloud\\VisionAI\\V1alpha1";
  26. option ruby_package = "Google::Cloud::VisionAI::V1alpha1";
  27. // Message describing the Stream object. The Stream and the Event resources are
  28. // many to many; i.e., each Stream resource can associate to many Event
  29. // resources and each Event resource can associate to many Stream resources.
  30. message Stream {
  31. option (google.api.resource) = {
  32. type: "visionai.googleapis.com/Stream"
  33. pattern: "projects/{project}/locations/{location}/clusters/{cluster}/streams/{stream}"
  34. };
  35. // Name of the resource.
  36. string name = 1;
  37. // Output only. The create timestamp.
  38. google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  39. // Output only. The update timestamp.
  40. google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  41. // Labels as key value pairs.
  42. map<string, string> labels = 4;
  43. // Annotations to allow clients to store small amounts of arbitrary data.
  44. map<string, string> annotations = 5;
  45. // The display name for the stream resource.
  46. string display_name = 6;
  47. // Whether to enable the HLS playback service on this stream.
  48. bool enable_hls_playback = 7;
  49. // The name of the media warehouse asset for long term storage of stream data.
  50. // Format: projects/${p_id}/locations/${l_id}/corpora/${c_id}/assets/${a_id}
  51. // Remain empty if the media warehouse storage is not needed for the stream.
  52. string media_warehouse_asset = 8;
  53. }
  54. // Message describing the Event object.
  55. message Event {
  56. option (google.api.resource) = {
  57. type: "visionai.googleapis.com/Event"
  58. pattern: "projects/{project}/locations/{location}/clusters/{cluster}/events/{event}"
  59. };
  60. // Clock that will be used for joining streams.
  61. enum Clock {
  62. // Clock is not specified.
  63. CLOCK_UNSPECIFIED = 0;
  64. // Use the timestamp when the data is captured. Clients need to sync the
  65. // clock.
  66. CAPTURE = 1;
  67. // Use the timestamp when the data is received.
  68. INGEST = 2;
  69. }
  70. // Name of the resource.
  71. string name = 1;
  72. // Output only. The create timestamp.
  73. google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  74. // Output only. The update timestamp.
  75. google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  76. // Labels as key value pairs.
  77. map<string, string> labels = 4;
  78. // Annotations to allow clients to store small amounts of arbitrary data.
  79. map<string, string> annotations = 5;
  80. // The clock used for joining streams.
  81. Clock alignment_clock = 6;
  82. // Grace period for cleaning up the event. This is the time the controller
  83. // waits for before deleting the event. During this period, if there is any
  84. // active channel on the event. The deletion of the event after grace_period
  85. // will be ignored.
  86. google.protobuf.Duration grace_period = 7;
  87. }
  88. // Message describing the Series object.
  89. message Series {
  90. option (google.api.resource) = {
  91. type: "visionai.googleapis.com/Series"
  92. pattern: "projects/{project}/locations/{location}/clusters/{cluster}/series/{series}"
  93. };
  94. // Name of the resource.
  95. string name = 1;
  96. // Output only. The create timestamp.
  97. google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  98. // Output only. The update timestamp.
  99. google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  100. // Labels as key value pairs.
  101. map<string, string> labels = 4;
  102. // Annotations to allow clients to store small amounts of arbitrary data.
  103. map<string, string> annotations = 5;
  104. // Required. Stream that is associated with this series.
  105. string stream = 6 [
  106. (google.api.field_behavior) = REQUIRED,
  107. (google.api.resource_reference) = {
  108. type: "visionai.googleapis.com/Stream"
  109. }
  110. ];
  111. // Required. Event that is associated with this series.
  112. string event = 7 [
  113. (google.api.field_behavior) = REQUIRED,
  114. (google.api.resource_reference) = {
  115. type: "visionai.googleapis.com/Event"
  116. }
  117. ];
  118. }
  119. // Message describing the Channel object.
  120. message Channel {
  121. option (google.api.resource) = {
  122. type: "visionai.googleapis.com/Channel"
  123. pattern: "projects/{project}/locations/{location}/clusters/{cluster}/channels/{channel}"
  124. };
  125. // Name of the resource.
  126. string name = 1;
  127. // Output only. The create timestamp.
  128. google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  129. // Output only. The update timestamp.
  130. google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  131. // Labels as key value pairs.
  132. map<string, string> labels = 4;
  133. // Annotations to allow clients to store small amounts of arbitrary data.
  134. map<string, string> annotations = 5;
  135. // Required. Stream that is associated with this series.
  136. string stream = 6 [
  137. (google.api.field_behavior) = REQUIRED,
  138. (google.api.resource_reference) = {
  139. type: "visionai.googleapis.com/Stream"
  140. }
  141. ];
  142. // Required. Event that is associated with this series.
  143. string event = 7 [
  144. (google.api.field_behavior) = REQUIRED,
  145. (google.api.resource_reference) = {
  146. type: "visionai.googleapis.com/Event"
  147. }
  148. ];
  149. }