google-api-client 0.49.0 → 0.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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