google-api-client 0.49.0 → 0.50.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (200) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -0
  3. data/generated/google/apis/accessapproval_v1.rb +1 -1
  4. data/generated/google/apis/accessapproval_v1/service.rb +12 -9
  5. data/generated/google/apis/admob_v1.rb +4 -1
  6. data/generated/google/apis/admob_v1/service.rb +4 -0
  7. data/generated/google/apis/admob_v1beta.rb +38 -0
  8. data/generated/google/apis/admob_v1beta/classes.rb +1035 -0
  9. data/generated/google/apis/admob_v1beta/representations.rb +472 -0
  10. data/generated/google/apis/admob_v1beta/service.rb +279 -0
  11. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  12. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +8 -32
  13. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +0 -16
  14. data/generated/google/apis/analyticsdata_v1alpha/service.rb +3 -32
  15. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  16. data/generated/google/apis/androidenterprise_v1/classes.rb +6 -0
  17. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
  18. data/generated/google/apis/apigee_v1.rb +1 -1
  19. data/generated/google/apis/apigee_v1/classes.rb +114 -11
  20. data/generated/google/apis/apigee_v1/representations.rb +39 -1
  21. data/generated/google/apis/apigee_v1/service.rb +370 -2
  22. data/generated/google/apis/area120tables_v1alpha1.rb +1 -1
  23. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  24. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +0 -6
  25. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +0 -1
  26. data/generated/google/apis/assuredworkloads_v1beta1.rb +1 -1
  27. data/generated/google/apis/assuredworkloads_v1beta1/classes.rb +22 -10
  28. data/generated/google/apis/assuredworkloads_v1beta1/representations.rb +2 -0
  29. data/generated/google/apis/assuredworkloads_v1beta1/service.rb +1 -5
  30. data/generated/google/apis/billingbudgets_v1.rb +1 -1
  31. data/generated/google/apis/billingbudgets_v1/classes.rb +6 -6
  32. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  33. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +6 -6
  34. data/generated/google/apis/cloudasset_v1.rb +1 -1
  35. data/generated/google/apis/cloudasset_v1/classes.rb +425 -6
  36. data/generated/google/apis/cloudasset_v1/representations.rb +170 -1
  37. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  38. data/generated/google/apis/cloudasset_v1beta1/classes.rb +0 -6
  39. data/generated/google/apis/cloudasset_v1beta1/representations.rb +0 -1
  40. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  41. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +0 -6
  42. data/generated/google/apis/cloudasset_v1p1beta1/representations.rb +0 -1
  43. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  44. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +0 -6
  45. data/generated/google/apis/cloudasset_v1p4beta1/representations.rb +0 -1
  46. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  47. data/generated/google/apis/cloudasset_v1p5beta1/classes.rb +0 -6
  48. data/generated/google/apis/cloudasset_v1p5beta1/representations.rb +0 -1
  49. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  50. data/generated/google/apis/cloudfunctions_v1/classes.rb +0 -6
  51. data/generated/google/apis/cloudfunctions_v1/representations.rb +0 -1
  52. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  53. data/generated/google/apis/cloudidentity_v1/service.rb +7 -3
  54. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  55. data/generated/google/apis/cloudidentity_v1beta1/service.rb +7 -3
  56. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  57. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +323 -6
  58. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +248 -1
  59. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  60. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +323 -6
  61. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +248 -1
  62. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  63. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +323 -6
  64. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +248 -1
  65. data/generated/google/apis/cloudresourcemanager_v2/service.rb +5 -5
  66. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  67. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +323 -6
  68. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +248 -1
  69. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +5 -5
  70. data/generated/google/apis/compute_v1.rb +1 -1
  71. data/generated/google/apis/compute_v1/classes.rb +35 -13
  72. data/generated/google/apis/compute_v1/representations.rb +2 -0
  73. data/generated/google/apis/compute_v1/service.rb +2 -1
  74. data/generated/google/apis/content_v2.rb +1 -1
  75. data/generated/google/apis/content_v2/service.rb +3 -1
  76. data/generated/google/apis/content_v2_1.rb +1 -1
  77. data/generated/google/apis/content_v2_1/classes.rb +446 -4
  78. data/generated/google/apis/content_v2_1/representations.rb +136 -0
  79. data/generated/google/apis/content_v2_1/service.rb +36 -1
  80. data/generated/google/apis/deploymentmanager_v2.rb +2 -2
  81. data/generated/google/apis/deploymentmanager_v2/service.rb +1 -1
  82. data/generated/google/apis/deploymentmanager_v2beta.rb +2 -2
  83. data/generated/google/apis/deploymentmanager_v2beta/service.rb +1 -1
  84. data/generated/google/apis/dialogflow_v2.rb +1 -1
  85. data/generated/google/apis/dialogflow_v2/classes.rb +0 -31
  86. data/generated/google/apis/dialogflow_v2/representations.rb +0 -15
  87. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  88. data/generated/google/apis/dialogflow_v2beta1/classes.rb +0 -31
  89. data/generated/google/apis/dialogflow_v2beta1/representations.rb +0 -15
  90. data/generated/google/apis/dialogflow_v2beta1/service.rb +12 -6
  91. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  92. data/generated/google/apis/dialogflow_v3beta1/classes.rb +0 -31
  93. data/generated/google/apis/dialogflow_v3beta1/representations.rb +0 -15
  94. data/generated/google/apis/displayvideo_v1.rb +1 -1
  95. data/generated/google/apis/displayvideo_v1/classes.rb +5 -5
  96. data/generated/google/apis/displayvideo_v1/service.rb +1 -1
  97. data/generated/google/apis/dlp_v2.rb +1 -1
  98. data/generated/google/apis/dlp_v2/classes.rb +6 -0
  99. data/generated/google/apis/dlp_v2/representations.rb +1 -0
  100. data/generated/google/apis/domains_v1alpha2.rb +1 -1
  101. data/generated/google/apis/domains_v1alpha2/classes.rb +0 -6
  102. data/generated/google/apis/domains_v1alpha2/representations.rb +0 -1
  103. data/generated/google/apis/domains_v1beta1.rb +1 -1
  104. data/generated/google/apis/domains_v1beta1/classes.rb +0 -6
  105. data/generated/google/apis/domains_v1beta1/representations.rb +0 -1
  106. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  107. data/generated/google/apis/drive_v2.rb +1 -1
  108. data/generated/google/apis/drive_v2/classes.rb +2 -2
  109. data/generated/google/apis/drive_v3.rb +1 -1
  110. data/generated/google/apis/drive_v3/classes.rb +2 -2
  111. data/generated/google/apis/healthcare_v1.rb +1 -1
  112. data/generated/google/apis/healthcare_v1/classes.rb +6 -0
  113. data/generated/google/apis/healthcare_v1/representations.rb +1 -0
  114. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  115. data/generated/google/apis/healthcare_v1beta1/classes.rb +12 -54
  116. data/generated/google/apis/healthcare_v1beta1/representations.rb +3 -29
  117. data/generated/google/apis/logging_v2.rb +1 -1
  118. data/generated/google/apis/logging_v2/classes.rb +4 -2
  119. data/generated/google/apis/logging_v2/service.rb +20 -20
  120. data/generated/google/apis/managedidentities_v1.rb +1 -1
  121. data/generated/google/apis/managedidentities_v1/classes.rb +345 -4
  122. data/generated/google/apis/managedidentities_v1/representations.rb +149 -0
  123. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  124. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +345 -4
  125. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +149 -0
  126. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  127. data/generated/google/apis/managedidentities_v1beta1/classes.rb +345 -4
  128. data/generated/google/apis/managedidentities_v1beta1/representations.rb +149 -0
  129. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  130. data/generated/google/apis/memcache_v1beta2/classes.rb +345 -4
  131. data/generated/google/apis/memcache_v1beta2/representations.rb +149 -0
  132. data/generated/google/apis/notebooks_v1.rb +34 -0
  133. data/generated/google/apis/notebooks_v1/classes.rb +1461 -0
  134. data/generated/google/apis/notebooks_v1/representations.rb +581 -0
  135. data/generated/google/apis/notebooks_v1/service.rb +1042 -0
  136. data/generated/google/apis/people_v1.rb +1 -1
  137. data/generated/google/apis/people_v1/service.rb +9 -6
  138. data/generated/google/apis/policytroubleshooter_v1.rb +1 -1
  139. data/generated/google/apis/policytroubleshooter_v1/classes.rb +0 -6
  140. data/generated/google/apis/policytroubleshooter_v1/representations.rb +0 -1
  141. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  142. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +0 -6
  143. data/generated/google/apis/policytroubleshooter_v1beta/representations.rb +0 -1
  144. data/generated/google/apis/privateca_v1beta1.rb +1 -1
  145. data/generated/google/apis/privateca_v1beta1/classes.rb +0 -6
  146. data/generated/google/apis/privateca_v1beta1/representations.rb +0 -1
  147. data/generated/google/apis/privateca_v1beta1/service.rb +0 -52
  148. data/generated/google/apis/realtimebidding_v1.rb +1 -1
  149. data/generated/google/apis/realtimebidding_v1/classes.rb +545 -0
  150. data/generated/google/apis/realtimebidding_v1/representations.rb +232 -0
  151. data/generated/google/apis/realtimebidding_v1/service.rb +450 -0
  152. data/generated/google/apis/redis_v1.rb +1 -1
  153. data/generated/google/apis/redis_v1/classes.rb +58 -0
  154. data/generated/google/apis/redis_v1/representations.rb +20 -0
  155. data/generated/google/apis/redis_v1beta1.rb +1 -1
  156. data/generated/google/apis/redis_v1beta1/classes.rb +58 -0
  157. data/generated/google/apis/redis_v1beta1/representations.rb +20 -0
  158. data/generated/google/apis/run_v1.rb +1 -1
  159. data/generated/google/apis/run_v1/classes.rb +0 -6
  160. data/generated/google/apis/run_v1/representations.rb +0 -1
  161. data/generated/google/apis/run_v1alpha1.rb +1 -1
  162. data/generated/google/apis/run_v1alpha1/classes.rb +0 -6
  163. data/generated/google/apis/run_v1alpha1/representations.rb +0 -1
  164. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  165. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +0 -6
  166. data/generated/google/apis/runtimeconfig_v1beta1/representations.rb +0 -1
  167. data/generated/google/apis/secretmanager_v1.rb +1 -1
  168. data/generated/google/apis/secretmanager_v1/classes.rb +0 -6
  169. data/generated/google/apis/secretmanager_v1/representations.rb +0 -1
  170. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  171. data/generated/google/apis/secretmanager_v1beta1/classes.rb +0 -6
  172. data/generated/google/apis/secretmanager_v1beta1/representations.rb +0 -1
  173. data/generated/google/apis/securitycenter_v1.rb +1 -1
  174. data/generated/google/apis/securitycenter_v1/classes.rb +0 -6
  175. data/generated/google/apis/securitycenter_v1/representations.rb +0 -1
  176. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  177. data/generated/google/apis/securitycenter_v1beta1/classes.rb +0 -6
  178. data/generated/google/apis/securitycenter_v1beta1/representations.rb +0 -1
  179. data/generated/google/apis/servicedirectory_v1beta1.rb +1 -1
  180. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +26 -6
  181. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  182. data/generated/google/apis/servicemanagement_v1/classes.rb +1 -7
  183. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -1
  184. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  185. data/generated/google/apis/servicenetworking_v1/service.rb +38 -0
  186. data/generated/google/apis/storage_v1.rb +1 -1
  187. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  188. data/generated/google/apis/storagetransfer_v1/classes.rb +31 -16
  189. data/generated/google/apis/storagetransfer_v1/representations.rb +3 -0
  190. data/generated/google/apis/storagetransfer_v1/service.rb +3 -3
  191. data/generated/google/apis/transcoder_v1beta1.rb +34 -0
  192. data/generated/google/apis/transcoder_v1beta1/classes.rb +1684 -0
  193. data/generated/google/apis/transcoder_v1beta1/representations.rb +756 -0
  194. data/generated/google/apis/transcoder_v1beta1/service.rb +329 -0
  195. data/generated/google/apis/translate_v3.rb +1 -1
  196. data/generated/google/apis/translate_v3beta1.rb +1 -1
  197. data/generated/google/apis/youtube_v3.rb +1 -1
  198. data/generated/google/apis/youtube_v3/service.rb +6 -6
  199. data/lib/google/apis/version.rb +1 -1
  200. metadata +15 -3
@@ -158,11 +158,6 @@ module Google
158
158
  class Binding
159
159
  include Google::Apis::Core::Hashable
160
160
 
161
- #
162
- # Corresponds to the JSON property `bindingId`
163
- # @return [String]
164
- attr_accessor :binding_id
165
-
166
161
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
167
162
  # CEL is a C-like expression language. The syntax and semantics of CEL are
168
163
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -224,7 +219,6 @@ module Google
224
219
 
225
220
  # Update properties of this object
226
221
  def update!(**args)
227
- @binding_id = args[:binding_id] if args.key?(:binding_id)
228
222
  @condition = args[:condition] if args.key?(:condition)
229
223
  @members = args[:members] if args.key?(:members)
230
224
  @role = args[:role] if args.key?(:role)
@@ -215,7 +215,6 @@ module Google
215
215
  class Binding
216
216
  # @private
217
217
  class Representation < Google::Apis::Core::JsonRepresentation
218
- property :binding_id, as: 'bindingId'
219
218
  property :condition, as: 'condition', class: Google::Apis::SecretmanagerV1beta1::Expr, decorator: Google::Apis::SecretmanagerV1beta1::Expr::Representation
220
219
 
221
220
  collection :members, as: 'members'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://console.cloud.google.com/apis/api/securitycenter.googleapis.com/overview
27
27
  module SecuritycenterV1
28
28
  VERSION = 'V1'
29
- REVISION = '20201030'
29
+ REVISION = '20201106'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -191,11 +191,6 @@ module Google
191
191
  class Binding
192
192
  include Google::Apis::Core::Hashable
193
193
 
194
- #
195
- # Corresponds to the JSON property `bindingId`
196
- # @return [String]
197
- attr_accessor :binding_id
198
-
199
194
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
200
195
  # CEL is a C-like expression language. The syntax and semantics of CEL are
201
196
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -257,7 +252,6 @@ module Google
257
252
 
258
253
  # Update properties of this object
259
254
  def update!(**args)
260
- @binding_id = args[:binding_id] if args.key?(:binding_id)
261
255
  @condition = args[:condition] if args.key?(:condition)
262
256
  @members = args[:members] if args.key?(:members)
263
257
  @role = args[:role] if args.key?(:role)
@@ -348,7 +348,6 @@ module Google
348
348
  class Binding
349
349
  # @private
350
350
  class Representation < Google::Apis::Core::JsonRepresentation
351
- property :binding_id, as: 'bindingId'
352
351
  property :condition, as: 'condition', class: Google::Apis::SecuritycenterV1::Expr, decorator: Google::Apis::SecuritycenterV1::Expr::Representation
353
352
 
354
353
  collection :members, as: 'members'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://console.cloud.google.com/apis/api/securitycenter.googleapis.com/overview
27
27
  module SecuritycenterV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20201030'
29
+ REVISION = '20201106'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -183,11 +183,6 @@ module Google
183
183
  class Binding
184
184
  include Google::Apis::Core::Hashable
185
185
 
186
- #
187
- # Corresponds to the JSON property `bindingId`
188
- # @return [String]
189
- attr_accessor :binding_id
190
-
191
186
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
192
187
  # CEL is a C-like expression language. The syntax and semantics of CEL are
193
188
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -249,7 +244,6 @@ module Google
249
244
 
250
245
  # Update properties of this object
251
246
  def update!(**args)
252
- @binding_id = args[:binding_id] if args.key?(:binding_id)
253
247
  @condition = args[:condition] if args.key?(:condition)
254
248
  @members = args[:members] if args.key?(:members)
255
249
  @role = args[:role] if args.key?(:role)
@@ -328,7 +328,6 @@ module Google
328
328
  class Binding
329
329
  # @private
330
330
  class Representation < Google::Apis::Core::JsonRepresentation
331
- property :binding_id, as: 'bindingId'
332
331
  property :condition, as: 'condition', class: Google::Apis::SecuritycenterV1beta1::Expr, decorator: Google::Apis::SecuritycenterV1beta1::Expr::Representation
333
332
 
334
333
  collection :members, as: 'members'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/service-directory
27
27
  module ServicedirectoryV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20201029'
29
+ REVISION = '20201104'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -129,9 +129,19 @@ module Google
129
129
  attr_accessor :address
130
130
 
131
131
  # Optional. Metadata for the endpoint. This data can be consumed by service
132
- # clients. The entire metadata dictionary may contain up to 512 characters,
133
- # spread accoss all key-value pairs. Metadata that goes beyond any these limits
134
- # will be rejected.
132
+ # clients. Restrictions: - The entire metadata dictionary may contain up to 512
133
+ # characters, spread accoss all key-value pairs. Metadata that goes beyond any
134
+ # these limits will be rejected. - Valid metadata keys have two segments: an
135
+ # optional prefix and name, separated by a slash (/). The name segment is
136
+ # required and must be 63 characters or less, beginning and ending with an
137
+ # alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.)
138
+ # , and alphanumerics between. The prefix is optional. If specified, the prefix
139
+ # must be a DNS subdomain: a series of DNS labels separated by dots (.), not
140
+ # longer than 253 characters in total, followed by a slash (/). Metadata that
141
+ # fails to meet these requirements will be rejected. - The '(*.)google.com/' and
142
+ # '(*.)googleapis.com/' prefixes are reserved for system metadata managed by
143
+ # Service Directory. If the user tries to write to these keyspaces, those
144
+ # entries will be silently ignored by the system.
135
145
  # Corresponds to the JSON property `metadata`
136
146
  # @return [Hash<String,String>]
137
147
  attr_accessor :metadata
@@ -589,9 +599,19 @@ module Google
589
599
  attr_accessor :endpoints
590
600
 
591
601
  # Optional. Metadata for the service. This data can be consumed by service
592
- # clients. The entire metadata dictionary may contain up to 2000 characters,
593
- # spread across all key-value pairs. Metadata that goes beyond any these limits
594
- # will be rejected.
602
+ # clients. Restrictions: - The entire metadata dictionary may contain up to 2000
603
+ # characters, spread accoss all key-value pairs. Metadata that goes beyond any
604
+ # these limits will be rejected. - Valid metadata keys have two segments: an
605
+ # optional prefix and name, separated by a slash (/). The name segment is
606
+ # required and must be 63 characters or less, beginning and ending with an
607
+ # alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.)
608
+ # , and alphanumerics between. The prefix is optional. If specified, the prefix
609
+ # must be a DNS subdomain: a series of DNS labels separated by dots (.), not
610
+ # longer than 253 characters in total, followed by a slash (/). Metadata that
611
+ # fails to meet these requirements will be rejected. - The '(*.)google.com/' and
612
+ # '(*.)googleapis.com/' prefixes are reserved for system metadata managed by
613
+ # Service Directory. If the user tries to write to these keyspaces, those
614
+ # entries will be silently ignored by the system.
595
615
  # Corresponds to the JSON property `metadata`
596
616
  # @return [Hash<String,String>]
597
617
  attr_accessor :metadata
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/service-management/
28
28
  module ServicemanagementV1
29
29
  VERSION = 'V1'
30
- REVISION = '20201030'
30
+ REVISION = '20201106'
31
31
 
32
32
  # View and manage your data across Google Cloud Platform services
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -231,7 +231,7 @@ module Google
231
231
  # URL of the provider's public key set to validate signature of the JWT. See [
232
232
  # OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#
233
233
  # ProviderMetadata). Optional if the key set document: - can be retrieved from [
234
- # OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html
234
+ # OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html)
235
235
  # of the issuer. - can be inferred from the email domain of the issuer (e.g. a
236
236
  # Google service account). Example: https://www.googleapis.com/oauth2/v1/certs
237
237
  # Corresponds to the JSON property `jwksUri`
@@ -565,11 +565,6 @@ module Google
565
565
  class Binding
566
566
  include Google::Apis::Core::Hashable
567
567
 
568
- #
569
- # Corresponds to the JSON property `bindingId`
570
- # @return [String]
571
- attr_accessor :binding_id
572
-
573
568
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
574
569
  # CEL is a C-like expression language. The syntax and semantics of CEL are
575
570
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -631,7 +626,6 @@ module Google
631
626
 
632
627
  # Update properties of this object
633
628
  def update!(**args)
634
- @binding_id = args[:binding_id] if args.key?(:binding_id)
635
629
  @condition = args[:condition] if args.key?(:condition)
636
630
  @members = args[:members] if args.key?(:members)
637
631
  @role = args[:role] if args.key?(:role)
@@ -682,7 +682,6 @@ module Google
682
682
  class Binding
683
683
  # @private
684
684
  class Representation < Google::Apis::Core::JsonRepresentation
685
- property :binding_id, as: 'bindingId'
686
685
  property :condition, as: 'condition', class: Google::Apis::ServicemanagementV1::Expr, decorator: Google::Apis::ServicemanagementV1::Expr::Representation
687
686
 
688
687
  collection :members, as: 'members'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started
27
27
  module ServicenetworkingV1
28
28
  VERSION = 'V1'
29
- REVISION = '20201104'
29
+ REVISION = '20201107'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -698,6 +698,44 @@ module Google
698
698
  execute_or_queue_command(command, &block)
699
699
  end
700
700
 
701
+ # Service producers use this method to get the configuration of their connection
702
+ # including the import/export of custom routes and subnetwork routes with public
703
+ # IP.
704
+ # @param [String] name
705
+ # Required. Name of the consumer config to retrieve in the format: `services/`
706
+ # service`/projects/`project`/global/networks/`network``. `service` is the
707
+ # peering service that is managing connectivity for the service producer's
708
+ # organization. For Google services that support this functionality, this value
709
+ # is `servicenetworking.googleapis.com`. `project` is a project number e.g. `
710
+ # 12345` that contains the service consumer's VPC network. `network` is the name
711
+ # of the service consumer's VPC network.
712
+ # @param [String] fields
713
+ # Selector specifying which fields to include in a partial response.
714
+ # @param [String] quota_user
715
+ # Available to use for quota purposes for server-side applications. Can be any
716
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
717
+ # @param [Google::Apis::RequestOptions] options
718
+ # Request-specific options
719
+ #
720
+ # @yield [result, err] Result & error if block supplied
721
+ # @yieldparam result [Google::Apis::ServicenetworkingV1::ConsumerConfig] parsed result object
722
+ # @yieldparam err [StandardError] error object if request failed
723
+ #
724
+ # @return [Google::Apis::ServicenetworkingV1::ConsumerConfig]
725
+ #
726
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
727
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
728
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
729
+ def get_service_project_global_network(name, fields: nil, quota_user: nil, options: nil, &block)
730
+ command = make_simple_command(:get, 'v1/{+name}', options)
731
+ command.response_representation = Google::Apis::ServicenetworkingV1::ConsumerConfig::Representation
732
+ command.response_class = Google::Apis::ServicenetworkingV1::ConsumerConfig
733
+ command.params['name'] = name unless name.nil?
734
+ command.query['fields'] = fields unless fields.nil?
735
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
736
+ execute_or_queue_command(command, &block)
737
+ end
738
+
701
739
  # Service producers use this method to update the configuration of their
702
740
  # connection including the import/export of custom routes and subnetwork routes
703
741
  # with public IP.
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/storage/docs/json_api/
26
26
  module StorageV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200927'
28
+ REVISION = '20201106'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/storage-transfer/docs
27
27
  module StoragetransferV1
28
28
  VERSION = 'V1'
29
- REVISION = '20201027'
29
+ REVISION = '20201105'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -326,14 +326,14 @@ module Google
326
326
  # If the specified size of an object does not match the actual size of the
327
327
  # object fetched, the object will not be transferred. * If the specified MD5
328
328
  # does not match the MD5 computed from the transferred bytes, the object
329
- # transfer will fail. For more information, see [Generating MD5 hashes](https://
330
- # cloud.google.com/storage-transfer/docs/create-url-list#md5) * Ensure that each
331
- # URL you specify is publicly accessible. For example, in Cloud Storage you can [
332
- # share an object publicly] (https://cloud.google.com/storage/docs/cloud-console#
333
- # _sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.
334
- # txt` rules and requires the source HTTP server to support `Range` requests and
335
- # to return a `Content-Length` header in each response. * ObjectConditions have
336
- # no effect when filtering objects to transfer.
329
+ # transfer will fail. For more information, see [Generating MD5 hashes] (https://
330
+ # cloud.google.com/storage-transfer/docs/create-url-list#md5-checksum) * Ensure
331
+ # that each URL you specify is publicly accessible. For example, in Cloud
332
+ # Storage you can [share an object publicly] (https://cloud.google.com/storage/
333
+ # docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer
334
+ # Service obeys `robots.txt` rules and requires the source HTTP server to
335
+ # support `Range` requests and to return a `Content-Length` header in each
336
+ # response. * ObjectConditions have no effect when filtering objects to transfer.
337
337
  class HttpData
338
338
  include Google::Apis::Core::Hashable
339
339
 
@@ -623,6 +623,19 @@ module Google
623
623
  class Schedule
624
624
  include Google::Apis::Core::Hashable
625
625
 
626
+ # Represents a time of day. The date and time zone are either not significant or
627
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
628
+ # types are google.type.Date and `google.protobuf.Timestamp`.
629
+ # Corresponds to the JSON property `endTimeOfDay`
630
+ # @return [Google::Apis::StoragetransferV1::TimeOfDay]
631
+ attr_accessor :end_time_of_day
632
+
633
+ # Interval between the start of each scheduled TransferOperation. If unspecified,
634
+ # the default value is 24 hours. This value may not be less than 1 hour.
635
+ # Corresponds to the JSON property `repeatInterval`
636
+ # @return [String]
637
+ attr_accessor :repeat_interval
638
+
626
639
  # Represents a whole or partial calendar date, such as a birthday. The time of
627
640
  # day and time zone are either specified elsewhere or are insignificant. The
628
641
  # date is relative to the Gregorian Calendar. This can represent one of the
@@ -660,6 +673,8 @@ module Google
660
673
 
661
674
  # Update properties of this object
662
675
  def update!(**args)
676
+ @end_time_of_day = args[:end_time_of_day] if args.key?(:end_time_of_day)
677
+ @repeat_interval = args[:repeat_interval] if args.key?(:repeat_interval)
663
678
  @schedule_end_date = args[:schedule_end_date] if args.key?(:schedule_end_date)
664
679
  @schedule_start_date = args[:schedule_start_date] if args.key?(:schedule_start_date)
665
680
  @start_time_of_day = args[:start_time_of_day] if args.key?(:start_time_of_day)
@@ -1137,14 +1152,14 @@ module Google
1137
1152
  # If the specified size of an object does not match the actual size of the
1138
1153
  # object fetched, the object will not be transferred. * If the specified MD5
1139
1154
  # does not match the MD5 computed from the transferred bytes, the object
1140
- # transfer will fail. For more information, see [Generating MD5 hashes](https://
1141
- # cloud.google.com/storage-transfer/docs/create-url-list#md5) * Ensure that each
1142
- # URL you specify is publicly accessible. For example, in Cloud Storage you can [
1143
- # share an object publicly] (https://cloud.google.com/storage/docs/cloud-console#
1144
- # _sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.
1145
- # txt` rules and requires the source HTTP server to support `Range` requests and
1146
- # to return a `Content-Length` header in each response. * ObjectConditions have
1147
- # no effect when filtering objects to transfer.
1155
+ # transfer will fail. For more information, see [Generating MD5 hashes] (https://
1156
+ # cloud.google.com/storage-transfer/docs/create-url-list#md5-checksum) * Ensure
1157
+ # that each URL you specify is publicly accessible. For example, in Cloud
1158
+ # Storage you can [share an object publicly] (https://cloud.google.com/storage/
1159
+ # docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer
1160
+ # Service obeys `robots.txt` rules and requires the source HTTP server to
1161
+ # support `Range` requests and to return a `Content-Length` header in each
1162
+ # response. * ObjectConditions have no effect when filtering objects to transfer.
1148
1163
  # Corresponds to the JSON property `httpDataSource`
1149
1164
  # @return [Google::Apis::StoragetransferV1::HttpData]
1150
1165
  attr_accessor :http_data_source
@@ -350,6 +350,9 @@ module Google
350
350
  class Schedule
351
351
  # @private
352
352
  class Representation < Google::Apis::Core::JsonRepresentation
353
+ property :end_time_of_day, as: 'endTimeOfDay', class: Google::Apis::StoragetransferV1::TimeOfDay, decorator: Google::Apis::StoragetransferV1::TimeOfDay::Representation
354
+
355
+ property :repeat_interval, as: 'repeatInterval'
353
356
  property :schedule_end_date, as: 'scheduleEndDate', class: Google::Apis::StoragetransferV1::Date, decorator: Google::Apis::StoragetransferV1::Date::Representation
354
357
 
355
358
  property :schedule_start_date, as: 'scheduleStartDate', class: Google::Apis::StoragetransferV1::Date, decorator: Google::Apis::StoragetransferV1::Date::Representation
@@ -191,9 +191,9 @@ module Google
191
191
  end
192
192
 
193
193
  # Updates a transfer job. Updating a job's transfer spec does not affect
194
- # transfer operations that are running already. Updating a job's schedule is not
195
- # allowed. **Note:** The job's status field can be modified using this RPC (for
196
- # example, to set a job's status to DELETED, DISABLED, or ENABLED).
194
+ # transfer operations that are running already. **Note:** The job's status field
195
+ # can be modified using this RPC (for example, to set a job's status to DELETED,
196
+ # DISABLED, or ENABLED).
197
197
  # @param [String] job_name
198
198
  # Required. The name of job to update.
199
199
  # @param [Google::Apis::StoragetransferV1::UpdateTransferJobRequest] update_transfer_job_request_object
@@ -0,0 +1,34 @@
1
+ # Copyright 2015 Google Inc.
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
+
15
+ require 'google/apis/transcoder_v1beta1/service.rb'
16
+ require 'google/apis/transcoder_v1beta1/classes.rb'
17
+ require 'google/apis/transcoder_v1beta1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Transcoder API
22
+ #
23
+ # This API converts video files into formats suitable for consumer distribution.
24
+ #
25
+ # @see https://cloud.google.com/transcoder/docs/
26
+ module TranscoderV1beta1
27
+ VERSION = 'V1beta1'
28
+ REVISION = '20201111'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,1684 @@
1
+ # Copyright 2015 Google Inc.
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
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module TranscoderV1beta1
24
+
25
+ # Ad break.
26
+ class AdBreak
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Start time in seconds for the ad break, relative to the output file timeline.
30
+ # The default is `0s`.
31
+ # Corresponds to the JSON property `startTimeOffset`
32
+ # @return [String]
33
+ attr_accessor :start_time_offset
34
+
35
+ def initialize(**args)
36
+ update!(**args)
37
+ end
38
+
39
+ # Update properties of this object
40
+ def update!(**args)
41
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
42
+ end
43
+ end
44
+
45
+ # Configuration for AES-128 encryption.
46
+ class Aes128Encryption
47
+ include Google::Apis::Core::Hashable
48
+
49
+ # Required. URI of the key delivery service. This URI is inserted into the M3U8
50
+ # header.
51
+ # Corresponds to the JSON property `keyUri`
52
+ # @return [String]
53
+ attr_accessor :key_uri
54
+
55
+ def initialize(**args)
56
+ update!(**args)
57
+ end
58
+
59
+ # Update properties of this object
60
+ def update!(**args)
61
+ @key_uri = args[:key_uri] if args.key?(:key_uri)
62
+ end
63
+ end
64
+
65
+ # Animation types.
66
+ class Animation
67
+ include Google::Apis::Core::Hashable
68
+
69
+ # End previous overlay animation from the video. Without AnimationEnd, the
70
+ # overlay object will keep the state of previous animation until the end of the
71
+ # video.
72
+ # Corresponds to the JSON property `animationEnd`
73
+ # @return [Google::Apis::TranscoderV1beta1::AnimationEnd]
74
+ attr_accessor :animation_end
75
+
76
+ # Display overlay object with fade animation.
77
+ # Corresponds to the JSON property `animationFade`
78
+ # @return [Google::Apis::TranscoderV1beta1::AnimationFade]
79
+ attr_accessor :animation_fade
80
+
81
+ # Display static overlay object.
82
+ # Corresponds to the JSON property `animationStatic`
83
+ # @return [Google::Apis::TranscoderV1beta1::AnimationStatic]
84
+ attr_accessor :animation_static
85
+
86
+ def initialize(**args)
87
+ update!(**args)
88
+ end
89
+
90
+ # Update properties of this object
91
+ def update!(**args)
92
+ @animation_end = args[:animation_end] if args.key?(:animation_end)
93
+ @animation_fade = args[:animation_fade] if args.key?(:animation_fade)
94
+ @animation_static = args[:animation_static] if args.key?(:animation_static)
95
+ end
96
+ end
97
+
98
+ # End previous overlay animation from the video. Without AnimationEnd, the
99
+ # overlay object will keep the state of previous animation until the end of the
100
+ # video.
101
+ class AnimationEnd
102
+ include Google::Apis::Core::Hashable
103
+
104
+ # The time to end overlay object, in seconds. Default: 0
105
+ # Corresponds to the JSON property `startTimeOffset`
106
+ # @return [String]
107
+ attr_accessor :start_time_offset
108
+
109
+ def initialize(**args)
110
+ update!(**args)
111
+ end
112
+
113
+ # Update properties of this object
114
+ def update!(**args)
115
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
116
+ end
117
+ end
118
+
119
+ # Display overlay object with fade animation.
120
+ class AnimationFade
121
+ include Google::Apis::Core::Hashable
122
+
123
+ # The time to end the fade animation, in seconds. Default: `start_time_offset` +
124
+ # 1s
125
+ # Corresponds to the JSON property `endTimeOffset`
126
+ # @return [String]
127
+ attr_accessor :end_time_offset
128
+
129
+ # Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.
130
+ # Corresponds to the JSON property `fadeType`
131
+ # @return [String]
132
+ attr_accessor :fade_type
133
+
134
+ # The time to start the fade animation, in seconds. Default: 0
135
+ # Corresponds to the JSON property `startTimeOffset`
136
+ # @return [String]
137
+ attr_accessor :start_time_offset
138
+
139
+ # 2D normalized coordinates. Default: ``0.0, 0.0``
140
+ # Corresponds to the JSON property `xy`
141
+ # @return [Google::Apis::TranscoderV1beta1::NormalizedCoordinate]
142
+ attr_accessor :xy
143
+
144
+ def initialize(**args)
145
+ update!(**args)
146
+ end
147
+
148
+ # Update properties of this object
149
+ def update!(**args)
150
+ @end_time_offset = args[:end_time_offset] if args.key?(:end_time_offset)
151
+ @fade_type = args[:fade_type] if args.key?(:fade_type)
152
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
153
+ @xy = args[:xy] if args.key?(:xy)
154
+ end
155
+ end
156
+
157
+ # Display static overlay object.
158
+ class AnimationStatic
159
+ include Google::Apis::Core::Hashable
160
+
161
+ # The time to start displaying the overlay object, in seconds. Default: 0
162
+ # Corresponds to the JSON property `startTimeOffset`
163
+ # @return [String]
164
+ attr_accessor :start_time_offset
165
+
166
+ # 2D normalized coordinates. Default: ``0.0, 0.0``
167
+ # Corresponds to the JSON property `xy`
168
+ # @return [Google::Apis::TranscoderV1beta1::NormalizedCoordinate]
169
+ attr_accessor :xy
170
+
171
+ def initialize(**args)
172
+ update!(**args)
173
+ end
174
+
175
+ # Update properties of this object
176
+ def update!(**args)
177
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
178
+ @xy = args[:xy] if args.key?(:xy)
179
+ end
180
+ end
181
+
182
+ # Audio preprocessing configuration.
183
+ class Audio
184
+ include Google::Apis::Core::Hashable
185
+
186
+ # Enable boosting high frequency components. The default is `false`.
187
+ # Corresponds to the JSON property `highBoost`
188
+ # @return [Boolean]
189
+ attr_accessor :high_boost
190
+ alias_method :high_boost?, :high_boost
191
+
192
+ # Enable boosting low frequency components. The default is `false`.
193
+ # Corresponds to the JSON property `lowBoost`
194
+ # @return [Boolean]
195
+ attr_accessor :low_boost
196
+ alias_method :low_boost?, :low_boost
197
+
198
+ # Specify audio loudness normalization in loudness units relative to full scale (
199
+ # LUFS). Enter a value between -24 and 0, where -24 is the Advanced Television
200
+ # Systems Committee (ATSC A/85), -23 is the EU R128 broadcast standard, -19 is
201
+ # the prior standard for online mono audio, -18 is the ReplayGain standard, -16
202
+ # is the prior standard for stereo audio, -14 is the new online audio standard
203
+ # recommended by Spotify, as well as Amazon Echo, and 0 disables normalization.
204
+ # The default is 0.
205
+ # Corresponds to the JSON property `lufs`
206
+ # @return [Float]
207
+ attr_accessor :lufs
208
+
209
+ def initialize(**args)
210
+ update!(**args)
211
+ end
212
+
213
+ # Update properties of this object
214
+ def update!(**args)
215
+ @high_boost = args[:high_boost] if args.key?(:high_boost)
216
+ @low_boost = args[:low_boost] if args.key?(:low_boost)
217
+ @lufs = args[:lufs] if args.key?(:lufs)
218
+ end
219
+ end
220
+
221
+ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
222
+ class AudioAtom
223
+ include Google::Apis::Core::Hashable
224
+
225
+ # List of `Channel`s for this audio stream. for in-depth explanation.
226
+ # Corresponds to the JSON property `channels`
227
+ # @return [Array<Google::Apis::TranscoderV1beta1::AudioChannel>]
228
+ attr_accessor :channels
229
+
230
+ # Required. The `EditAtom.key` that references the atom with audio inputs in the
231
+ # `Job.edit_list`.
232
+ # Corresponds to the JSON property `key`
233
+ # @return [String]
234
+ attr_accessor :key
235
+
236
+ def initialize(**args)
237
+ update!(**args)
238
+ end
239
+
240
+ # Update properties of this object
241
+ def update!(**args)
242
+ @channels = args[:channels] if args.key?(:channels)
243
+ @key = args[:key] if args.key?(:key)
244
+ end
245
+ end
246
+
247
+ # The audio channel.
248
+ class AudioChannel
249
+ include Google::Apis::Core::Hashable
250
+
251
+ # List of `Job.inputs` for this audio channel.
252
+ # Corresponds to the JSON property `inputs`
253
+ # @return [Array<Google::Apis::TranscoderV1beta1::AudioChannelInput>]
254
+ attr_accessor :inputs
255
+
256
+ def initialize(**args)
257
+ update!(**args)
258
+ end
259
+
260
+ # Update properties of this object
261
+ def update!(**args)
262
+ @inputs = args[:inputs] if args.key?(:inputs)
263
+ end
264
+ end
265
+
266
+ # Identifies which input file, track, and channel should be used.
267
+ class AudioChannelInput
268
+ include Google::Apis::Core::Hashable
269
+
270
+ # Required. The zero-based index of the channel in the input file.
271
+ # Corresponds to the JSON property `channel`
272
+ # @return [Fixnum]
273
+ attr_accessor :channel
274
+
275
+ # Audio volume control in dB. Negative values decrease volume, positive values
276
+ # increase. The default is 0.
277
+ # Corresponds to the JSON property `gainDb`
278
+ # @return [Float]
279
+ attr_accessor :gain_db
280
+
281
+ # Required. The `Input.key` that identifies the input file.
282
+ # Corresponds to the JSON property `key`
283
+ # @return [String]
284
+ attr_accessor :key
285
+
286
+ # Required. The zero-based index of the track in the input file.
287
+ # Corresponds to the JSON property `track`
288
+ # @return [Fixnum]
289
+ attr_accessor :track
290
+
291
+ def initialize(**args)
292
+ update!(**args)
293
+ end
294
+
295
+ # Update properties of this object
296
+ def update!(**args)
297
+ @channel = args[:channel] if args.key?(:channel)
298
+ @gain_db = args[:gain_db] if args.key?(:gain_db)
299
+ @key = args[:key] if args.key?(:key)
300
+ @track = args[:track] if args.key?(:track)
301
+ end
302
+ end
303
+
304
+ # Audio stream resource.
305
+ class AudioStream
306
+ include Google::Apis::Core::Hashable
307
+
308
+ # Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
309
+ # Corresponds to the JSON property `bitrateBps`
310
+ # @return [Fixnum]
311
+ attr_accessor :bitrate_bps
312
+
313
+ # Number of audio channels. Must be between 1 and 6. The default is 2.
314
+ # Corresponds to the JSON property `channelCount`
315
+ # @return [Fixnum]
316
+ attr_accessor :channel_count
317
+
318
+ # A list of channel names specifying layout of the audio channels. This only
319
+ # affects the metadata embedded in the container headers, if supported by the
320
+ # specified format. The default is `["fl", "fr"]`. Supported channel names: - '
321
+ # fl' - Front left channel - 'fr' - Front right channel - 'sl' - Side left
322
+ # channel - 'sr' - Side right channel - 'fc' - Front center channel - 'lfe' -
323
+ # Low frequency
324
+ # Corresponds to the JSON property `channelLayout`
325
+ # @return [Array<String>]
326
+ attr_accessor :channel_layout
327
+
328
+ # The codec for this audio stream. The default is `"aac"`. Supported audio
329
+ # codecs: - 'aac' - 'aac-he' - 'aac-he-v2' - 'mp3' - 'ac3' - 'eac3'
330
+ # Corresponds to the JSON property `codec`
331
+ # @return [String]
332
+ attr_accessor :codec
333
+
334
+ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
335
+ # Corresponds to the JSON property `mapping`
336
+ # @return [Array<Google::Apis::TranscoderV1beta1::AudioAtom>]
337
+ attr_accessor :mapping
338
+
339
+ # The audio sample rate in Hertz. The default is 48000 Hertz.
340
+ # Corresponds to the JSON property `sampleRateHertz`
341
+ # @return [Fixnum]
342
+ attr_accessor :sample_rate_hertz
343
+
344
+ def initialize(**args)
345
+ update!(**args)
346
+ end
347
+
348
+ # Update properties of this object
349
+ def update!(**args)
350
+ @bitrate_bps = args[:bitrate_bps] if args.key?(:bitrate_bps)
351
+ @channel_count = args[:channel_count] if args.key?(:channel_count)
352
+ @channel_layout = args[:channel_layout] if args.key?(:channel_layout)
353
+ @codec = args[:codec] if args.key?(:codec)
354
+ @mapping = args[:mapping] if args.key?(:mapping)
355
+ @sample_rate_hertz = args[:sample_rate_hertz] if args.key?(:sample_rate_hertz)
356
+ end
357
+ end
358
+
359
+ # Color preprocessing configuration.
360
+ class Color
361
+ include Google::Apis::Core::Hashable
362
+
363
+ # Control brightness of the video. Enter a value between -1 and 1, where -1 is
364
+ # minimum brightness and 1 is maximum brightness. 0 is no change. The default is
365
+ # 0.
366
+ # Corresponds to the JSON property `brightness`
367
+ # @return [Float]
368
+ attr_accessor :brightness
369
+
370
+ # Control black and white contrast of the video. Enter a value between -1 and 1,
371
+ # where -1 is minimum contrast and 1 is maximum contrast. 0 is no change. The
372
+ # default is 0.
373
+ # Corresponds to the JSON property `contrast`
374
+ # @return [Float]
375
+ attr_accessor :contrast
376
+
377
+ # Control color saturation of the video. Enter a value between -1 and 1, where -
378
+ # 1 is fully desaturated and 1 is maximum saturation. 0 is no change. The
379
+ # default is 0.
380
+ # Corresponds to the JSON property `saturation`
381
+ # @return [Float]
382
+ attr_accessor :saturation
383
+
384
+ def initialize(**args)
385
+ update!(**args)
386
+ end
387
+
388
+ # Update properties of this object
389
+ def update!(**args)
390
+ @brightness = args[:brightness] if args.key?(:brightness)
391
+ @contrast = args[:contrast] if args.key?(:contrast)
392
+ @saturation = args[:saturation] if args.key?(:saturation)
393
+ end
394
+ end
395
+
396
+ # Video cropping configuration.
397
+ class Crop
398
+ include Google::Apis::Core::Hashable
399
+
400
+ # The number of pixels to crop from the bottom. The default is 0.
401
+ # Corresponds to the JSON property `bottomPixels`
402
+ # @return [Fixnum]
403
+ attr_accessor :bottom_pixels
404
+
405
+ # The number of pixels to crop from the left. The default is 0.
406
+ # Corresponds to the JSON property `leftPixels`
407
+ # @return [Fixnum]
408
+ attr_accessor :left_pixels
409
+
410
+ # The number of pixels to crop from the right. The default is 0.
411
+ # Corresponds to the JSON property `rightPixels`
412
+ # @return [Fixnum]
413
+ attr_accessor :right_pixels
414
+
415
+ # The number of pixels to crop from the top. The default is 0.
416
+ # Corresponds to the JSON property `topPixels`
417
+ # @return [Fixnum]
418
+ attr_accessor :top_pixels
419
+
420
+ def initialize(**args)
421
+ update!(**args)
422
+ end
423
+
424
+ # Update properties of this object
425
+ def update!(**args)
426
+ @bottom_pixels = args[:bottom_pixels] if args.key?(:bottom_pixels)
427
+ @left_pixels = args[:left_pixels] if args.key?(:left_pixels)
428
+ @right_pixels = args[:right_pixels] if args.key?(:right_pixels)
429
+ @top_pixels = args[:top_pixels] if args.key?(:top_pixels)
430
+ end
431
+ end
432
+
433
+ # Deblock preprocessing configuration.
434
+ class Deblock
435
+ include Google::Apis::Core::Hashable
436
+
437
+ # Enable deblocker. The default is `false`.
438
+ # Corresponds to the JSON property `enabled`
439
+ # @return [Boolean]
440
+ attr_accessor :enabled
441
+ alias_method :enabled?, :enabled
442
+
443
+ # Set strength of the deblocker. Enter a value between 0 and 1. The higher the
444
+ # value, the stronger the block removal. 0 is no deblocking. The default is 0.
445
+ # Corresponds to the JSON property `strength`
446
+ # @return [Float]
447
+ attr_accessor :strength
448
+
449
+ def initialize(**args)
450
+ update!(**args)
451
+ end
452
+
453
+ # Update properties of this object
454
+ def update!(**args)
455
+ @enabled = args[:enabled] if args.key?(:enabled)
456
+ @strength = args[:strength] if args.key?(:strength)
457
+ end
458
+ end
459
+
460
+ # Denoise preprocessing configuration.
461
+ class Denoise
462
+ include Google::Apis::Core::Hashable
463
+
464
+ # Set strength of the denoise. Enter a value between 0 and 1. The higher the
465
+ # value, the smoother the image. 0 is no denoising. The default is 0.
466
+ # Corresponds to the JSON property `strength`
467
+ # @return [Float]
468
+ attr_accessor :strength
469
+
470
+ # Set the denoiser mode. The default is `"standard"`. Supported denoiser modes: -
471
+ # 'standard' - 'grain'
472
+ # Corresponds to the JSON property `tune`
473
+ # @return [String]
474
+ attr_accessor :tune
475
+
476
+ def initialize(**args)
477
+ update!(**args)
478
+ end
479
+
480
+ # Update properties of this object
481
+ def update!(**args)
482
+ @strength = args[:strength] if args.key?(:strength)
483
+ @tune = args[:tune] if args.key?(:tune)
484
+ end
485
+ end
486
+
487
+ # Edit atom.
488
+ class EditAtom
489
+ include Google::Apis::Core::Hashable
490
+
491
+ # End time in seconds for the atom, relative to the input file timeline. When `
492
+ # end_time_offset` is not specified, the `inputs` are used until the end of the
493
+ # atom.
494
+ # Corresponds to the JSON property `endTimeOffset`
495
+ # @return [String]
496
+ attr_accessor :end_time_offset
497
+
498
+ # List of `Input.key`s identifying files that should be used in this atom. The
499
+ # listed `inputs` must have the same timeline.
500
+ # Corresponds to the JSON property `inputs`
501
+ # @return [Array<String>]
502
+ attr_accessor :inputs
503
+
504
+ # A unique key for this atom. Must be specified when using advanced mapping.
505
+ # Corresponds to the JSON property `key`
506
+ # @return [String]
507
+ attr_accessor :key
508
+
509
+ # Start time in seconds for the atom, relative to the input file timeline. The
510
+ # default is `0s`.
511
+ # Corresponds to the JSON property `startTimeOffset`
512
+ # @return [String]
513
+ attr_accessor :start_time_offset
514
+
515
+ def initialize(**args)
516
+ update!(**args)
517
+ end
518
+
519
+ # Update properties of this object
520
+ def update!(**args)
521
+ @end_time_offset = args[:end_time_offset] if args.key?(:end_time_offset)
522
+ @inputs = args[:inputs] if args.key?(:inputs)
523
+ @key = args[:key] if args.key?(:key)
524
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
525
+ end
526
+ end
527
+
528
+ # Encoding of an input file such as an audio, video, or text track. Elementary
529
+ # streams must be packaged before mapping and sharing between different output
530
+ # formats.
531
+ class ElementaryStream
532
+ include Google::Apis::Core::Hashable
533
+
534
+ # Audio stream resource.
535
+ # Corresponds to the JSON property `audioStream`
536
+ # @return [Google::Apis::TranscoderV1beta1::AudioStream]
537
+ attr_accessor :audio_stream
538
+
539
+ # A unique key for this elementary stream.
540
+ # Corresponds to the JSON property `key`
541
+ # @return [String]
542
+ attr_accessor :key
543
+
544
+ # Encoding of a text stream. For example, closed captions or subtitles.
545
+ # Corresponds to the JSON property `textStream`
546
+ # @return [Google::Apis::TranscoderV1beta1::TextStream]
547
+ attr_accessor :text_stream
548
+
549
+ # Video stream resource.
550
+ # Corresponds to the JSON property `videoStream`
551
+ # @return [Google::Apis::TranscoderV1beta1::VideoStream]
552
+ attr_accessor :video_stream
553
+
554
+ def initialize(**args)
555
+ update!(**args)
556
+ end
557
+
558
+ # Update properties of this object
559
+ def update!(**args)
560
+ @audio_stream = args[:audio_stream] if args.key?(:audio_stream)
561
+ @key = args[:key] if args.key?(:key)
562
+ @text_stream = args[:text_stream] if args.key?(:text_stream)
563
+ @video_stream = args[:video_stream] if args.key?(:video_stream)
564
+ end
565
+ end
566
+
567
+ # A generic empty message that you can re-use to avoid defining duplicated empty
568
+ # messages in your APIs. A typical example is to use it as the request or the
569
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
570
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
571
+ # `Empty` is empty JSON object ````.
572
+ class Empty
573
+ include Google::Apis::Core::Hashable
574
+
575
+ def initialize(**args)
576
+ update!(**args)
577
+ end
578
+
579
+ # Update properties of this object
580
+ def update!(**args)
581
+ end
582
+ end
583
+
584
+ # Encryption settings.
585
+ class Encryption
586
+ include Google::Apis::Core::Hashable
587
+
588
+ # Configuration for AES-128 encryption.
589
+ # Corresponds to the JSON property `aes128`
590
+ # @return [Google::Apis::TranscoderV1beta1::Aes128Encryption]
591
+ attr_accessor :aes128
592
+
593
+ # Required. 128 bit Initialization Vector (IV) represented as lowercase
594
+ # hexadecimal digits.
595
+ # Corresponds to the JSON property `iv`
596
+ # @return [String]
597
+ attr_accessor :iv
598
+
599
+ # Required. 128 bit encryption key represented as lowercase hexadecimal digits.
600
+ # Corresponds to the JSON property `key`
601
+ # @return [String]
602
+ attr_accessor :key
603
+
604
+ # Configuration for MPEG Common Encryption (MPEG-CENC).
605
+ # Corresponds to the JSON property `mpegCenc`
606
+ # @return [Google::Apis::TranscoderV1beta1::MpegCommonEncryption]
607
+ attr_accessor :mpeg_cenc
608
+
609
+ # Configuration for SAMPLE-AES encryption.
610
+ # Corresponds to the JSON property `sampleAes`
611
+ # @return [Google::Apis::TranscoderV1beta1::SampleAesEncryption]
612
+ attr_accessor :sample_aes
613
+
614
+ def initialize(**args)
615
+ update!(**args)
616
+ end
617
+
618
+ # Update properties of this object
619
+ def update!(**args)
620
+ @aes128 = args[:aes128] if args.key?(:aes128)
621
+ @iv = args[:iv] if args.key?(:iv)
622
+ @key = args[:key] if args.key?(:key)
623
+ @mpeg_cenc = args[:mpeg_cenc] if args.key?(:mpeg_cenc)
624
+ @sample_aes = args[:sample_aes] if args.key?(:sample_aes)
625
+ end
626
+ end
627
+
628
+ # Additional information about the reasons for the failure.
629
+ class FailureDetail
630
+ include Google::Apis::Core::Hashable
631
+
632
+ # A description of the failure.
633
+ # Corresponds to the JSON property `description`
634
+ # @return [String]
635
+ attr_accessor :description
636
+
637
+ def initialize(**args)
638
+ update!(**args)
639
+ end
640
+
641
+ # Update properties of this object
642
+ def update!(**args)
643
+ @description = args[:description] if args.key?(:description)
644
+ end
645
+ end
646
+
647
+ # Overlaid jpeg image.
648
+ class Image
649
+ include Google::Apis::Core::Hashable
650
+
651
+ # Target image opacity. Valid values: `1` (solid, default), `0` (transparent).
652
+ # Corresponds to the JSON property `alpha`
653
+ # @return [Float]
654
+ attr_accessor :alpha
655
+
656
+ # 2D normalized coordinates. Default: ``0.0, 0.0``
657
+ # Corresponds to the JSON property `resolution`
658
+ # @return [Google::Apis::TranscoderV1beta1::NormalizedCoordinate]
659
+ attr_accessor :resolution
660
+
661
+ # Required. URI of the image in Cloud Storage. For example, `gs://bucket/inputs/
662
+ # image.jpeg`.
663
+ # Corresponds to the JSON property `uri`
664
+ # @return [String]
665
+ attr_accessor :uri
666
+
667
+ def initialize(**args)
668
+ update!(**args)
669
+ end
670
+
671
+ # Update properties of this object
672
+ def update!(**args)
673
+ @alpha = args[:alpha] if args.key?(:alpha)
674
+ @resolution = args[:resolution] if args.key?(:resolution)
675
+ @uri = args[:uri] if args.key?(:uri)
676
+ end
677
+ end
678
+
679
+ # Input asset.
680
+ class Input
681
+ include Google::Apis::Core::Hashable
682
+
683
+ # A unique key for this input. Must be specified when using advanced mapping and
684
+ # edit lists.
685
+ # Corresponds to the JSON property `key`
686
+ # @return [String]
687
+ attr_accessor :key
688
+
689
+ # Preprocessing configurations.
690
+ # Corresponds to the JSON property `preprocessingConfig`
691
+ # @return [Google::Apis::TranscoderV1beta1::PreprocessingConfig]
692
+ attr_accessor :preprocessing_config
693
+
694
+ # URI of the media. It must be stored in Cloud Storage. Example `gs://bucket/
695
+ # inputs/file.mp4`. If empty the value will be populated from `Job.input_uri`.
696
+ # Corresponds to the JSON property `uri`
697
+ # @return [String]
698
+ attr_accessor :uri
699
+
700
+ def initialize(**args)
701
+ update!(**args)
702
+ end
703
+
704
+ # Update properties of this object
705
+ def update!(**args)
706
+ @key = args[:key] if args.key?(:key)
707
+ @preprocessing_config = args[:preprocessing_config] if args.key?(:preprocessing_config)
708
+ @uri = args[:uri] if args.key?(:uri)
709
+ end
710
+ end
711
+
712
+ # Transcoding job resource.
713
+ class Job
714
+ include Google::Apis::Core::Hashable
715
+
716
+ # Job configuration
717
+ # Corresponds to the JSON property `config`
718
+ # @return [Google::Apis::TranscoderV1beta1::JobConfig]
719
+ attr_accessor :config
720
+
721
+ # Output only. The time the job was created.
722
+ # Corresponds to the JSON property `createTime`
723
+ # @return [String]
724
+ attr_accessor :create_time
725
+
726
+ # Output only. The time the transcoding finished.
727
+ # Corresponds to the JSON property `endTime`
728
+ # @return [String]
729
+ attr_accessor :end_time
730
+
731
+ # Output only. List of failure details. This property may contain additional
732
+ # information about the failure when `failure_reason` is present. *Note*: This
733
+ # feature is not yet available.
734
+ # Corresponds to the JSON property `failureDetails`
735
+ # @return [Array<Google::Apis::TranscoderV1beta1::FailureDetail>]
736
+ attr_accessor :failure_details
737
+
738
+ # Output only. A description of the reason for the failure. This property is
739
+ # always present when `state` is `FAILED`.
740
+ # Corresponds to the JSON property `failureReason`
741
+ # @return [String]
742
+ attr_accessor :failure_reason
743
+
744
+ # Input only. Specify the `input_uri` to populate empty `uri` fields in each
745
+ # element of `Job.config.inputs` or `JobTemplate.config.inputs` when using
746
+ # template. URI of the media. It must be stored in Cloud Storage. For example, `
747
+ # gs://bucket/inputs/file.mp4`.
748
+ # Corresponds to the JSON property `inputUri`
749
+ # @return [String]
750
+ attr_accessor :input_uri
751
+
752
+ # The resource name of the job. Format: `projects/`project`/locations/`location`/
753
+ # jobs/`job``
754
+ # Corresponds to the JSON property `name`
755
+ # @return [String]
756
+ attr_accessor :name
757
+
758
+ # The origin URI.
759
+ # Corresponds to the JSON property `originUri`
760
+ # @return [Google::Apis::TranscoderV1beta1::OriginUri]
761
+ attr_accessor :origin_uri
762
+
763
+ # Input only. Specify the `output_uri` to populate an empty `Job.config.output.
764
+ # uri` or `JobTemplate.config.output.uri` when using template. URI for the
765
+ # output file(s). For example, `gs://my-bucket/outputs/`.
766
+ # Corresponds to the JSON property `outputUri`
767
+ # @return [String]
768
+ attr_accessor :output_uri
769
+
770
+ # Specify the priority of the job. Enter a value between 0 and 100, where 0 is
771
+ # the lowest priority and 100 is the highest priority. The default is 0.
772
+ # Corresponds to the JSON property `priority`
773
+ # @return [Fixnum]
774
+ attr_accessor :priority
775
+
776
+ # Estimated fractional progress for each step, from `0` to `1`.
777
+ # Corresponds to the JSON property `progress`
778
+ # @return [Google::Apis::TranscoderV1beta1::Progress]
779
+ attr_accessor :progress
780
+
781
+ # Output only. The time the transcoding started.
782
+ # Corresponds to the JSON property `startTime`
783
+ # @return [String]
784
+ attr_accessor :start_time
785
+
786
+ # Output only. The current state of the job.
787
+ # Corresponds to the JSON property `state`
788
+ # @return [String]
789
+ attr_accessor :state
790
+
791
+ # Input only. Specify the `template_id` to use for populating `Job.config`. The
792
+ # default is `preset/web-hd`. Preset Transcoder templates: - `preset/`preset_id``
793
+ # - User defined JobTemplate: ``job_template_id``
794
+ # Corresponds to the JSON property `templateId`
795
+ # @return [String]
796
+ attr_accessor :template_id
797
+
798
+ def initialize(**args)
799
+ update!(**args)
800
+ end
801
+
802
+ # Update properties of this object
803
+ def update!(**args)
804
+ @config = args[:config] if args.key?(:config)
805
+ @create_time = args[:create_time] if args.key?(:create_time)
806
+ @end_time = args[:end_time] if args.key?(:end_time)
807
+ @failure_details = args[:failure_details] if args.key?(:failure_details)
808
+ @failure_reason = args[:failure_reason] if args.key?(:failure_reason)
809
+ @input_uri = args[:input_uri] if args.key?(:input_uri)
810
+ @name = args[:name] if args.key?(:name)
811
+ @origin_uri = args[:origin_uri] if args.key?(:origin_uri)
812
+ @output_uri = args[:output_uri] if args.key?(:output_uri)
813
+ @priority = args[:priority] if args.key?(:priority)
814
+ @progress = args[:progress] if args.key?(:progress)
815
+ @start_time = args[:start_time] if args.key?(:start_time)
816
+ @state = args[:state] if args.key?(:state)
817
+ @template_id = args[:template_id] if args.key?(:template_id)
818
+ end
819
+ end
820
+
821
+ # Job configuration
822
+ class JobConfig
823
+ include Google::Apis::Core::Hashable
824
+
825
+ # List of ad breaks. Specifies where to insert ad break tags in the output
826
+ # manifests.
827
+ # Corresponds to the JSON property `adBreaks`
828
+ # @return [Array<Google::Apis::TranscoderV1beta1::AdBreak>]
829
+ attr_accessor :ad_breaks
830
+
831
+ # List of `Edit atom`s. Defines the ultimate timeline of the resulting file or
832
+ # manifest.
833
+ # Corresponds to the JSON property `editList`
834
+ # @return [Array<Google::Apis::TranscoderV1beta1::EditAtom>]
835
+ attr_accessor :edit_list
836
+
837
+ # List of elementary streams.
838
+ # Corresponds to the JSON property `elementaryStreams`
839
+ # @return [Array<Google::Apis::TranscoderV1beta1::ElementaryStream>]
840
+ attr_accessor :elementary_streams
841
+
842
+ # List of input assets stored in Cloud Storage.
843
+ # Corresponds to the JSON property `inputs`
844
+ # @return [Array<Google::Apis::TranscoderV1beta1::Input>]
845
+ attr_accessor :inputs
846
+
847
+ # List of output manifests.
848
+ # Corresponds to the JSON property `manifests`
849
+ # @return [Array<Google::Apis::TranscoderV1beta1::Manifest>]
850
+ attr_accessor :manifests
851
+
852
+ # List of multiplexing settings for output streams.
853
+ # Corresponds to the JSON property `muxStreams`
854
+ # @return [Array<Google::Apis::TranscoderV1beta1::MuxStream>]
855
+ attr_accessor :mux_streams
856
+
857
+ # Location of output file(s) in a Cloud Storage bucket.
858
+ # Corresponds to the JSON property `output`
859
+ # @return [Google::Apis::TranscoderV1beta1::Output]
860
+ attr_accessor :output
861
+
862
+ # List of overlays on the output video, in descending Z-order.
863
+ # Corresponds to the JSON property `overlays`
864
+ # @return [Array<Google::Apis::TranscoderV1beta1::Overlay>]
865
+ attr_accessor :overlays
866
+
867
+ # A Pub/Sub destination.
868
+ # Corresponds to the JSON property `pubsubDestination`
869
+ # @return [Google::Apis::TranscoderV1beta1::PubsubDestination]
870
+ attr_accessor :pubsub_destination
871
+
872
+ # List of output sprite sheets.
873
+ # Corresponds to the JSON property `spriteSheets`
874
+ # @return [Array<Google::Apis::TranscoderV1beta1::SpriteSheet>]
875
+ attr_accessor :sprite_sheets
876
+
877
+ def initialize(**args)
878
+ update!(**args)
879
+ end
880
+
881
+ # Update properties of this object
882
+ def update!(**args)
883
+ @ad_breaks = args[:ad_breaks] if args.key?(:ad_breaks)
884
+ @edit_list = args[:edit_list] if args.key?(:edit_list)
885
+ @elementary_streams = args[:elementary_streams] if args.key?(:elementary_streams)
886
+ @inputs = args[:inputs] if args.key?(:inputs)
887
+ @manifests = args[:manifests] if args.key?(:manifests)
888
+ @mux_streams = args[:mux_streams] if args.key?(:mux_streams)
889
+ @output = args[:output] if args.key?(:output)
890
+ @overlays = args[:overlays] if args.key?(:overlays)
891
+ @pubsub_destination = args[:pubsub_destination] if args.key?(:pubsub_destination)
892
+ @sprite_sheets = args[:sprite_sheets] if args.key?(:sprite_sheets)
893
+ end
894
+ end
895
+
896
+ # Transcoding job template resource.
897
+ class JobTemplate
898
+ include Google::Apis::Core::Hashable
899
+
900
+ # Job configuration
901
+ # Corresponds to the JSON property `config`
902
+ # @return [Google::Apis::TranscoderV1beta1::JobConfig]
903
+ attr_accessor :config
904
+
905
+ # The resource name of the job template. Format: `projects/`project`/locations/`
906
+ # location`/jobTemplates/`job_template``
907
+ # Corresponds to the JSON property `name`
908
+ # @return [String]
909
+ attr_accessor :name
910
+
911
+ def initialize(**args)
912
+ update!(**args)
913
+ end
914
+
915
+ # Update properties of this object
916
+ def update!(**args)
917
+ @config = args[:config] if args.key?(:config)
918
+ @name = args[:name] if args.key?(:name)
919
+ end
920
+ end
921
+
922
+ # Response message for `TranscoderService.ListJobTemplates`.
923
+ class ListJobTemplatesResponse
924
+ include Google::Apis::Core::Hashable
925
+
926
+ # List of job templates in the specified region.
927
+ # Corresponds to the JSON property `jobTemplates`
928
+ # @return [Array<Google::Apis::TranscoderV1beta1::JobTemplate>]
929
+ attr_accessor :job_templates
930
+
931
+ # The pagination token.
932
+ # Corresponds to the JSON property `nextPageToken`
933
+ # @return [String]
934
+ attr_accessor :next_page_token
935
+
936
+ def initialize(**args)
937
+ update!(**args)
938
+ end
939
+
940
+ # Update properties of this object
941
+ def update!(**args)
942
+ @job_templates = args[:job_templates] if args.key?(:job_templates)
943
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
944
+ end
945
+ end
946
+
947
+ # Response message for `TranscoderService.ListJobs`.
948
+ class ListJobsResponse
949
+ include Google::Apis::Core::Hashable
950
+
951
+ # List of jobs in the specified region.
952
+ # Corresponds to the JSON property `jobs`
953
+ # @return [Array<Google::Apis::TranscoderV1beta1::Job>]
954
+ attr_accessor :jobs
955
+
956
+ # The pagination token.
957
+ # Corresponds to the JSON property `nextPageToken`
958
+ # @return [String]
959
+ attr_accessor :next_page_token
960
+
961
+ def initialize(**args)
962
+ update!(**args)
963
+ end
964
+
965
+ # Update properties of this object
966
+ def update!(**args)
967
+ @jobs = args[:jobs] if args.key?(:jobs)
968
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
969
+ end
970
+ end
971
+
972
+ # Manifest configuration.
973
+ class Manifest
974
+ include Google::Apis::Core::Hashable
975
+
976
+ # The name of the generated file. The default is `"manifest"` with the extension
977
+ # suffix corresponding to the `Manifest.type`.
978
+ # Corresponds to the JSON property `fileName`
979
+ # @return [String]
980
+ attr_accessor :file_name
981
+
982
+ # Required. List of user given `MuxStream.key`s that should appear in this
983
+ # manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.
984
+ # key` and `.m3u8` extension is generated for each element of the `Manifest.
985
+ # mux_streams`.
986
+ # Corresponds to the JSON property `muxStreams`
987
+ # @return [Array<String>]
988
+ attr_accessor :mux_streams
989
+
990
+ # Required. Type of the manifest, can be "HLS" or "DASH".
991
+ # Corresponds to the JSON property `type`
992
+ # @return [String]
993
+ attr_accessor :type
994
+
995
+ def initialize(**args)
996
+ update!(**args)
997
+ end
998
+
999
+ # Update properties of this object
1000
+ def update!(**args)
1001
+ @file_name = args[:file_name] if args.key?(:file_name)
1002
+ @mux_streams = args[:mux_streams] if args.key?(:mux_streams)
1003
+ @type = args[:type] if args.key?(:type)
1004
+ end
1005
+ end
1006
+
1007
+ # Configuration for MPEG Common Encryption (MPEG-CENC).
1008
+ class MpegCommonEncryption
1009
+ include Google::Apis::Core::Hashable
1010
+
1011
+ # Required. 128 bit Key ID represented as lowercase hexadecimal digits for use
1012
+ # with common encryption.
1013
+ # Corresponds to the JSON property `keyId`
1014
+ # @return [String]
1015
+ attr_accessor :key_id
1016
+
1017
+ # Required. Specify the encryption scheme. Supported encryption schemes: - 'cenc'
1018
+ # - 'cbcs'
1019
+ # Corresponds to the JSON property `scheme`
1020
+ # @return [String]
1021
+ attr_accessor :scheme
1022
+
1023
+ def initialize(**args)
1024
+ update!(**args)
1025
+ end
1026
+
1027
+ # Update properties of this object
1028
+ def update!(**args)
1029
+ @key_id = args[:key_id] if args.key?(:key_id)
1030
+ @scheme = args[:scheme] if args.key?(:scheme)
1031
+ end
1032
+ end
1033
+
1034
+ # Multiplexing settings for output stream.
1035
+ class MuxStream
1036
+ include Google::Apis::Core::Hashable
1037
+
1038
+ # The container format. The default is `"mp4"` Supported container formats: - '
1039
+ # ts' - 'fmp4'- the corresponding file extension is `".m4s"` - 'mp4' - 'vtt'
1040
+ # Corresponds to the JSON property `container`
1041
+ # @return [String]
1042
+ attr_accessor :container
1043
+
1044
+ # List of `ElementaryStream.key`s multiplexed in this stream.
1045
+ # Corresponds to the JSON property `elementaryStreams`
1046
+ # @return [Array<String>]
1047
+ attr_accessor :elementary_streams
1048
+
1049
+ # Encryption settings.
1050
+ # Corresponds to the JSON property `encryption`
1051
+ # @return [Google::Apis::TranscoderV1beta1::Encryption]
1052
+ attr_accessor :encryption
1053
+
1054
+ # The name of the generated file. The default is `MuxStream.key` with the
1055
+ # extension suffix corresponding to the `MuxStream.container`. Individual
1056
+ # segments also have an incremental 10-digit zero-padded suffix starting from 0
1057
+ # before the extension, such as `"mux_stream0000000123.ts"`.
1058
+ # Corresponds to the JSON property `fileName`
1059
+ # @return [String]
1060
+ attr_accessor :file_name
1061
+
1062
+ # A unique key for this multiplexed stream. HLS media manifests will be named `
1063
+ # MuxStream.key` with the `".m3u8"` extension suffix.
1064
+ # Corresponds to the JSON property `key`
1065
+ # @return [String]
1066
+ attr_accessor :key
1067
+
1068
+ # Segment settings for `"ts"`, `"fmp4"` and `"vtt"`.
1069
+ # Corresponds to the JSON property `segmentSettings`
1070
+ # @return [Google::Apis::TranscoderV1beta1::SegmentSettings]
1071
+ attr_accessor :segment_settings
1072
+
1073
+ def initialize(**args)
1074
+ update!(**args)
1075
+ end
1076
+
1077
+ # Update properties of this object
1078
+ def update!(**args)
1079
+ @container = args[:container] if args.key?(:container)
1080
+ @elementary_streams = args[:elementary_streams] if args.key?(:elementary_streams)
1081
+ @encryption = args[:encryption] if args.key?(:encryption)
1082
+ @file_name = args[:file_name] if args.key?(:file_name)
1083
+ @key = args[:key] if args.key?(:key)
1084
+ @segment_settings = args[:segment_settings] if args.key?(:segment_settings)
1085
+ end
1086
+ end
1087
+
1088
+ # 2D normalized coordinates. Default: ``0.0, 0.0``
1089
+ class NormalizedCoordinate
1090
+ include Google::Apis::Core::Hashable
1091
+
1092
+ # Normalized x coordinate.
1093
+ # Corresponds to the JSON property `x`
1094
+ # @return [Float]
1095
+ attr_accessor :x
1096
+
1097
+ # Normalized y coordinate.
1098
+ # Corresponds to the JSON property `y`
1099
+ # @return [Float]
1100
+ attr_accessor :y
1101
+
1102
+ def initialize(**args)
1103
+ update!(**args)
1104
+ end
1105
+
1106
+ # Update properties of this object
1107
+ def update!(**args)
1108
+ @x = args[:x] if args.key?(:x)
1109
+ @y = args[:y] if args.key?(:y)
1110
+ end
1111
+ end
1112
+
1113
+ # The origin URI.
1114
+ class OriginUri
1115
+ include Google::Apis::Core::Hashable
1116
+
1117
+ # Dash manifest URI. If multiple Dash manifests are created, only the first one
1118
+ # is listed.
1119
+ # Corresponds to the JSON property `dash`
1120
+ # @return [String]
1121
+ attr_accessor :dash
1122
+
1123
+ # HLS manifest URI per https://tools.ietf.org/html/rfc8216#section-4.3.4. If
1124
+ # multiple HLS manifests are created, only the first one is listed.
1125
+ # Corresponds to the JSON property `hls`
1126
+ # @return [String]
1127
+ attr_accessor :hls
1128
+
1129
+ def initialize(**args)
1130
+ update!(**args)
1131
+ end
1132
+
1133
+ # Update properties of this object
1134
+ def update!(**args)
1135
+ @dash = args[:dash] if args.key?(:dash)
1136
+ @hls = args[:hls] if args.key?(:hls)
1137
+ end
1138
+ end
1139
+
1140
+ # Location of output file(s) in a Cloud Storage bucket.
1141
+ class Output
1142
+ include Google::Apis::Core::Hashable
1143
+
1144
+ # URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty
1145
+ # the value is populated from `Job.output_uri`.
1146
+ # Corresponds to the JSON property `uri`
1147
+ # @return [String]
1148
+ attr_accessor :uri
1149
+
1150
+ def initialize(**args)
1151
+ update!(**args)
1152
+ end
1153
+
1154
+ # Update properties of this object
1155
+ def update!(**args)
1156
+ @uri = args[:uri] if args.key?(:uri)
1157
+ end
1158
+ end
1159
+
1160
+ # Overlay configuration.
1161
+ class Overlay
1162
+ include Google::Apis::Core::Hashable
1163
+
1164
+ # List of Animations. The list should be chronological, without any time overlap.
1165
+ # Corresponds to the JSON property `animations`
1166
+ # @return [Array<Google::Apis::TranscoderV1beta1::Animation>]
1167
+ attr_accessor :animations
1168
+
1169
+ # Overlaid jpeg image.
1170
+ # Corresponds to the JSON property `image`
1171
+ # @return [Google::Apis::TranscoderV1beta1::Image]
1172
+ attr_accessor :image
1173
+
1174
+ def initialize(**args)
1175
+ update!(**args)
1176
+ end
1177
+
1178
+ # Update properties of this object
1179
+ def update!(**args)
1180
+ @animations = args[:animations] if args.key?(:animations)
1181
+ @image = args[:image] if args.key?(:image)
1182
+ end
1183
+ end
1184
+
1185
+ # Preprocessing configurations.
1186
+ class PreprocessingConfig
1187
+ include Google::Apis::Core::Hashable
1188
+
1189
+ # Audio preprocessing configuration.
1190
+ # Corresponds to the JSON property `audio`
1191
+ # @return [Google::Apis::TranscoderV1beta1::Audio]
1192
+ attr_accessor :audio
1193
+
1194
+ # Color preprocessing configuration.
1195
+ # Corresponds to the JSON property `color`
1196
+ # @return [Google::Apis::TranscoderV1beta1::Color]
1197
+ attr_accessor :color
1198
+
1199
+ # Video cropping configuration.
1200
+ # Corresponds to the JSON property `crop`
1201
+ # @return [Google::Apis::TranscoderV1beta1::Crop]
1202
+ attr_accessor :crop
1203
+
1204
+ # Deblock preprocessing configuration.
1205
+ # Corresponds to the JSON property `deblock`
1206
+ # @return [Google::Apis::TranscoderV1beta1::Deblock]
1207
+ attr_accessor :deblock
1208
+
1209
+ # Denoise preprocessing configuration.
1210
+ # Corresponds to the JSON property `denoise`
1211
+ # @return [Google::Apis::TranscoderV1beta1::Denoise]
1212
+ attr_accessor :denoise
1213
+
1214
+ def initialize(**args)
1215
+ update!(**args)
1216
+ end
1217
+
1218
+ # Update properties of this object
1219
+ def update!(**args)
1220
+ @audio = args[:audio] if args.key?(:audio)
1221
+ @color = args[:color] if args.key?(:color)
1222
+ @crop = args[:crop] if args.key?(:crop)
1223
+ @deblock = args[:deblock] if args.key?(:deblock)
1224
+ @denoise = args[:denoise] if args.key?(:denoise)
1225
+ end
1226
+ end
1227
+
1228
+ # Estimated fractional progress for each step, from `0` to `1`.
1229
+ class Progress
1230
+ include Google::Apis::Core::Hashable
1231
+
1232
+ # Estimated fractional progress for `analyzing` step.
1233
+ # Corresponds to the JSON property `analyzed`
1234
+ # @return [Float]
1235
+ attr_accessor :analyzed
1236
+
1237
+ # Estimated fractional progress for `encoding` step.
1238
+ # Corresponds to the JSON property `encoded`
1239
+ # @return [Float]
1240
+ attr_accessor :encoded
1241
+
1242
+ # Estimated fractional progress for `notifying` step.
1243
+ # Corresponds to the JSON property `notified`
1244
+ # @return [Float]
1245
+ attr_accessor :notified
1246
+
1247
+ # Estimated fractional progress for `uploading` step.
1248
+ # Corresponds to the JSON property `uploaded`
1249
+ # @return [Float]
1250
+ attr_accessor :uploaded
1251
+
1252
+ def initialize(**args)
1253
+ update!(**args)
1254
+ end
1255
+
1256
+ # Update properties of this object
1257
+ def update!(**args)
1258
+ @analyzed = args[:analyzed] if args.key?(:analyzed)
1259
+ @encoded = args[:encoded] if args.key?(:encoded)
1260
+ @notified = args[:notified] if args.key?(:notified)
1261
+ @uploaded = args[:uploaded] if args.key?(:uploaded)
1262
+ end
1263
+ end
1264
+
1265
+ # A Pub/Sub destination.
1266
+ class PubsubDestination
1267
+ include Google::Apis::Core::Hashable
1268
+
1269
+ # The name of the Pub/Sub topic to publish job completion notification to. For
1270
+ # example: `projects/`project`/topics/`topic``.
1271
+ # Corresponds to the JSON property `topic`
1272
+ # @return [String]
1273
+ attr_accessor :topic
1274
+
1275
+ def initialize(**args)
1276
+ update!(**args)
1277
+ end
1278
+
1279
+ # Update properties of this object
1280
+ def update!(**args)
1281
+ @topic = args[:topic] if args.key?(:topic)
1282
+ end
1283
+ end
1284
+
1285
+ # Configuration for SAMPLE-AES encryption.
1286
+ class SampleAesEncryption
1287
+ include Google::Apis::Core::Hashable
1288
+
1289
+ # Required. URI of the key delivery service. This URI is inserted into the M3U8
1290
+ # header.
1291
+ # Corresponds to the JSON property `keyUri`
1292
+ # @return [String]
1293
+ attr_accessor :key_uri
1294
+
1295
+ def initialize(**args)
1296
+ update!(**args)
1297
+ end
1298
+
1299
+ # Update properties of this object
1300
+ def update!(**args)
1301
+ @key_uri = args[:key_uri] if args.key?(:key_uri)
1302
+ end
1303
+ end
1304
+
1305
+ # Segment settings for `"ts"`, `"fmp4"` and `"vtt"`.
1306
+ class SegmentSettings
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # Required. Create an individual segment file. The default is `false`.
1310
+ # Corresponds to the JSON property `individualSegments`
1311
+ # @return [Boolean]
1312
+ attr_accessor :individual_segments
1313
+ alias_method :individual_segments?, :individual_segments
1314
+
1315
+ # Duration of the segments in seconds. The default is `"6.0s"`.
1316
+ # Corresponds to the JSON property `segmentDuration`
1317
+ # @return [String]
1318
+ attr_accessor :segment_duration
1319
+
1320
+ def initialize(**args)
1321
+ update!(**args)
1322
+ end
1323
+
1324
+ # Update properties of this object
1325
+ def update!(**args)
1326
+ @individual_segments = args[:individual_segments] if args.key?(:individual_segments)
1327
+ @segment_duration = args[:segment_duration] if args.key?(:segment_duration)
1328
+ end
1329
+ end
1330
+
1331
+ # Sprite sheet configuration.
1332
+ class SpriteSheet
1333
+ include Google::Apis::Core::Hashable
1334
+
1335
+ # The maximum number of sprites per row in a sprite sheet. The default is 0,
1336
+ # which indicates no maximum limit.
1337
+ # Corresponds to the JSON property `columnCount`
1338
+ # @return [Fixnum]
1339
+ attr_accessor :column_count
1340
+
1341
+ # End time in seconds, relative to the output file timeline. When `
1342
+ # end_time_offset` is not specified, the sprites are generated until the end of
1343
+ # the output file.
1344
+ # Corresponds to the JSON property `endTimeOffset`
1345
+ # @return [String]
1346
+ attr_accessor :end_time_offset
1347
+
1348
+ # Required. File name prefix for the generated sprite sheets. Each sprite sheet
1349
+ # has an incremental 10-digit zero-padded suffix starting from 0 before the
1350
+ # extension, such as `"sprite_sheet0000000123.jpeg"`.
1351
+ # Corresponds to the JSON property `filePrefix`
1352
+ # @return [String]
1353
+ attr_accessor :file_prefix
1354
+
1355
+ # Format type. The default is `"jpeg"`. Supported formats: - 'jpeg'
1356
+ # Corresponds to the JSON property `format`
1357
+ # @return [String]
1358
+ attr_accessor :format
1359
+
1360
+ # Starting from `0s`, create sprites at regular intervals. Specify the interval
1361
+ # value in seconds.
1362
+ # Corresponds to the JSON property `interval`
1363
+ # @return [String]
1364
+ attr_accessor :interval
1365
+
1366
+ # The maximum number of rows per sprite sheet. When the sprite sheet is full, a
1367
+ # new sprite sheet is created. The default is 0, which indicates no maximum
1368
+ # limit.
1369
+ # Corresponds to the JSON property `rowCount`
1370
+ # @return [Fixnum]
1371
+ attr_accessor :row_count
1372
+
1373
+ # Required. The height of sprite in pixels. Must be an even integer.
1374
+ # Corresponds to the JSON property `spriteHeightPixels`
1375
+ # @return [Fixnum]
1376
+ attr_accessor :sprite_height_pixels
1377
+
1378
+ # Required. The width of sprite in pixels. Must be an even integer.
1379
+ # Corresponds to the JSON property `spriteWidthPixels`
1380
+ # @return [Fixnum]
1381
+ attr_accessor :sprite_width_pixels
1382
+
1383
+ # Start time in seconds, relative to the output file timeline. Determines the
1384
+ # first sprite to pick. The default is `0s`.
1385
+ # Corresponds to the JSON property `startTimeOffset`
1386
+ # @return [String]
1387
+ attr_accessor :start_time_offset
1388
+
1389
+ # Total number of sprites. Create the specified number of sprites distributed
1390
+ # evenly across the timeline of the output media. The default is 100.
1391
+ # Corresponds to the JSON property `totalCount`
1392
+ # @return [Fixnum]
1393
+ attr_accessor :total_count
1394
+
1395
+ def initialize(**args)
1396
+ update!(**args)
1397
+ end
1398
+
1399
+ # Update properties of this object
1400
+ def update!(**args)
1401
+ @column_count = args[:column_count] if args.key?(:column_count)
1402
+ @end_time_offset = args[:end_time_offset] if args.key?(:end_time_offset)
1403
+ @file_prefix = args[:file_prefix] if args.key?(:file_prefix)
1404
+ @format = args[:format] if args.key?(:format)
1405
+ @interval = args[:interval] if args.key?(:interval)
1406
+ @row_count = args[:row_count] if args.key?(:row_count)
1407
+ @sprite_height_pixels = args[:sprite_height_pixels] if args.key?(:sprite_height_pixels)
1408
+ @sprite_width_pixels = args[:sprite_width_pixels] if args.key?(:sprite_width_pixels)
1409
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
1410
+ @total_count = args[:total_count] if args.key?(:total_count)
1411
+ end
1412
+ end
1413
+
1414
+ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
1415
+ class TextAtom
1416
+ include Google::Apis::Core::Hashable
1417
+
1418
+ # List of `Job.inputs` that should be embedded in this atom. Only one input is
1419
+ # supported.
1420
+ # Corresponds to the JSON property `inputs`
1421
+ # @return [Array<Google::Apis::TranscoderV1beta1::TextInput>]
1422
+ attr_accessor :inputs
1423
+
1424
+ # Required. The `EditAtom.key` that references atom with text inputs in the `Job.
1425
+ # edit_list`.
1426
+ # Corresponds to the JSON property `key`
1427
+ # @return [String]
1428
+ attr_accessor :key
1429
+
1430
+ def initialize(**args)
1431
+ update!(**args)
1432
+ end
1433
+
1434
+ # Update properties of this object
1435
+ def update!(**args)
1436
+ @inputs = args[:inputs] if args.key?(:inputs)
1437
+ @key = args[:key] if args.key?(:key)
1438
+ end
1439
+ end
1440
+
1441
+ # Identifies which input file and track should be used.
1442
+ class TextInput
1443
+ include Google::Apis::Core::Hashable
1444
+
1445
+ # Required. The `Input.key` that identifies the input file.
1446
+ # Corresponds to the JSON property `key`
1447
+ # @return [String]
1448
+ attr_accessor :key
1449
+
1450
+ # Required. The zero-based index of the track in the input file.
1451
+ # Corresponds to the JSON property `track`
1452
+ # @return [Fixnum]
1453
+ attr_accessor :track
1454
+
1455
+ def initialize(**args)
1456
+ update!(**args)
1457
+ end
1458
+
1459
+ # Update properties of this object
1460
+ def update!(**args)
1461
+ @key = args[:key] if args.key?(:key)
1462
+ @track = args[:track] if args.key?(:track)
1463
+ end
1464
+ end
1465
+
1466
+ # Encoding of a text stream. For example, closed captions or subtitles.
1467
+ class TextStream
1468
+ include Google::Apis::Core::Hashable
1469
+
1470
+ # The codec for this text stream. The default is `"webvtt"`. Supported text
1471
+ # codecs: - 'srt' - 'ttml' - 'cea608' - 'cea708' - 'webvtt'
1472
+ # Corresponds to the JSON property `codec`
1473
+ # @return [String]
1474
+ attr_accessor :codec
1475
+
1476
+ # Required. The BCP-47 language code, such as `"en-US"` or `"sr-Latn"`. For more
1477
+ # information, see https://www.unicode.org/reports/tr35/#
1478
+ # Unicode_locale_identifier.
1479
+ # Corresponds to the JSON property `languageCode`
1480
+ # @return [String]
1481
+ attr_accessor :language_code
1482
+
1483
+ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
1484
+ # Corresponds to the JSON property `mapping`
1485
+ # @return [Array<Google::Apis::TranscoderV1beta1::TextAtom>]
1486
+ attr_accessor :mapping
1487
+
1488
+ def initialize(**args)
1489
+ update!(**args)
1490
+ end
1491
+
1492
+ # Update properties of this object
1493
+ def update!(**args)
1494
+ @codec = args[:codec] if args.key?(:codec)
1495
+ @language_code = args[:language_code] if args.key?(:language_code)
1496
+ @mapping = args[:mapping] if args.key?(:mapping)
1497
+ end
1498
+ end
1499
+
1500
+ # Video stream resource.
1501
+ class VideoStream
1502
+ include Google::Apis::Core::Hashable
1503
+
1504
+ # Specifies whether an open Group of Pictures (GOP) structure should be allowed
1505
+ # or not. The default is `false`.
1506
+ # Corresponds to the JSON property `allowOpenGop`
1507
+ # @return [Boolean]
1508
+ attr_accessor :allow_open_gop
1509
+ alias_method :allow_open_gop?, :allow_open_gop
1510
+
1511
+ # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1,
1512
+ # where 0 disables the quantizer and 1 maximizes the quantizer. A higher value
1513
+ # equals a lower bitrate but smoother image. The default is 0.
1514
+ # Corresponds to the JSON property `aqStrength`
1515
+ # @return [Float]
1516
+ attr_accessor :aq_strength
1517
+
1518
+ # The number of consecutive B-frames. Must be greater than or equal to zero.
1519
+ # Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
1520
+ # Corresponds to the JSON property `bFrameCount`
1521
+ # @return [Fixnum]
1522
+ attr_accessor :b_frame_count
1523
+
1524
+ # Allow B-pyramid for reference frame selection. This may not be supported on
1525
+ # all decoders. The default is `false`.
1526
+ # Corresponds to the JSON property `bPyramid`
1527
+ # @return [Boolean]
1528
+ attr_accessor :b_pyramid
1529
+ alias_method :b_pyramid?, :b_pyramid
1530
+
1531
+ # Required. The video bitrate in bits per second. Must be between 1 and 1,000,
1532
+ # 000,000.
1533
+ # Corresponds to the JSON property `bitrateBps`
1534
+ # @return [Fixnum]
1535
+ attr_accessor :bitrate_bps
1536
+
1537
+ # Codec type. The following codecs are supported: * `h264` (default) * `h265` * `
1538
+ # vp9`
1539
+ # Corresponds to the JSON property `codec`
1540
+ # @return [String]
1541
+ attr_accessor :codec
1542
+
1543
+ # Target CRF level. Must be between 10 and 36, where 10 is the highest quality
1544
+ # and 36 is the most efficient compression. The default is 21.
1545
+ # Corresponds to the JSON property `crfLevel`
1546
+ # @return [Fixnum]
1547
+ attr_accessor :crf_level
1548
+
1549
+ # Use two-pass encoding strategy to achieve better video quality. `VideoStream.
1550
+ # rate_control_mode` must be `"vbr"`. The default is `false`.
1551
+ # Corresponds to the JSON property `enableTwoPass`
1552
+ # @return [Boolean]
1553
+ attr_accessor :enable_two_pass
1554
+ alias_method :enable_two_pass?, :enable_two_pass
1555
+
1556
+ # The entropy coder to use. The default is `"cabac"`. Supported entropy coders: -
1557
+ # 'cavlc' - 'cabac'
1558
+ # Corresponds to the JSON property `entropyCoder`
1559
+ # @return [String]
1560
+ attr_accessor :entropy_coder
1561
+
1562
+ # Required. The target video frame rate in frames per second (FPS). Must be less
1563
+ # than or equal to 120. Will default to the input frame rate if larger than the
1564
+ # input frame rate. The API will generate an output FPS that is divisible by the
1565
+ # input FPS, and smaller or equal to the target FPS. The following table shows
1566
+ # the computed video FPS given the target FPS (in parenthesis) and input FPS (in
1567
+ # the first column): | | (30) | (60) | (25) | (50) | |--------|--------|--------|
1568
+ # ------|------| | 240 | Fail | Fail | Fail | Fail | | 120 | 30 | 60 | 20 | 30 |
1569
+ # | 100 | 25 | 50 | 20 | 30 | | 50 | 25 | 50 | 20 | 30 | | 60 | 30 | 60 | 20 |
1570
+ # 30 | | 59.94 | 29.97 | 59.94 | 20 | 30 | | 48 | 24 | 48 | 20 | 30 | | 30 | 30 |
1571
+ # 30 | 20 | 30 | | 25 | 25 | 25 | 20 | 30 | | 24 | 24 | 24 | 20 | 30 | | 23.976
1572
+ # | 23.976 | 23.976 | 20 | 30 | | 15 | 15 | 15 | 20 | 30 | | 12 | 12 | 12 | 20 |
1573
+ # 30 | | 10 | 10 | 10 | 20 | 30 |
1574
+ # Corresponds to the JSON property `frameRate`
1575
+ # @return [Float]
1576
+ attr_accessor :frame_rate
1577
+
1578
+ # Select the GOP size based on the specified duration. The default is `"3s"`.
1579
+ # Corresponds to the JSON property `gopDuration`
1580
+ # @return [String]
1581
+ attr_accessor :gop_duration
1582
+
1583
+ # Select the GOP size based on the specified frame count. Must be greater than
1584
+ # zero.
1585
+ # Corresponds to the JSON property `gopFrameCount`
1586
+ # @return [Fixnum]
1587
+ attr_accessor :gop_frame_count
1588
+
1589
+ # The height of the video in pixels. Must be an even integer. When not specified,
1590
+ # the height is adjusted to match the specified width and input aspect ratio.
1591
+ # If both are omitted, the input height is used.
1592
+ # Corresponds to the JSON property `heightPixels`
1593
+ # @return [Fixnum]
1594
+ attr_accessor :height_pixels
1595
+
1596
+ # Pixel format to use. The default is `"yuv420p"`. Supported pixel formats: - '
1597
+ # yuv420p' pixel format. - 'yuv422p' pixel format. - 'yuv444p' pixel format. - '
1598
+ # yuv420p10' 10-bit HDR pixel format. - 'yuv422p10' 10-bit HDR pixel format. - '
1599
+ # yuv444p10' 10-bit HDR pixel format. - 'yuv420p12' 12-bit HDR pixel format. - '
1600
+ # yuv422p12' 12-bit HDR pixel format. - 'yuv444p12' 12-bit HDR pixel format.
1601
+ # Corresponds to the JSON property `pixelFormat`
1602
+ # @return [String]
1603
+ attr_accessor :pixel_format
1604
+
1605
+ # Enforces the specified codec preset. The default is `veryfast`. The available
1606
+ # options are FFmpeg-compatible. Note that certain values for this field may
1607
+ # cause the transcoder to override other fields you set in the `VideoStream`
1608
+ # message.
1609
+ # Corresponds to the JSON property `preset`
1610
+ # @return [String]
1611
+ attr_accessor :preset
1612
+
1613
+ # Enforces the specified codec profile. The following profiles are supported: * `
1614
+ # baseline` * `main` * `high` (default) The available options are FFmpeg-
1615
+ # compatible. Note that certain values for this field may cause the transcoder
1616
+ # to override other fields you set in the `VideoStream` message.
1617
+ # Corresponds to the JSON property `profile`
1618
+ # @return [String]
1619
+ attr_accessor :profile
1620
+
1621
+ # Specify the `rate_control_mode`. The default is `"vbr"`. Supported rate
1622
+ # control modes: - 'vbr' - variable bitrate - 'crf' - constant rate factor
1623
+ # Corresponds to the JSON property `rateControlMode`
1624
+ # @return [String]
1625
+ attr_accessor :rate_control_mode
1626
+
1627
+ # Enforces the specified codec tune. The available options are FFmpeg-compatible.
1628
+ # Note that certain values for this field may cause the transcoder to override
1629
+ # other fields you set in the `VideoStream` message.
1630
+ # Corresponds to the JSON property `tune`
1631
+ # @return [String]
1632
+ attr_accessor :tune
1633
+
1634
+ # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be
1635
+ # greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
1636
+ # Corresponds to the JSON property `vbvFullnessBits`
1637
+ # @return [Fixnum]
1638
+ attr_accessor :vbv_fullness_bits
1639
+
1640
+ # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater
1641
+ # than zero. The default is equal to `VideoStream.bitrate_bps`.
1642
+ # Corresponds to the JSON property `vbvSizeBits`
1643
+ # @return [Fixnum]
1644
+ attr_accessor :vbv_size_bits
1645
+
1646
+ # The width of the video in pixels. Must be an even integer. When not specified,
1647
+ # the width is adjusted to match the specified height and input aspect ratio. If
1648
+ # both are omitted, the input width is used.
1649
+ # Corresponds to the JSON property `widthPixels`
1650
+ # @return [Fixnum]
1651
+ attr_accessor :width_pixels
1652
+
1653
+ def initialize(**args)
1654
+ update!(**args)
1655
+ end
1656
+
1657
+ # Update properties of this object
1658
+ def update!(**args)
1659
+ @allow_open_gop = args[:allow_open_gop] if args.key?(:allow_open_gop)
1660
+ @aq_strength = args[:aq_strength] if args.key?(:aq_strength)
1661
+ @b_frame_count = args[:b_frame_count] if args.key?(:b_frame_count)
1662
+ @b_pyramid = args[:b_pyramid] if args.key?(:b_pyramid)
1663
+ @bitrate_bps = args[:bitrate_bps] if args.key?(:bitrate_bps)
1664
+ @codec = args[:codec] if args.key?(:codec)
1665
+ @crf_level = args[:crf_level] if args.key?(:crf_level)
1666
+ @enable_two_pass = args[:enable_two_pass] if args.key?(:enable_two_pass)
1667
+ @entropy_coder = args[:entropy_coder] if args.key?(:entropy_coder)
1668
+ @frame_rate = args[:frame_rate] if args.key?(:frame_rate)
1669
+ @gop_duration = args[:gop_duration] if args.key?(:gop_duration)
1670
+ @gop_frame_count = args[:gop_frame_count] if args.key?(:gop_frame_count)
1671
+ @height_pixels = args[:height_pixels] if args.key?(:height_pixels)
1672
+ @pixel_format = args[:pixel_format] if args.key?(:pixel_format)
1673
+ @preset = args[:preset] if args.key?(:preset)
1674
+ @profile = args[:profile] if args.key?(:profile)
1675
+ @rate_control_mode = args[:rate_control_mode] if args.key?(:rate_control_mode)
1676
+ @tune = args[:tune] if args.key?(:tune)
1677
+ @vbv_fullness_bits = args[:vbv_fullness_bits] if args.key?(:vbv_fullness_bits)
1678
+ @vbv_size_bits = args[:vbv_size_bits] if args.key?(:vbv_size_bits)
1679
+ @width_pixels = args[:width_pixels] if args.key?(:width_pixels)
1680
+ end
1681
+ end
1682
+ end
1683
+ end
1684
+ end