google-api-client 0.9.4 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/README.md +34 -0
  4. data/api_names.yaml +3 -0
  5. data/api_names_out.yaml +1058 -20
  6. data/bin/generate-api +1 -1
  7. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  8. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +203 -6
  9. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +78 -0
  10. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +36 -0
  11. data/generated/google/apis/admin_directory_v1.rb +1 -1
  12. data/generated/google/apis/adsense_v1_4.rb +1 -1
  13. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  14. data/generated/google/apis/androidenterprise_v1.rb +2 -3
  15. data/generated/google/apis/androidenterprise_v1/classes.rb +11 -4
  16. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
  17. data/generated/google/apis/androidenterprise_v1/service.rb +5 -6
  18. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  19. data/generated/google/apis/androidpublisher_v2/classes.rb +47 -0
  20. data/generated/google/apis/androidpublisher_v2/representations.rb +6 -0
  21. data/generated/google/apis/appengine_v1beta5.rb +2 -3
  22. data/generated/google/apis/appengine_v1beta5/classes.rb +143 -8
  23. data/generated/google/apis/appengine_v1beta5/representations.rb +42 -0
  24. data/generated/google/apis/appengine_v1beta5/service.rb +48 -6
  25. data/generated/google/apis/appstate_v1.rb +1 -1
  26. data/generated/google/apis/bigquery_v2.rb +1 -1
  27. data/generated/google/apis/bigquery_v2/classes.rb +68 -14
  28. data/generated/google/apis/bigquery_v2/representations.rb +30 -0
  29. data/generated/google/apis/books_v1.rb +1 -1
  30. data/generated/google/apis/books_v1/classes.rb +68 -3
  31. data/generated/google/apis/books_v1/representations.rb +21 -0
  32. data/generated/google/apis/calendar_v3.rb +2 -2
  33. data/generated/google/apis/calendar_v3/service.rb +1 -1
  34. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  35. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  36. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  37. data/generated/google/apis/cloudresourcemanager_v1/service.rb +2 -2
  38. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  39. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +2 -2
  40. data/generated/google/apis/clouduseraccounts_beta.rb +1 -1
  41. data/generated/google/apis/clouduseraccounts_beta/classes.rb +1 -1
  42. data/generated/google/apis/compute_beta.rb +1 -1
  43. data/generated/google/apis/compute_beta/classes.rb +138 -108
  44. data/generated/google/apis/compute_beta/representations.rb +16 -18
  45. data/generated/google/apis/compute_beta/service.rb +52 -2
  46. data/generated/google/apis/compute_v1.rb +1 -1
  47. data/generated/google/apis/compute_v1/classes.rb +55 -74
  48. data/generated/google/apis/compute_v1/representations.rb +14 -18
  49. data/generated/google/apis/compute_v1/service.rb +45 -1
  50. data/generated/google/apis/container_v1.rb +3 -3
  51. data/generated/google/apis/container_v1/classes.rb +200 -42
  52. data/generated/google/apis/container_v1/representations.rb +54 -0
  53. data/generated/google/apis/container_v1/service.rb +31 -30
  54. data/generated/google/apis/content_v2.rb +1 -1
  55. data/generated/google/apis/datastore_v1beta2.rb +2 -2
  56. data/generated/google/apis/datastore_v1beta2/service.rb +1 -1
  57. data/generated/google/apis/deploymentmanager_v2.rb +2 -3
  58. data/generated/google/apis/deploymentmanager_v2/classes.rb +7 -1
  59. data/generated/google/apis/deploymentmanager_v2/representations.rb +1 -0
  60. data/generated/google/apis/deploymentmanager_v2/service.rb +26 -27
  61. data/generated/google/apis/dfareporting_v2_3.rb +2 -2
  62. data/generated/google/apis/dfareporting_v2_3/classes.rb +1 -1
  63. data/generated/google/apis/dfareporting_v2_3/service.rb +2 -2
  64. data/generated/google/apis/dns_v1.rb +1 -1
  65. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  66. data/generated/google/apis/doubleclicksearch_v2/classes.rb +6 -4
  67. data/generated/google/apis/drive_v2.rb +1 -1
  68. data/generated/google/apis/drive_v2/classes.rb +10 -4
  69. data/generated/google/apis/drive_v2/representations.rb +1 -0
  70. data/generated/google/apis/drive_v3.rb +1 -1
  71. data/generated/google/apis/drive_v3/classes.rb +7 -0
  72. data/generated/google/apis/drive_v3/representations.rb +1 -0
  73. data/generated/google/apis/fusiontables_v2.rb +1 -1
  74. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  75. data/generated/google/apis/games_management_v1management.rb +1 -1
  76. data/generated/google/apis/games_v1.rb +1 -1
  77. data/generated/google/apis/genomics_v1.rb +2 -2
  78. data/generated/google/apis/genomics_v1/classes.rb +770 -82
  79. data/generated/google/apis/genomics_v1/representations.rb +287 -24
  80. data/generated/google/apis/genomics_v1/service.rb +412 -13
  81. data/generated/google/apis/gmail_v1.rb +1 -1
  82. data/generated/google/apis/groupssettings_v1.rb +1 -1
  83. data/generated/google/apis/groupssettings_v1/classes.rb +13 -6
  84. data/generated/google/apis/groupssettings_v1/representations.rb +1 -0
  85. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  86. data/generated/google/apis/identitytoolkit_v3/classes.rb +50 -0
  87. data/generated/google/apis/identitytoolkit_v3/representations.rb +10 -0
  88. data/generated/google/apis/logging_v2beta1.rb +2 -3
  89. data/generated/google/apis/logging_v2beta1/classes.rb +219 -63
  90. data/generated/google/apis/logging_v2beta1/representations.rb +24 -1
  91. data/generated/google/apis/logging_v2beta1/service.rb +25 -32
  92. data/generated/google/apis/oauth2_v2.rb +2 -2
  93. data/generated/google/apis/oauth2_v2/service.rb +1 -1
  94. data/generated/google/apis/plus_domains_v1.rb +1 -1
  95. data/generated/google/apis/plus_v1.rb +1 -1
  96. data/generated/google/apis/pubsub_v1.rb +1 -1
  97. data/generated/google/apis/pubsub_v1/classes.rb +20 -12
  98. data/generated/google/apis/pubsub_v1/service.rb +32 -35
  99. data/generated/google/apis/reseller_v1.rb +1 -1
  100. data/generated/google/apis/reseller_v1/classes.rb +23 -9
  101. data/generated/google/apis/reseller_v1/representations.rb +2 -0
  102. data/generated/google/apis/sheets_v1.rb +43 -0
  103. data/generated/google/apis/sheets_v1/classes.rb +4542 -0
  104. data/generated/google/apis/sheets_v1/representations.rb +1703 -0
  105. data/generated/google/apis/sheets_v1/service.rb +363 -0
  106. data/generated/google/apis/sqladmin_v1beta4.rb +3 -2
  107. data/generated/google/apis/sqladmin_v1beta4/classes.rb +4 -3
  108. data/generated/google/apis/sqladmin_v1beta4/service.rb +2 -1
  109. data/generated/google/apis/storage_v1.rb +1 -1
  110. data/generated/google/apis/vision_v1.rb +2 -2
  111. data/generated/google/apis/vision_v1/classes.rb +11 -11
  112. data/generated/google/apis/vision_v1/service.rb +1 -1
  113. data/generated/google/apis/webmasters_v3.rb +2 -2
  114. data/generated/google/apis/webmasters_v3/classes.rb +7 -0
  115. data/generated/google/apis/webmasters_v3/representations.rb +1 -0
  116. data/generated/google/apis/webmasters_v3/service.rb +1 -1
  117. data/generated/google/apis/youtube_partner_v1.rb +37 -0
  118. data/generated/google/apis/youtube_partner_v1/classes.rb +3656 -0
  119. data/generated/google/apis/youtube_partner_v1/representations.rb +1452 -0
  120. data/generated/google/apis/youtube_partner_v1/service.rb +3165 -0
  121. data/generated/google/apis/youtube_v3.rb +3 -2
  122. data/generated/google/apis/youtube_v3/classes.rb +100 -3
  123. data/generated/google/apis/youtube_v3/representations.rb +50 -0
  124. data/generated/google/apis/youtube_v3/service.rb +2 -1
  125. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  126. data/generated/google/apis/youtubereporting_v1/classes.rb +17 -0
  127. data/generated/google/apis/youtubereporting_v1/representations.rb +2 -0
  128. data/generated/google/apis/youtubereporting_v1/service.rb +21 -3
  129. data/google-api-client.gemspec +2 -0
  130. data/lib/google/apis.rb +12 -2
  131. data/lib/google/apis/version.rb +1 -1
  132. data/script/generate +5 -2
  133. data/spec/google/apis/logging_spec.rb +55 -0
  134. metadata +12 -4
@@ -20,7 +20,7 @@ require 'google/apis/errors'
20
20
  module Google
21
21
  module Apis
22
22
  module VisionV1
23
- # Cloud Vision API
23
+ # Google Cloud Vision API
24
24
  #
25
25
  # The Google Cloud Vision API allows developers to easily integrate Google
26
26
  # vision features, including image labeling, face, logo, and landmark detection,
@@ -20,12 +20,12 @@ module Google
20
20
  module Apis
21
21
  # Search Console API
22
22
  #
23
- # Lets you view Google Search Console data for your verified sites.
23
+ # View Google Search Console data for your verified sites.
24
24
  #
25
25
  # @see https://developers.google.com/webmaster-tools/
26
26
  module WebmastersV3
27
27
  VERSION = 'V3'
28
- REVISION = '20151229'
28
+ REVISION = '20160317'
29
29
 
30
30
  # View and manage Search Console data for your verified sites
31
31
  AUTH_WEBMASTERS = 'https://www.googleapis.com/auth/webmasters'
@@ -181,6 +181,12 @@ module Google
181
181
  # @return [String]
182
182
  attr_accessor :start_date
183
183
 
184
+ # [Optional; Default is 0] Zero-based index of the first row in the response.
185
+ # Must be a non-negative number.
186
+ # Corresponds to the JSON property `startRow`
187
+ # @return [Fixnum]
188
+ attr_accessor :start_row
189
+
184
190
  def initialize(**args)
185
191
  update!(**args)
186
192
  end
@@ -194,6 +200,7 @@ module Google
194
200
  @row_limit = args[:row_limit] if args.key?(:row_limit)
195
201
  @search_type = args[:search_type] if args.key?(:search_type)
196
202
  @start_date = args[:start_date] if args.key?(:start_date)
203
+ @start_row = args[:start_row] if args.key?(:start_row)
197
204
  end
198
205
  end
199
206
 
@@ -158,6 +158,7 @@ module Google
158
158
  property :row_limit, as: 'rowLimit'
159
159
  property :search_type, as: 'searchType'
160
160
  property :start_date, as: 'startDate'
161
+ property :start_row, as: 'startRow'
161
162
  end
162
163
  end
163
164
 
@@ -22,7 +22,7 @@ module Google
22
22
  module WebmastersV3
23
23
  # Search Console API
24
24
  #
25
- # Lets you view Google Search Console data for your verified sites.
25
+ # View Google Search Console data for your verified sites.
26
26
  #
27
27
  # @example
28
28
  # require 'google/apis/webmasters_v3'
@@ -0,0 +1,37 @@
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/youtube_partner_v1/service.rb'
16
+ require 'google/apis/youtube_partner_v1/classes.rb'
17
+ require 'google/apis/youtube_partner_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Youtube Content ID API
22
+ #
23
+ # API for YouTube partners. To use this API YouTube CMS account is required.
24
+ #
25
+ # @see https://developers.google.com/youtube/partner/
26
+ module YoutubePartnerV1
27
+ VERSION = 'V1'
28
+ REVISION = '20160405'
29
+
30
+ # View and manage your assets and associated content on YouTube
31
+ AUTH_YOUTUBEPARTNER = 'https://www.googleapis.com/auth/youtubepartner'
32
+
33
+ # View content owner account details from YouTube.
34
+ AUTH_YOUTUBEPARTNER_CONTENT_OWNER_READONLY = 'https://www.googleapis.com/auth/youtubepartner-content-owner-readonly'
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,3656 @@
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 YoutubePartnerV1
24
+
25
+ #
26
+ class AdBreak
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The time of the ad break specified as the number of seconds after the start of
30
+ # the video when the break occurs.
31
+ # Corresponds to the JSON property `midrollSeconds`
32
+ # @return [Fixnum]
33
+ attr_accessor :midroll_seconds
34
+
35
+ # The point at which the break occurs during the video playback.
36
+ # Corresponds to the JSON property `position`
37
+ # @return [String]
38
+ attr_accessor :position
39
+
40
+ # A list of ad slots that occur in an ad break. Ad slots let you specify the
41
+ # number of ads that should run in each break.
42
+ # Corresponds to the JSON property `slot`
43
+ # @return [Array<Google::Apis::YoutubePartnerV1::AdSlot>]
44
+ attr_accessor :slot
45
+
46
+ def initialize(**args)
47
+ update!(**args)
48
+ end
49
+
50
+ # Update properties of this object
51
+ def update!(**args)
52
+ @midroll_seconds = args[:midroll_seconds] if args.key?(:midroll_seconds)
53
+ @position = args[:position] if args.key?(:position)
54
+ @slot = args[:slot] if args.key?(:slot)
55
+ end
56
+ end
57
+
58
+ #
59
+ class AdSlot
60
+ include Google::Apis::Core::Hashable
61
+
62
+ # A value that identifies the ad slot to the ad server.
63
+ # Corresponds to the JSON property `id`
64
+ # @return [String]
65
+ attr_accessor :id
66
+
67
+ # The type of ad that runs in the slot. The value may affect YouTube's fallback
68
+ # behavior if the third-party platform does not return ads.
69
+ # Corresponds to the JSON property `type`
70
+ # @return [String]
71
+ attr_accessor :type
72
+
73
+ def initialize(**args)
74
+ update!(**args)
75
+ end
76
+
77
+ # Update properties of this object
78
+ def update!(**args)
79
+ @id = args[:id] if args.key?(:id)
80
+ @type = args[:type] if args.key?(:type)
81
+ end
82
+ end
83
+
84
+ #
85
+ class AllowedAdvertisingOptions
86
+ include Google::Apis::Core::Hashable
87
+
88
+ # This setting indicates whether the partner can display ads when videos run in
89
+ # an embedded player.
90
+ # Corresponds to the JSON property `adsOnEmbeds`
91
+ # @return [Boolean]
92
+ attr_accessor :ads_on_embeds
93
+ alias_method :ads_on_embeds?, :ads_on_embeds
94
+
95
+ # This property identifies the resource type. Its value is youtubePartner#
96
+ # allowedAdvertisingOptions.
97
+ # Corresponds to the JSON property `kind`
98
+ # @return [String]
99
+ attr_accessor :kind
100
+
101
+ # A list of ad formats that the partner is allowed to use for its uploaded
102
+ # videos.
103
+ # Corresponds to the JSON property `licAdFormats`
104
+ # @return [Array<String>]
105
+ attr_accessor :lic_ad_formats
106
+
107
+ # A list of ad formats that the partner is allowed to use for claimed, user-
108
+ # uploaded content.
109
+ # Corresponds to the JSON property `ugcAdFormats`
110
+ # @return [Array<String>]
111
+ attr_accessor :ugc_ad_formats
112
+
113
+ def initialize(**args)
114
+ update!(**args)
115
+ end
116
+
117
+ # Update properties of this object
118
+ def update!(**args)
119
+ @ads_on_embeds = args[:ads_on_embeds] if args.key?(:ads_on_embeds)
120
+ @kind = args[:kind] if args.key?(:kind)
121
+ @lic_ad_formats = args[:lic_ad_formats] if args.key?(:lic_ad_formats)
122
+ @ugc_ad_formats = args[:ugc_ad_formats] if args.key?(:ugc_ad_formats)
123
+ end
124
+ end
125
+
126
+ #
127
+ class Asset
128
+ include Google::Apis::Core::Hashable
129
+
130
+ # A list of asset IDs that can be used to refer to the asset. The list contains
131
+ # values if the asset represents multiple constituent assets that have been
132
+ # merged. In that case, any of the asset IDs originally assigned to the
133
+ # constituent assets could be used to update the master, or synthesized, asset.
134
+ # Corresponds to the JSON property `aliasId`
135
+ # @return [Array<String>]
136
+ attr_accessor :alias_id
137
+
138
+ # An ID that YouTube assigns and uses to uniquely identify the asset.
139
+ # Corresponds to the JSON property `id`
140
+ # @return [String]
141
+ attr_accessor :id
142
+
143
+ # The type of the API resource. For asset resources, the value is youtubePartner#
144
+ # asset.
145
+ # Corresponds to the JSON property `kind`
146
+ # @return [String]
147
+ attr_accessor :kind
148
+
149
+ # A list of asset labels on the asset.
150
+ # Corresponds to the JSON property `label`
151
+ # @return [Array<String>]
152
+ attr_accessor :label
153
+
154
+ # The matchPolicy object contains information about the asset's match policy,
155
+ # which YouTube applies to user-uploaded videos that match the asset.
156
+ # Corresponds to the JSON property `matchPolicy`
157
+ # @return [Google::Apis::YoutubePartnerV1::AssetMatchPolicy]
158
+ attr_accessor :match_policy
159
+
160
+ #
161
+ # Corresponds to the JSON property `matchPolicyEffective`
162
+ # @return [Google::Apis::YoutubePartnerV1::AssetMatchPolicy]
163
+ attr_accessor :match_policy_effective
164
+
165
+ #
166
+ # Corresponds to the JSON property `matchPolicyMine`
167
+ # @return [Google::Apis::YoutubePartnerV1::AssetMatchPolicy]
168
+ attr_accessor :match_policy_mine
169
+
170
+ # The metadata object contains information that identifies and describes the
171
+ # asset. This information could be used to search for the asset or to eliminate
172
+ # duplication within YouTube's database.
173
+ # Corresponds to the JSON property `metadata`
174
+ # @return [Google::Apis::YoutubePartnerV1::Metadata]
175
+ attr_accessor :metadata
176
+
177
+ #
178
+ # Corresponds to the JSON property `metadataEffective`
179
+ # @return [Google::Apis::YoutubePartnerV1::Metadata]
180
+ attr_accessor :metadata_effective
181
+
182
+ #
183
+ # Corresponds to the JSON property `metadataMine`
184
+ # @return [Google::Apis::YoutubePartnerV1::Metadata]
185
+ attr_accessor :metadata_mine
186
+
187
+ # The ownership object identifies an asset's owners and provides additional
188
+ # details about their ownership, such as the territories where they own the
189
+ # asset.
190
+ # Corresponds to the JSON property `ownership`
191
+ # @return [Google::Apis::YoutubePartnerV1::RightsOwnership]
192
+ attr_accessor :ownership
193
+
194
+ # The ownershipConflicts object contains information about the asset's ownership
195
+ # conflicts.
196
+ # Corresponds to the JSON property `ownershipConflicts`
197
+ # @return [Google::Apis::YoutubePartnerV1::OwnershipConflicts]
198
+ attr_accessor :ownership_conflicts
199
+
200
+ #
201
+ # Corresponds to the JSON property `ownershipEffective`
202
+ # @return [Google::Apis::YoutubePartnerV1::RightsOwnership]
203
+ attr_accessor :ownership_effective
204
+
205
+ #
206
+ # Corresponds to the JSON property `ownershipMine`
207
+ # @return [Google::Apis::YoutubePartnerV1::RightsOwnership]
208
+ attr_accessor :ownership_mine
209
+
210
+ # The asset's status.
211
+ # Corresponds to the JSON property `status`
212
+ # @return [String]
213
+ attr_accessor :status
214
+
215
+ # The date and time the asset was created. The value is specified in RFC 3339 (
216
+ # YYYY-MM-DDThh:mm:ss.000Z) format.
217
+ # Corresponds to the JSON property `timeCreated`
218
+ # @return [DateTime]
219
+ attr_accessor :time_created
220
+
221
+ # The asset's type. This value determines the metadata fields that you can set
222
+ # for the asset. In addition, certain API functions may only be supported for
223
+ # specific types of assets. For example, composition assets may have more
224
+ # complex ownership data than other types of assets.
225
+ # Corresponds to the JSON property `type`
226
+ # @return [String]
227
+ attr_accessor :type
228
+
229
+ def initialize(**args)
230
+ update!(**args)
231
+ end
232
+
233
+ # Update properties of this object
234
+ def update!(**args)
235
+ @alias_id = args[:alias_id] if args.key?(:alias_id)
236
+ @id = args[:id] if args.key?(:id)
237
+ @kind = args[:kind] if args.key?(:kind)
238
+ @label = args[:label] if args.key?(:label)
239
+ @match_policy = args[:match_policy] if args.key?(:match_policy)
240
+ @match_policy_effective = args[:match_policy_effective] if args.key?(:match_policy_effective)
241
+ @match_policy_mine = args[:match_policy_mine] if args.key?(:match_policy_mine)
242
+ @metadata = args[:metadata] if args.key?(:metadata)
243
+ @metadata_effective = args[:metadata_effective] if args.key?(:metadata_effective)
244
+ @metadata_mine = args[:metadata_mine] if args.key?(:metadata_mine)
245
+ @ownership = args[:ownership] if args.key?(:ownership)
246
+ @ownership_conflicts = args[:ownership_conflicts] if args.key?(:ownership_conflicts)
247
+ @ownership_effective = args[:ownership_effective] if args.key?(:ownership_effective)
248
+ @ownership_mine = args[:ownership_mine] if args.key?(:ownership_mine)
249
+ @status = args[:status] if args.key?(:status)
250
+ @time_created = args[:time_created] if args.key?(:time_created)
251
+ @type = args[:type] if args.key?(:type)
252
+ end
253
+ end
254
+
255
+ #
256
+ class AssetLabel
257
+ include Google::Apis::Core::Hashable
258
+
259
+ # The type of the API resource. For assetLabel resources, this value is
260
+ # youtubePartner#assetLabel.
261
+ # Corresponds to the JSON property `kind`
262
+ # @return [String]
263
+ attr_accessor :kind
264
+
265
+ # Name of the asset label.
266
+ # Corresponds to the JSON property `labelName`
267
+ # @return [String]
268
+ attr_accessor :label_name
269
+
270
+ def initialize(**args)
271
+ update!(**args)
272
+ end
273
+
274
+ # Update properties of this object
275
+ def update!(**args)
276
+ @kind = args[:kind] if args.key?(:kind)
277
+ @label_name = args[:label_name] if args.key?(:label_name)
278
+ end
279
+ end
280
+
281
+ #
282
+ class AssetLabelListResponse
283
+ include Google::Apis::Core::Hashable
284
+
285
+ # A list of assetLabel resources that match the request criteria.
286
+ # Corresponds to the JSON property `items`
287
+ # @return [Array<Google::Apis::YoutubePartnerV1::AssetLabel>]
288
+ attr_accessor :items
289
+
290
+ # The type of the API response. For this operation, the value is youtubePartner#
291
+ # assetLabelList.
292
+ # Corresponds to the JSON property `kind`
293
+ # @return [String]
294
+ attr_accessor :kind
295
+
296
+ def initialize(**args)
297
+ update!(**args)
298
+ end
299
+
300
+ # Update properties of this object
301
+ def update!(**args)
302
+ @items = args[:items] if args.key?(:items)
303
+ @kind = args[:kind] if args.key?(:kind)
304
+ end
305
+ end
306
+
307
+ #
308
+ class AssetListResponse
309
+ include Google::Apis::Core::Hashable
310
+
311
+ # A list of asset resources that match the request criteria.
312
+ # Corresponds to the JSON property `items`
313
+ # @return [Array<Google::Apis::YoutubePartnerV1::Asset>]
314
+ attr_accessor :items
315
+
316
+ # The type of the API response. For this operation, the value is youtubePartner#
317
+ # assetList.
318
+ # Corresponds to the JSON property `kind`
319
+ # @return [String]
320
+ attr_accessor :kind
321
+
322
+ def initialize(**args)
323
+ update!(**args)
324
+ end
325
+
326
+ # Update properties of this object
327
+ def update!(**args)
328
+ @items = args[:items] if args.key?(:items)
329
+ @kind = args[:kind] if args.key?(:kind)
330
+ end
331
+ end
332
+
333
+ #
334
+ class AssetMatchPolicy
335
+ include Google::Apis::Core::Hashable
336
+
337
+ # The type of the API resource. Value: youtubePartner#assetMatchPolicy.
338
+ # Corresponds to the JSON property `kind`
339
+ # @return [String]
340
+ attr_accessor :kind
341
+
342
+ # A value that uniquely identifies the Policy resource that YouTube applies to
343
+ # user-uploaded videos that match the asset.
344
+ # Corresponds to the JSON property `policyId`
345
+ # @return [String]
346
+ attr_accessor :policy_id
347
+
348
+ # A list of rules that collectively define the policy that the content owner
349
+ # wants to apply to user-uploaded videos that match the asset. Each rule
350
+ # specifies the action that YouTube should take and may optionally specify the
351
+ # conditions under which that action is enforced.
352
+ # Corresponds to the JSON property `rules`
353
+ # @return [Array<Google::Apis::YoutubePartnerV1::PolicyRule>]
354
+ attr_accessor :rules
355
+
356
+ def initialize(**args)
357
+ update!(**args)
358
+ end
359
+
360
+ # Update properties of this object
361
+ def update!(**args)
362
+ @kind = args[:kind] if args.key?(:kind)
363
+ @policy_id = args[:policy_id] if args.key?(:policy_id)
364
+ @rules = args[:rules] if args.key?(:rules)
365
+ end
366
+ end
367
+
368
+ #
369
+ class AssetRelationship
370
+ include Google::Apis::Core::Hashable
371
+
372
+ # The ID of the child (contained) asset.
373
+ # Corresponds to the JSON property `childAssetId`
374
+ # @return [String]
375
+ attr_accessor :child_asset_id
376
+
377
+ # A value that YouTube assigns and uses to uniquely identify the asset
378
+ # relationship.
379
+ # Corresponds to the JSON property `id`
380
+ # @return [String]
381
+ attr_accessor :id
382
+
383
+ # The type of the API resource. For this resource, the value is youtubePartner#
384
+ # assetRelationship.
385
+ # Corresponds to the JSON property `kind`
386
+ # @return [String]
387
+ attr_accessor :kind
388
+
389
+ # The ID of the parent (containing) asset.
390
+ # Corresponds to the JSON property `parentAssetId`
391
+ # @return [String]
392
+ attr_accessor :parent_asset_id
393
+
394
+ def initialize(**args)
395
+ update!(**args)
396
+ end
397
+
398
+ # Update properties of this object
399
+ def update!(**args)
400
+ @child_asset_id = args[:child_asset_id] if args.key?(:child_asset_id)
401
+ @id = args[:id] if args.key?(:id)
402
+ @kind = args[:kind] if args.key?(:kind)
403
+ @parent_asset_id = args[:parent_asset_id] if args.key?(:parent_asset_id)
404
+ end
405
+ end
406
+
407
+ #
408
+ class AssetRelationshipListResponse
409
+ include Google::Apis::Core::Hashable
410
+
411
+ # A list of assetRelationship resources that match the request criteria.
412
+ # Corresponds to the JSON property `items`
413
+ # @return [Array<Google::Apis::YoutubePartnerV1::AssetRelationship>]
414
+ attr_accessor :items
415
+
416
+ # The type of the API response. For this operation, the value is youtubePartner#
417
+ # assetRelationshipList.
418
+ # Corresponds to the JSON property `kind`
419
+ # @return [String]
420
+ attr_accessor :kind
421
+
422
+ # The token that can be used as the value of the pageToken parameter to retrieve
423
+ # the next page of results.
424
+ # Corresponds to the JSON property `nextPageToken`
425
+ # @return [String]
426
+ attr_accessor :next_page_token
427
+
428
+ # The pageInfo object encapsulates paging information for the result set.
429
+ # Corresponds to the JSON property `pageInfo`
430
+ # @return [Google::Apis::YoutubePartnerV1::PageInfo]
431
+ attr_accessor :page_info
432
+
433
+ def initialize(**args)
434
+ update!(**args)
435
+ end
436
+
437
+ # Update properties of this object
438
+ def update!(**args)
439
+ @items = args[:items] if args.key?(:items)
440
+ @kind = args[:kind] if args.key?(:kind)
441
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
442
+ @page_info = args[:page_info] if args.key?(:page_info)
443
+ end
444
+ end
445
+
446
+ #
447
+ class AssetSearchResponse
448
+ include Google::Apis::Core::Hashable
449
+
450
+ # A list of asset resources that match the request criteria.
451
+ # Corresponds to the JSON property `items`
452
+ # @return [Array<Google::Apis::YoutubePartnerV1::AssetSnippet>]
453
+ attr_accessor :items
454
+
455
+ # The type of the API response. For this operation, the value is youtubePartner#
456
+ # assetSnippetList.
457
+ # Corresponds to the JSON property `kind`
458
+ # @return [String]
459
+ attr_accessor :kind
460
+
461
+ # The token that can be used as the value of the pageToken parameter to retrieve
462
+ # the next page of results.
463
+ # Corresponds to the JSON property `nextPageToken`
464
+ # @return [String]
465
+ attr_accessor :next_page_token
466
+
467
+ # The pageInfo object encapsulates paging information for the result set.
468
+ # Corresponds to the JSON property `pageInfo`
469
+ # @return [Google::Apis::YoutubePartnerV1::PageInfo]
470
+ attr_accessor :page_info
471
+
472
+ def initialize(**args)
473
+ update!(**args)
474
+ end
475
+
476
+ # Update properties of this object
477
+ def update!(**args)
478
+ @items = args[:items] if args.key?(:items)
479
+ @kind = args[:kind] if args.key?(:kind)
480
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
481
+ @page_info = args[:page_info] if args.key?(:page_info)
482
+ end
483
+ end
484
+
485
+ #
486
+ class AssetSnippet
487
+ include Google::Apis::Core::Hashable
488
+
489
+ # Custom ID assigned by the content owner to this asset.
490
+ # Corresponds to the JSON property `customId`
491
+ # @return [String]
492
+ attr_accessor :custom_id
493
+
494
+ # An ID that YouTube assigns and uses to uniquely identify the asset.
495
+ # Corresponds to the JSON property `id`
496
+ # @return [String]
497
+ attr_accessor :id
498
+
499
+ # The ISRC (International Standard Recording Code) for this asset.
500
+ # Corresponds to the JSON property `isrc`
501
+ # @return [String]
502
+ attr_accessor :isrc
503
+
504
+ # The ISWC (International Standard Musical Work Code) for this asset.
505
+ # Corresponds to the JSON property `iswc`
506
+ # @return [String]
507
+ attr_accessor :iswc
508
+
509
+ # The type of the API resource. For this operation, the value is youtubePartner#
510
+ # assetSnippet.
511
+ # Corresponds to the JSON property `kind`
512
+ # @return [String]
513
+ attr_accessor :kind
514
+
515
+ # The date and time the asset was created. The value is specified in RFC 3339 (
516
+ # YYYY-MM-DDThh:mm:ss.000Z) format.
517
+ # Corresponds to the JSON property `timeCreated`
518
+ # @return [DateTime]
519
+ attr_accessor :time_created
520
+
521
+ # Title of this asset.
522
+ # Corresponds to the JSON property `title`
523
+ # @return [String]
524
+ attr_accessor :title
525
+
526
+ # The asset's type. This value determines which metadata fields might be
527
+ # included in the metadata object.
528
+ # Corresponds to the JSON property `type`
529
+ # @return [String]
530
+ attr_accessor :type
531
+
532
+ def initialize(**args)
533
+ update!(**args)
534
+ end
535
+
536
+ # Update properties of this object
537
+ def update!(**args)
538
+ @custom_id = args[:custom_id] if args.key?(:custom_id)
539
+ @id = args[:id] if args.key?(:id)
540
+ @isrc = args[:isrc] if args.key?(:isrc)
541
+ @iswc = args[:iswc] if args.key?(:iswc)
542
+ @kind = args[:kind] if args.key?(:kind)
543
+ @time_created = args[:time_created] if args.key?(:time_created)
544
+ @title = args[:title] if args.key?(:title)
545
+ @type = args[:type] if args.key?(:type)
546
+ end
547
+ end
548
+
549
+ #
550
+ class Campaign
551
+ include Google::Apis::Core::Hashable
552
+
553
+ # The campaignData object contains details like the campaign's start and end
554
+ # dates, target and source.
555
+ # Corresponds to the JSON property `campaignData`
556
+ # @return [Google::Apis::YoutubePartnerV1::CampaignData]
557
+ attr_accessor :campaign_data
558
+
559
+ # The unique ID that YouTube uses to identify the campaign.
560
+ # Corresponds to the JSON property `id`
561
+ # @return [String]
562
+ attr_accessor :id
563
+
564
+ # The type of the API resource. For campaign resources, this value is
565
+ # youtubePartner#campaign.
566
+ # Corresponds to the JSON property `kind`
567
+ # @return [String]
568
+ attr_accessor :kind
569
+
570
+ # The status of the campaign.
571
+ # Corresponds to the JSON property `status`
572
+ # @return [String]
573
+ attr_accessor :status
574
+
575
+ # The time the campaign was created.
576
+ # Corresponds to the JSON property `timeCreated`
577
+ # @return [DateTime]
578
+ attr_accessor :time_created
579
+
580
+ # The time the campaign was last modified.
581
+ # Corresponds to the JSON property `timeLastModified`
582
+ # @return [DateTime]
583
+ attr_accessor :time_last_modified
584
+
585
+ def initialize(**args)
586
+ update!(**args)
587
+ end
588
+
589
+ # Update properties of this object
590
+ def update!(**args)
591
+ @campaign_data = args[:campaign_data] if args.key?(:campaign_data)
592
+ @id = args[:id] if args.key?(:id)
593
+ @kind = args[:kind] if args.key?(:kind)
594
+ @status = args[:status] if args.key?(:status)
595
+ @time_created = args[:time_created] if args.key?(:time_created)
596
+ @time_last_modified = args[:time_last_modified] if args.key?(:time_last_modified)
597
+ end
598
+ end
599
+
600
+ #
601
+ class CampaignData
602
+ include Google::Apis::Core::Hashable
603
+
604
+ # The campaignSource object contains information about the assets for which the
605
+ # campaign will generate links.
606
+ # Corresponds to the JSON property `campaignSource`
607
+ # @return [Google::Apis::YoutubePartnerV1::CampaignSource]
608
+ attr_accessor :campaign_source
609
+
610
+ # The time at which the campaign should expire. Do not specify a value if the
611
+ # campaign has no expiration time.
612
+ # Corresponds to the JSON property `expireTime`
613
+ # @return [DateTime]
614
+ attr_accessor :expire_time
615
+
616
+ # The user-given name of the campaign.
617
+ # Corresponds to the JSON property `name`
618
+ # @return [String]
619
+ attr_accessor :name
620
+
621
+ # A list of videos or channels that will be linked to from claimed videos that
622
+ # are included in the campaign.
623
+ # Corresponds to the JSON property `promotedContent`
624
+ # @return [Array<Google::Apis::YoutubePartnerV1::PromotedContent>]
625
+ attr_accessor :promoted_content
626
+
627
+ # The time at which the campaign should start. Do not specify a value if the
628
+ # campaign should start immediately.
629
+ # Corresponds to the JSON property `startTime`
630
+ # @return [DateTime]
631
+ attr_accessor :start_time
632
+
633
+ def initialize(**args)
634
+ update!(**args)
635
+ end
636
+
637
+ # Update properties of this object
638
+ def update!(**args)
639
+ @campaign_source = args[:campaign_source] if args.key?(:campaign_source)
640
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
641
+ @name = args[:name] if args.key?(:name)
642
+ @promoted_content = args[:promoted_content] if args.key?(:promoted_content)
643
+ @start_time = args[:start_time] if args.key?(:start_time)
644
+ end
645
+ end
646
+
647
+ #
648
+ class CampaignList
649
+ include Google::Apis::Core::Hashable
650
+
651
+ # A list of campaigns.
652
+ # Corresponds to the JSON property `items`
653
+ # @return [Array<Google::Apis::YoutubePartnerV1::Campaign>]
654
+ attr_accessor :items
655
+
656
+ # The type of the API response. For this operation, the value is youtubePartner#
657
+ # campaignList.
658
+ # Corresponds to the JSON property `kind`
659
+ # @return [String]
660
+ attr_accessor :kind
661
+
662
+ def initialize(**args)
663
+ update!(**args)
664
+ end
665
+
666
+ # Update properties of this object
667
+ def update!(**args)
668
+ @items = args[:items] if args.key?(:items)
669
+ @kind = args[:kind] if args.key?(:kind)
670
+ end
671
+ end
672
+
673
+ #
674
+ class CampaignSource
675
+ include Google::Apis::Core::Hashable
676
+
677
+ # The type of the campaign source.
678
+ # Corresponds to the JSON property `sourceType`
679
+ # @return [String]
680
+ attr_accessor :source_type
681
+
682
+ # A list of values of the campaign source.
683
+ # Corresponds to the JSON property `sourceValue`
684
+ # @return [Array<String>]
685
+ attr_accessor :source_value
686
+
687
+ def initialize(**args)
688
+ update!(**args)
689
+ end
690
+
691
+ # Update properties of this object
692
+ def update!(**args)
693
+ @source_type = args[:source_type] if args.key?(:source_type)
694
+ @source_value = args[:source_value] if args.key?(:source_value)
695
+ end
696
+ end
697
+
698
+ #
699
+ class CampaignTargetLink
700
+ include Google::Apis::Core::Hashable
701
+
702
+ # The channel ID or video ID of the link target.
703
+ # Corresponds to the JSON property `targetId`
704
+ # @return [String]
705
+ attr_accessor :target_id
706
+
707
+ # Indicates whether the link target is a channel or video.
708
+ # Corresponds to the JSON property `targetType`
709
+ # @return [String]
710
+ attr_accessor :target_type
711
+
712
+ def initialize(**args)
713
+ update!(**args)
714
+ end
715
+
716
+ # Update properties of this object
717
+ def update!(**args)
718
+ @target_id = args[:target_id] if args.key?(:target_id)
719
+ @target_type = args[:target_type] if args.key?(:target_type)
720
+ end
721
+ end
722
+
723
+ #
724
+ class Claim
725
+ include Google::Apis::Core::Hashable
726
+
727
+ # The applied policy for the viewing owner on the claim. This might not be the
728
+ # same as the final claim policy on the video as it does not consider other
729
+ # partners' policy of the same claim.
730
+ # Corresponds to the JSON property `appliedPolicy`
731
+ # @return [Google::Apis::YoutubePartnerV1::Policy]
732
+ attr_accessor :applied_policy
733
+
734
+ # The unique YouTube asset ID that identifies the asset associated with the
735
+ # claim.
736
+ # Corresponds to the JSON property `assetId`
737
+ # @return [String]
738
+ attr_accessor :asset_id
739
+
740
+ # Indicates whether or not the claimed video should be blocked anywhere it is
741
+ # not explicitly owned.
742
+ # Corresponds to the JSON property `blockOutsideOwnership`
743
+ # @return [Boolean]
744
+ attr_accessor :block_outside_ownership
745
+ alias_method :block_outside_ownership?, :block_outside_ownership
746
+
747
+ # This value indicates whether the claim covers the audio, video, or audiovisual
748
+ # portion of the claimed content.
749
+ # Corresponds to the JSON property `contentType`
750
+ # @return [String]
751
+ attr_accessor :content_type
752
+
753
+ # The ID that YouTube assigns and uses to uniquely identify the claim.
754
+ # Corresponds to the JSON property `id`
755
+ # @return [String]
756
+ attr_accessor :id
757
+
758
+ # Indicates whether or not the claim is a partner uploaded claim.
759
+ # Corresponds to the JSON property `isPartnerUploaded`
760
+ # @return [Boolean]
761
+ attr_accessor :is_partner_uploaded
762
+ alias_method :is_partner_uploaded?, :is_partner_uploaded
763
+
764
+ # The type of the API resource. For claim resources, this value is
765
+ # youtubePartner#claim.
766
+ # Corresponds to the JSON property `kind`
767
+ # @return [String]
768
+ attr_accessor :kind
769
+
770
+ # If this claim was auto-generated based on a provided reference, this section
771
+ # will provide details of the match that generated the claim.
772
+ # Corresponds to the JSON property `matchInfo`
773
+ # @return [Google::Apis::YoutubePartnerV1::Claim::MatchInfo]
774
+ attr_accessor :match_info
775
+
776
+ #
777
+ # Corresponds to the JSON property `origin`
778
+ # @return [Google::Apis::YoutubePartnerV1::Claim::Origin]
779
+ attr_accessor :origin
780
+
781
+ # The policy provided by the viewing owner on the claim.
782
+ # Corresponds to the JSON property `policy`
783
+ # @return [Google::Apis::YoutubePartnerV1::Policy]
784
+ attr_accessor :policy
785
+
786
+ # The claim's status. When updating a claim, you can update its status from
787
+ # active to inactive to effectively release the claim, but the API does not
788
+ # support other updates to a claim's status.
789
+ # Corresponds to the JSON property `status`
790
+ # @return [String]
791
+ attr_accessor :status
792
+
793
+ # The time the claim was created.
794
+ # Corresponds to the JSON property `timeCreated`
795
+ # @return [DateTime]
796
+ attr_accessor :time_created
797
+
798
+ # The unique YouTube video ID that identifies the video associated with the
799
+ # claim.
800
+ # Corresponds to the JSON property `videoId`
801
+ # @return [String]
802
+ attr_accessor :video_id
803
+
804
+ def initialize(**args)
805
+ update!(**args)
806
+ end
807
+
808
+ # Update properties of this object
809
+ def update!(**args)
810
+ @applied_policy = args[:applied_policy] if args.key?(:applied_policy)
811
+ @asset_id = args[:asset_id] if args.key?(:asset_id)
812
+ @block_outside_ownership = args[:block_outside_ownership] if args.key?(:block_outside_ownership)
813
+ @content_type = args[:content_type] if args.key?(:content_type)
814
+ @id = args[:id] if args.key?(:id)
815
+ @is_partner_uploaded = args[:is_partner_uploaded] if args.key?(:is_partner_uploaded)
816
+ @kind = args[:kind] if args.key?(:kind)
817
+ @match_info = args[:match_info] if args.key?(:match_info)
818
+ @origin = args[:origin] if args.key?(:origin)
819
+ @policy = args[:policy] if args.key?(:policy)
820
+ @status = args[:status] if args.key?(:status)
821
+ @time_created = args[:time_created] if args.key?(:time_created)
822
+ @video_id = args[:video_id] if args.key?(:video_id)
823
+ end
824
+
825
+ # If this claim was auto-generated based on a provided reference, this section
826
+ # will provide details of the match that generated the claim.
827
+ class MatchInfo
828
+ include Google::Apis::Core::Hashable
829
+
830
+ # Details of the longest match between the reference and the user video.
831
+ # Corresponds to the JSON property `longestMatch`
832
+ # @return [Google::Apis::YoutubePartnerV1::Claim::MatchInfo::LongestMatch]
833
+ attr_accessor :longest_match
834
+
835
+ # Details about each match segment. Each item in the list contains information
836
+ # about one match segment associated with the claim. It is possible to have
837
+ # multiple match segments. For example, if the audio and video content of an
838
+ # uploaded video match that of a reference video, there would be two match
839
+ # segments. One segment would describe the audio match and the other would
840
+ # describe the video match.
841
+ # Corresponds to the JSON property `matchSegments`
842
+ # @return [Array<Google::Apis::YoutubePartnerV1::MatchSegment>]
843
+ attr_accessor :match_segments
844
+
845
+ # The reference ID that generated this match.
846
+ # Corresponds to the JSON property `referenceId`
847
+ # @return [String]
848
+ attr_accessor :reference_id
849
+
850
+ # Details of the total amount of reference and user video content which matched
851
+ # each other. Note these two values may differ if either the reference or the
852
+ # user video contains a loop.
853
+ # Corresponds to the JSON property `totalMatch`
854
+ # @return [Google::Apis::YoutubePartnerV1::Claim::MatchInfo::TotalMatch]
855
+ attr_accessor :total_match
856
+
857
+ def initialize(**args)
858
+ update!(**args)
859
+ end
860
+
861
+ # Update properties of this object
862
+ def update!(**args)
863
+ @longest_match = args[:longest_match] if args.key?(:longest_match)
864
+ @match_segments = args[:match_segments] if args.key?(:match_segments)
865
+ @reference_id = args[:reference_id] if args.key?(:reference_id)
866
+ @total_match = args[:total_match] if args.key?(:total_match)
867
+ end
868
+
869
+ # Details of the longest match between the reference and the user video.
870
+ class LongestMatch
871
+ include Google::Apis::Core::Hashable
872
+
873
+ # The duration of the longest match between the reference and the user video.
874
+ # Corresponds to the JSON property `durationSecs`
875
+ # @return [String]
876
+ attr_accessor :duration_secs
877
+
878
+ # The offset in seconds into the reference at which the longest match began.
879
+ # Corresponds to the JSON property `referenceOffset`
880
+ # @return [String]
881
+ attr_accessor :reference_offset
882
+
883
+ # The offset in seconds into the user video at which the longest match began.
884
+ # Corresponds to the JSON property `userVideoOffset`
885
+ # @return [String]
886
+ attr_accessor :user_video_offset
887
+
888
+ def initialize(**args)
889
+ update!(**args)
890
+ end
891
+
892
+ # Update properties of this object
893
+ def update!(**args)
894
+ @duration_secs = args[:duration_secs] if args.key?(:duration_secs)
895
+ @reference_offset = args[:reference_offset] if args.key?(:reference_offset)
896
+ @user_video_offset = args[:user_video_offset] if args.key?(:user_video_offset)
897
+ end
898
+ end
899
+
900
+ # Details of the total amount of reference and user video content which matched
901
+ # each other. Note these two values may differ if either the reference or the
902
+ # user video contains a loop.
903
+ class TotalMatch
904
+ include Google::Apis::Core::Hashable
905
+
906
+ # The total amount of content in the reference which matched the user video in
907
+ # seconds.
908
+ # Corresponds to the JSON property `referenceDurationSecs`
909
+ # @return [String]
910
+ attr_accessor :reference_duration_secs
911
+
912
+ # The total amount of content in the user video which matched the reference in
913
+ # seconds.
914
+ # Corresponds to the JSON property `userVideoDurationSecs`
915
+ # @return [String]
916
+ attr_accessor :user_video_duration_secs
917
+
918
+ def initialize(**args)
919
+ update!(**args)
920
+ end
921
+
922
+ # Update properties of this object
923
+ def update!(**args)
924
+ @reference_duration_secs = args[:reference_duration_secs] if args.key?(:reference_duration_secs)
925
+ @user_video_duration_secs = args[:user_video_duration_secs] if args.key?(:user_video_duration_secs)
926
+ end
927
+ end
928
+ end
929
+
930
+ #
931
+ class Origin
932
+ include Google::Apis::Core::Hashable
933
+
934
+ #
935
+ # Corresponds to the JSON property `source`
936
+ # @return [String]
937
+ attr_accessor :source
938
+
939
+ def initialize(**args)
940
+ update!(**args)
941
+ end
942
+
943
+ # Update properties of this object
944
+ def update!(**args)
945
+ @source = args[:source] if args.key?(:source)
946
+ end
947
+ end
948
+ end
949
+
950
+ #
951
+ class ClaimEvent
952
+ include Google::Apis::Core::Hashable
953
+
954
+ # The type of the API resource. For claimEvent resources, this value is
955
+ # youtubePartner#claimEvent.
956
+ # Corresponds to the JSON property `kind`
957
+ # @return [String]
958
+ attr_accessor :kind
959
+
960
+ # Reason of the event.
961
+ # Corresponds to the JSON property `reason`
962
+ # @return [String]
963
+ attr_accessor :reason
964
+
965
+ # Data related to source of the event.
966
+ # Corresponds to the JSON property `source`
967
+ # @return [Google::Apis::YoutubePartnerV1::ClaimEvent::Source]
968
+ attr_accessor :source
969
+
970
+ # The time when the event occurred.
971
+ # Corresponds to the JSON property `time`
972
+ # @return [DateTime]
973
+ attr_accessor :time
974
+
975
+ # Type of the event.
976
+ # Corresponds to the JSON property `type`
977
+ # @return [String]
978
+ attr_accessor :type
979
+
980
+ # Details of event's type.
981
+ # Corresponds to the JSON property `typeDetails`
982
+ # @return [Google::Apis::YoutubePartnerV1::ClaimEvent::TypeDetails]
983
+ attr_accessor :type_details
984
+
985
+ def initialize(**args)
986
+ update!(**args)
987
+ end
988
+
989
+ # Update properties of this object
990
+ def update!(**args)
991
+ @kind = args[:kind] if args.key?(:kind)
992
+ @reason = args[:reason] if args.key?(:reason)
993
+ @source = args[:source] if args.key?(:source)
994
+ @time = args[:time] if args.key?(:time)
995
+ @type = args[:type] if args.key?(:type)
996
+ @type_details = args[:type_details] if args.key?(:type_details)
997
+ end
998
+
999
+ # Data related to source of the event.
1000
+ class Source
1001
+ include Google::Apis::Core::Hashable
1002
+
1003
+ # Id of content owner that initiated the event.
1004
+ # Corresponds to the JSON property `contentOwnerId`
1005
+ # @return [String]
1006
+ attr_accessor :content_owner_id
1007
+
1008
+ # Type of the event source.
1009
+ # Corresponds to the JSON property `type`
1010
+ # @return [String]
1011
+ attr_accessor :type
1012
+
1013
+ # Email of user who initiated the event.
1014
+ # Corresponds to the JSON property `userEmail`
1015
+ # @return [String]
1016
+ attr_accessor :user_email
1017
+
1018
+ def initialize(**args)
1019
+ update!(**args)
1020
+ end
1021
+
1022
+ # Update properties of this object
1023
+ def update!(**args)
1024
+ @content_owner_id = args[:content_owner_id] if args.key?(:content_owner_id)
1025
+ @type = args[:type] if args.key?(:type)
1026
+ @user_email = args[:user_email] if args.key?(:user_email)
1027
+ end
1028
+ end
1029
+
1030
+ # Details of event's type.
1031
+ class TypeDetails
1032
+ include Google::Apis::Core::Hashable
1033
+
1034
+ # Appeal explanations for dispute_appeal event.
1035
+ # Corresponds to the JSON property `appealExplanation`
1036
+ # @return [String]
1037
+ attr_accessor :appeal_explanation
1038
+
1039
+ # Dispute notes for dispute_create events.
1040
+ # Corresponds to the JSON property `disputeNotes`
1041
+ # @return [String]
1042
+ attr_accessor :dispute_notes
1043
+
1044
+ # Dispute reason for dispute_create and dispute_appeal events.
1045
+ # Corresponds to the JSON property `disputeReason`
1046
+ # @return [String]
1047
+ attr_accessor :dispute_reason
1048
+
1049
+ # Status that was a result of update for claim_update event.
1050
+ # Corresponds to the JSON property `updateStatus`
1051
+ # @return [String]
1052
+ attr_accessor :update_status
1053
+
1054
+ def initialize(**args)
1055
+ update!(**args)
1056
+ end
1057
+
1058
+ # Update properties of this object
1059
+ def update!(**args)
1060
+ @appeal_explanation = args[:appeal_explanation] if args.key?(:appeal_explanation)
1061
+ @dispute_notes = args[:dispute_notes] if args.key?(:dispute_notes)
1062
+ @dispute_reason = args[:dispute_reason] if args.key?(:dispute_reason)
1063
+ @update_status = args[:update_status] if args.key?(:update_status)
1064
+ end
1065
+ end
1066
+ end
1067
+
1068
+ #
1069
+ class ClaimHistory
1070
+ include Google::Apis::Core::Hashable
1071
+
1072
+ # A list of claim history events.
1073
+ # Corresponds to the JSON property `event`
1074
+ # @return [Array<Google::Apis::YoutubePartnerV1::ClaimEvent>]
1075
+ attr_accessor :event
1076
+
1077
+ # The ID that YouTube assigns and uses to uniquely identify the claim.
1078
+ # Corresponds to the JSON property `id`
1079
+ # @return [String]
1080
+ attr_accessor :id
1081
+
1082
+ # The type of the API resource. For claimHistory resources, this value is
1083
+ # youtubePartner#claimHistory.
1084
+ # Corresponds to the JSON property `kind`
1085
+ # @return [String]
1086
+ attr_accessor :kind
1087
+
1088
+ # The external channel id of claimed video's uploader.
1089
+ # Corresponds to the JSON property `uploaderChannelId`
1090
+ # @return [String]
1091
+ attr_accessor :uploader_channel_id
1092
+
1093
+ def initialize(**args)
1094
+ update!(**args)
1095
+ end
1096
+
1097
+ # Update properties of this object
1098
+ def update!(**args)
1099
+ @event = args[:event] if args.key?(:event)
1100
+ @id = args[:id] if args.key?(:id)
1101
+ @kind = args[:kind] if args.key?(:kind)
1102
+ @uploader_channel_id = args[:uploader_channel_id] if args.key?(:uploader_channel_id)
1103
+ end
1104
+ end
1105
+
1106
+ #
1107
+ class ClaimListResponse
1108
+ include Google::Apis::Core::Hashable
1109
+
1110
+ # A list of claims that match the request criteria.
1111
+ # Corresponds to the JSON property `items`
1112
+ # @return [Array<Google::Apis::YoutubePartnerV1::Claim>]
1113
+ attr_accessor :items
1114
+
1115
+ # The type of the API response. For this operation, the value is youtubePartner#
1116
+ # claimList.
1117
+ # Corresponds to the JSON property `kind`
1118
+ # @return [String]
1119
+ attr_accessor :kind
1120
+
1121
+ # The token that can be used as the value of the pageToken parameter to retrieve
1122
+ # the next page in the result set.
1123
+ # Corresponds to the JSON property `nextPageToken`
1124
+ # @return [String]
1125
+ attr_accessor :next_page_token
1126
+
1127
+ # The pageInfo object encapsulates paging information for the result set.
1128
+ # Corresponds to the JSON property `pageInfo`
1129
+ # @return [Google::Apis::YoutubePartnerV1::PageInfo]
1130
+ attr_accessor :page_info
1131
+
1132
+ # The token that can be used as the value of the pageToken parameter to retrieve
1133
+ # the previous page in the result set.
1134
+ # Corresponds to the JSON property `previousPageToken`
1135
+ # @return [String]
1136
+ attr_accessor :previous_page_token
1137
+
1138
+ def initialize(**args)
1139
+ update!(**args)
1140
+ end
1141
+
1142
+ # Update properties of this object
1143
+ def update!(**args)
1144
+ @items = args[:items] if args.key?(:items)
1145
+ @kind = args[:kind] if args.key?(:kind)
1146
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1147
+ @page_info = args[:page_info] if args.key?(:page_info)
1148
+ @previous_page_token = args[:previous_page_token] if args.key?(:previous_page_token)
1149
+ end
1150
+ end
1151
+
1152
+ #
1153
+ class ClaimSearchResponse
1154
+ include Google::Apis::Core::Hashable
1155
+
1156
+ # A list of claims that match the request criteria.
1157
+ # Corresponds to the JSON property `items`
1158
+ # @return [Array<Google::Apis::YoutubePartnerV1::ClaimSnippet>]
1159
+ attr_accessor :items
1160
+
1161
+ # The type of the API response. For this operation, the value is youtubePartner#
1162
+ # claimSnippetList.
1163
+ # Corresponds to the JSON property `kind`
1164
+ # @return [String]
1165
+ attr_accessor :kind
1166
+
1167
+ # The token that can be used as the value of the pageToken parameter to retrieve
1168
+ # the next page in the result set.
1169
+ # Corresponds to the JSON property `nextPageToken`
1170
+ # @return [String]
1171
+ attr_accessor :next_page_token
1172
+
1173
+ # The pageInfo object encapsulates paging information for the result set.
1174
+ # Corresponds to the JSON property `pageInfo`
1175
+ # @return [Google::Apis::YoutubePartnerV1::PageInfo]
1176
+ attr_accessor :page_info
1177
+
1178
+ # The token that can be used as the value of the pageToken parameter to retrieve
1179
+ # the previous page in the result set.
1180
+ # Corresponds to the JSON property `previousPageToken`
1181
+ # @return [String]
1182
+ attr_accessor :previous_page_token
1183
+
1184
+ def initialize(**args)
1185
+ update!(**args)
1186
+ end
1187
+
1188
+ # Update properties of this object
1189
+ def update!(**args)
1190
+ @items = args[:items] if args.key?(:items)
1191
+ @kind = args[:kind] if args.key?(:kind)
1192
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1193
+ @page_info = args[:page_info] if args.key?(:page_info)
1194
+ @previous_page_token = args[:previous_page_token] if args.key?(:previous_page_token)
1195
+ end
1196
+ end
1197
+
1198
+ #
1199
+ class ClaimSnippet
1200
+ include Google::Apis::Core::Hashable
1201
+
1202
+ # The unique YouTube asset ID that identifies the asset associated with the
1203
+ # claim.
1204
+ # Corresponds to the JSON property `assetId`
1205
+ # @return [String]
1206
+ attr_accessor :asset_id
1207
+
1208
+ # This value indicates whether the claim covers the audio, video, or audiovisual
1209
+ # portion of the claimed content.
1210
+ # Corresponds to the JSON property `contentType`
1211
+ # @return [String]
1212
+ attr_accessor :content_type
1213
+
1214
+ # The ID that YouTube assigns and uses to uniquely identify the claim.
1215
+ # Corresponds to the JSON property `id`
1216
+ # @return [String]
1217
+ attr_accessor :id
1218
+
1219
+ # Indicates whether or not the claim is a partner uploaded claim.
1220
+ # Corresponds to the JSON property `isPartnerUploaded`
1221
+ # @return [Boolean]
1222
+ attr_accessor :is_partner_uploaded
1223
+ alias_method :is_partner_uploaded?, :is_partner_uploaded
1224
+
1225
+ # The type of the API resource. For this operation, the value is youtubePartner#
1226
+ # claimSnippet.
1227
+ # Corresponds to the JSON property `kind`
1228
+ # @return [String]
1229
+ attr_accessor :kind
1230
+
1231
+ #
1232
+ # Corresponds to the JSON property `origin`
1233
+ # @return [Google::Apis::YoutubePartnerV1::ClaimSnippet::Origin]
1234
+ attr_accessor :origin
1235
+
1236
+ # The claim's status.
1237
+ # Corresponds to the JSON property `status`
1238
+ # @return [String]
1239
+ attr_accessor :status
1240
+
1241
+ # Indicates that this is a third party claim.
1242
+ # Corresponds to the JSON property `thirdPartyClaim`
1243
+ # @return [Boolean]
1244
+ attr_accessor :third_party_claim
1245
+ alias_method :third_party_claim?, :third_party_claim
1246
+
1247
+ # The time the claim was created.
1248
+ # Corresponds to the JSON property `timeCreated`
1249
+ # @return [DateTime]
1250
+ attr_accessor :time_created
1251
+
1252
+ # The unique YouTube video ID that identifies the video associated with the
1253
+ # claim.
1254
+ # Corresponds to the JSON property `videoId`
1255
+ # @return [String]
1256
+ attr_accessor :video_id
1257
+
1258
+ # The title of the claimed video.
1259
+ # Corresponds to the JSON property `videoTitle`
1260
+ # @return [String]
1261
+ attr_accessor :video_title
1262
+
1263
+ # Number of views for the claimed video.
1264
+ # Corresponds to the JSON property `videoViews`
1265
+ # @return [String]
1266
+ attr_accessor :video_views
1267
+
1268
+ def initialize(**args)
1269
+ update!(**args)
1270
+ end
1271
+
1272
+ # Update properties of this object
1273
+ def update!(**args)
1274
+ @asset_id = args[:asset_id] if args.key?(:asset_id)
1275
+ @content_type = args[:content_type] if args.key?(:content_type)
1276
+ @id = args[:id] if args.key?(:id)
1277
+ @is_partner_uploaded = args[:is_partner_uploaded] if args.key?(:is_partner_uploaded)
1278
+ @kind = args[:kind] if args.key?(:kind)
1279
+ @origin = args[:origin] if args.key?(:origin)
1280
+ @status = args[:status] if args.key?(:status)
1281
+ @third_party_claim = args[:third_party_claim] if args.key?(:third_party_claim)
1282
+ @time_created = args[:time_created] if args.key?(:time_created)
1283
+ @video_id = args[:video_id] if args.key?(:video_id)
1284
+ @video_title = args[:video_title] if args.key?(:video_title)
1285
+ @video_views = args[:video_views] if args.key?(:video_views)
1286
+ end
1287
+
1288
+ #
1289
+ class Origin
1290
+ include Google::Apis::Core::Hashable
1291
+
1292
+ #
1293
+ # Corresponds to the JSON property `source`
1294
+ # @return [String]
1295
+ attr_accessor :source
1296
+
1297
+ def initialize(**args)
1298
+ update!(**args)
1299
+ end
1300
+
1301
+ # Update properties of this object
1302
+ def update!(**args)
1303
+ @source = args[:source] if args.key?(:source)
1304
+ end
1305
+ end
1306
+ end
1307
+
1308
+ #
1309
+ class ClaimedVideoDefaults
1310
+ include Google::Apis::Core::Hashable
1311
+
1312
+ # Set this property to true to enable automatically generated breaks for a newly
1313
+ # claimed video longer than 10 minutes. The first partner that claims the video
1314
+ # sets its default advertising options to that video. claimedVideoOptions.
1315
+ # auto_generated_breaks_default
1316
+ # Corresponds to the JSON property `autoGeneratedBreaks`
1317
+ # @return [Boolean]
1318
+ attr_accessor :auto_generated_breaks
1319
+ alias_method :auto_generated_breaks?, :auto_generated_breaks
1320
+
1321
+ # Set this property to true to indicate that the channel's claimedVideoOptions
1322
+ # can override the content owner's claimedVideoOptions.
1323
+ # Corresponds to the JSON property `channelOverride`
1324
+ # @return [Boolean]
1325
+ attr_accessor :channel_override
1326
+ alias_method :channel_override?, :channel_override
1327
+
1328
+ # Identifies this resource as default options for newly claimed video. Value: "
1329
+ # youtubePartner#claimedVideoDefaults".
1330
+ # Corresponds to the JSON property `kind`
1331
+ # @return [String]
1332
+ attr_accessor :kind
1333
+
1334
+ # A list of ad formats that could be used as the default settings for a newly
1335
+ # claimed video. The first partner that claims the video sets its default
1336
+ # advertising options to that video.
1337
+ # Corresponds to the JSON property `newVideoDefaults`
1338
+ # @return [Array<String>]
1339
+ attr_accessor :new_video_defaults
1340
+
1341
+ def initialize(**args)
1342
+ update!(**args)
1343
+ end
1344
+
1345
+ # Update properties of this object
1346
+ def update!(**args)
1347
+ @auto_generated_breaks = args[:auto_generated_breaks] if args.key?(:auto_generated_breaks)
1348
+ @channel_override = args[:channel_override] if args.key?(:channel_override)
1349
+ @kind = args[:kind] if args.key?(:kind)
1350
+ @new_video_defaults = args[:new_video_defaults] if args.key?(:new_video_defaults)
1351
+ end
1352
+ end
1353
+
1354
+ #
1355
+ class Conditions
1356
+ include Google::Apis::Core::Hashable
1357
+
1358
+ # This match condition specifies whether the user- or partner-uploaded content
1359
+ # needs to match the audio, video or audiovisual content of a reference file for
1360
+ # the rule to apply.
1361
+ # Corresponds to the JSON property `contentMatchType`
1362
+ # @return [Array<String>]
1363
+ attr_accessor :content_match_type
1364
+
1365
+ # This match condition specifies an amount of time that the user- or partner-
1366
+ # uploaded content needs to match a reference file for the rule to apply.
1367
+ # Corresponds to the JSON property `matchDuration`
1368
+ # @return [Array<Google::Apis::YoutubePartnerV1::IntervalCondition>]
1369
+ attr_accessor :match_duration
1370
+
1371
+ # This match condition specifies a percentage of the user- or partner-uploaded
1372
+ # content that needs to match a reference file for the rule to apply.
1373
+ # Corresponds to the JSON property `matchPercent`
1374
+ # @return [Array<Google::Apis::YoutubePartnerV1::IntervalCondition>]
1375
+ attr_accessor :match_percent
1376
+
1377
+ # This match condition indicates that the reference must be a certain duration
1378
+ # for the rule to apply.
1379
+ # Corresponds to the JSON property `referenceDuration`
1380
+ # @return [Array<Google::Apis::YoutubePartnerV1::IntervalCondition>]
1381
+ attr_accessor :reference_duration
1382
+
1383
+ # This match condition indicates that the specified percentage of a reference
1384
+ # file must match the user- or partner-uploaded content for the rule to apply.
1385
+ # Corresponds to the JSON property `referencePercent`
1386
+ # @return [Array<Google::Apis::YoutubePartnerV1::IntervalCondition>]
1387
+ attr_accessor :reference_percent
1388
+
1389
+ # This watch condition specifies where users are (or or not) allowed to watch (
1390
+ # or listen to) an asset. YouTube determines whether the condition is satisfied
1391
+ # based on the user's location.
1392
+ # Corresponds to the JSON property `requiredTerritories`
1393
+ # @return [Google::Apis::YoutubePartnerV1::TerritoryCondition]
1394
+ attr_accessor :required_territories
1395
+
1396
+ def initialize(**args)
1397
+ update!(**args)
1398
+ end
1399
+
1400
+ # Update properties of this object
1401
+ def update!(**args)
1402
+ @content_match_type = args[:content_match_type] if args.key?(:content_match_type)
1403
+ @match_duration = args[:match_duration] if args.key?(:match_duration)
1404
+ @match_percent = args[:match_percent] if args.key?(:match_percent)
1405
+ @reference_duration = args[:reference_duration] if args.key?(:reference_duration)
1406
+ @reference_percent = args[:reference_percent] if args.key?(:reference_percent)
1407
+ @required_territories = args[:required_territories] if args.key?(:required_territories)
1408
+ end
1409
+ end
1410
+
1411
+ #
1412
+ class ConflictingOwnership
1413
+ include Google::Apis::Core::Hashable
1414
+
1415
+ # The ID of the conflicting asset's owner.
1416
+ # Corresponds to the JSON property `owner`
1417
+ # @return [String]
1418
+ attr_accessor :owner
1419
+
1420
+ # The percentage of the asset that the owner controls or administers.
1421
+ # Corresponds to the JSON property `ratio`
1422
+ # @return [Float]
1423
+ attr_accessor :ratio
1424
+
1425
+ def initialize(**args)
1426
+ update!(**args)
1427
+ end
1428
+
1429
+ # Update properties of this object
1430
+ def update!(**args)
1431
+ @owner = args[:owner] if args.key?(:owner)
1432
+ @ratio = args[:ratio] if args.key?(:ratio)
1433
+ end
1434
+ end
1435
+
1436
+ #
1437
+ class ContentOwner
1438
+ include Google::Apis::Core::Hashable
1439
+
1440
+ # The email address visible to other partners for use in managing asset
1441
+ # ownership conflicts.
1442
+ # Corresponds to the JSON property `conflictNotificationEmail`
1443
+ # @return [String]
1444
+ attr_accessor :conflict_notification_email
1445
+
1446
+ # The content owner's display name.
1447
+ # Corresponds to the JSON property `displayName`
1448
+ # @return [String]
1449
+ attr_accessor :display_name
1450
+
1451
+ # The email address(es) to which YouTube sends claim dispute notifications and
1452
+ # possible claim notifications.
1453
+ # Corresponds to the JSON property `disputeNotificationEmails`
1454
+ # @return [Array<String>]
1455
+ attr_accessor :dispute_notification_emails
1456
+
1457
+ # The email address(es) to which YouTube sends fingerprint reports.
1458
+ # Corresponds to the JSON property `fingerprintReportNotificationEmails`
1459
+ # @return [Array<String>]
1460
+ attr_accessor :fingerprint_report_notification_emails
1461
+
1462
+ # A unique ID that YouTube uses to identify the content owner.
1463
+ # Corresponds to the JSON property `id`
1464
+ # @return [String]
1465
+ attr_accessor :id
1466
+
1467
+ # The type of the API resource. For content owner resources, the value is
1468
+ # youtubePartner#contentOwner.
1469
+ # Corresponds to the JSON property `kind`
1470
+ # @return [String]
1471
+ attr_accessor :kind
1472
+
1473
+ # The email address(es) to which YouTube sends CMS account details and report
1474
+ # notifications.
1475
+ # Corresponds to the JSON property `primaryNotificationEmails`
1476
+ # @return [Array<String>]
1477
+ attr_accessor :primary_notification_emails
1478
+
1479
+ def initialize(**args)
1480
+ update!(**args)
1481
+ end
1482
+
1483
+ # Update properties of this object
1484
+ def update!(**args)
1485
+ @conflict_notification_email = args[:conflict_notification_email] if args.key?(:conflict_notification_email)
1486
+ @display_name = args[:display_name] if args.key?(:display_name)
1487
+ @dispute_notification_emails = args[:dispute_notification_emails] if args.key?(:dispute_notification_emails)
1488
+ @fingerprint_report_notification_emails = args[:fingerprint_report_notification_emails] if args.key?(:fingerprint_report_notification_emails)
1489
+ @id = args[:id] if args.key?(:id)
1490
+ @kind = args[:kind] if args.key?(:kind)
1491
+ @primary_notification_emails = args[:primary_notification_emails] if args.key?(:primary_notification_emails)
1492
+ end
1493
+ end
1494
+
1495
+ #
1496
+ class ContentOwnerAdvertisingOption
1497
+ include Google::Apis::Core::Hashable
1498
+
1499
+ # This object identifies the ad formats that the content owner is allowed to use.
1500
+ # Corresponds to the JSON property `allowedOptions`
1501
+ # @return [Google::Apis::YoutubePartnerV1::AllowedAdvertisingOptions]
1502
+ attr_accessor :allowed_options
1503
+
1504
+ # This object identifies the advertising options used by default for the content
1505
+ # owner's newly claimed videos.
1506
+ # Corresponds to the JSON property `claimedVideoOptions`
1507
+ # @return [Google::Apis::YoutubePartnerV1::ClaimedVideoDefaults]
1508
+ attr_accessor :claimed_video_options
1509
+
1510
+ # The value that YouTube uses to uniquely identify the content owner.
1511
+ # Corresponds to the JSON property `id`
1512
+ # @return [String]
1513
+ attr_accessor :id
1514
+
1515
+ # The type of the API resource. For this resource, the value is youtubePartner#
1516
+ # contentOwnerAdvertisingOption.
1517
+ # Corresponds to the JSON property `kind`
1518
+ # @return [String]
1519
+ attr_accessor :kind
1520
+
1521
+ def initialize(**args)
1522
+ update!(**args)
1523
+ end
1524
+
1525
+ # Update properties of this object
1526
+ def update!(**args)
1527
+ @allowed_options = args[:allowed_options] if args.key?(:allowed_options)
1528
+ @claimed_video_options = args[:claimed_video_options] if args.key?(:claimed_video_options)
1529
+ @id = args[:id] if args.key?(:id)
1530
+ @kind = args[:kind] if args.key?(:kind)
1531
+ end
1532
+ end
1533
+
1534
+ #
1535
+ class ContentOwnerListResponse
1536
+ include Google::Apis::Core::Hashable
1537
+
1538
+ # A list of content owners that match the request criteria.
1539
+ # Corresponds to the JSON property `items`
1540
+ # @return [Array<Google::Apis::YoutubePartnerV1::ContentOwner>]
1541
+ attr_accessor :items
1542
+
1543
+ # The type of the API response. For this operation, the value is youtubePartner#
1544
+ # contentOwnerList.
1545
+ # Corresponds to the JSON property `kind`
1546
+ # @return [String]
1547
+ attr_accessor :kind
1548
+
1549
+ def initialize(**args)
1550
+ update!(**args)
1551
+ end
1552
+
1553
+ # Update properties of this object
1554
+ def update!(**args)
1555
+ @items = args[:items] if args.key?(:items)
1556
+ @kind = args[:kind] if args.key?(:kind)
1557
+ end
1558
+ end
1559
+
1560
+ #
1561
+ class CountriesRestriction
1562
+ include Google::Apis::Core::Hashable
1563
+
1564
+ # A list of ad formats that can be used in the specified countries.
1565
+ # Corresponds to the JSON property `adFormats`
1566
+ # @return [Array<String>]
1567
+ attr_accessor :ad_formats
1568
+
1569
+ # A list of ISO 3166-1 alpha-2 country codes that identify the countries where
1570
+ # ads are enabled.
1571
+ # Corresponds to the JSON property `territories`
1572
+ # @return [Array<String>]
1573
+ attr_accessor :territories
1574
+
1575
+ def initialize(**args)
1576
+ update!(**args)
1577
+ end
1578
+
1579
+ # Update properties of this object
1580
+ def update!(**args)
1581
+ @ad_formats = args[:ad_formats] if args.key?(:ad_formats)
1582
+ @territories = args[:territories] if args.key?(:territories)
1583
+ end
1584
+ end
1585
+
1586
+ #
1587
+ class CuepointSettings
1588
+ include Google::Apis::Core::Hashable
1589
+
1590
+ # The cuepoint's type. See the Getting started guide for an explanation of the
1591
+ # different types of cuepoints. Also see the Life of a broadcast document for
1592
+ # best practices about inserting cuepoints during your broadcast.
1593
+ # Corresponds to the JSON property `cueType`
1594
+ # @return [String]
1595
+ attr_accessor :cue_type
1596
+
1597
+ # The cuepoint's duration, in seconds. This value must be specified if the
1598
+ # cueType is ad and is ignored otherwise.
1599
+ # Corresponds to the JSON property `durationSecs`
1600
+ # @return [Fixnum]
1601
+ attr_accessor :duration_secs
1602
+
1603
+ # This value specifies a point in time in the video when viewers should see an
1604
+ # ad or in-stream slate. The property value identifies a time offset, in
1605
+ # milliseconds, from the beginning of the monitor stream. Though measured in
1606
+ # milliseconds, the value is actually an approximation, and YouTube will insert
1607
+ # the cuepoint as closely as possible to that time. You should not specify a
1608
+ # value for this parameter if your broadcast does not have a monitor stream.
1609
+ # This property's default value is 0, which indicates that the cuepoint should
1610
+ # be inserted as soon as possible. If your broadcast stream is not delayed, then
1611
+ # 0 is also the only valid value. However, if your broadcast stream is delayed,
1612
+ # then the property value can specify the time when the cuepoint should be
1613
+ # inserted. See the Getting started guide for more details.
1614
+ # Note: If your broadcast had a testing phase, the offset is measured from the
1615
+ # time that the testing phase began.
1616
+ # Corresponds to the JSON property `offsetTimeMs`
1617
+ # @return [String]
1618
+ attr_accessor :offset_time_ms
1619
+
1620
+ # This value specifies the wall clock time at which the cuepoint should be
1621
+ # inserted. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ) format.
1622
+ # Corresponds to the JSON property `walltime`
1623
+ # @return [DateTime]
1624
+ attr_accessor :walltime
1625
+
1626
+ def initialize(**args)
1627
+ update!(**args)
1628
+ end
1629
+
1630
+ # Update properties of this object
1631
+ def update!(**args)
1632
+ @cue_type = args[:cue_type] if args.key?(:cue_type)
1633
+ @duration_secs = args[:duration_secs] if args.key?(:duration_secs)
1634
+ @offset_time_ms = args[:offset_time_ms] if args.key?(:offset_time_ms)
1635
+ @walltime = args[:walltime] if args.key?(:walltime)
1636
+ end
1637
+ end
1638
+
1639
+ #
1640
+ class Date
1641
+ include Google::Apis::Core::Hashable
1642
+
1643
+ # The date's day. The value should be an integer between 1 and 31. Note that
1644
+ # some day-month combinations are not valid.
1645
+ # Corresponds to the JSON property `day`
1646
+ # @return [Fixnum]
1647
+ attr_accessor :day
1648
+
1649
+ # The date's month. The value should be an integer between 1 and 12.
1650
+ # Corresponds to the JSON property `month`
1651
+ # @return [Fixnum]
1652
+ attr_accessor :month
1653
+
1654
+ # The date's year in the Gregorian Calendar. Assumed to be A.D.
1655
+ # Corresponds to the JSON property `year`
1656
+ # @return [Fixnum]
1657
+ attr_accessor :year
1658
+
1659
+ def initialize(**args)
1660
+ update!(**args)
1661
+ end
1662
+
1663
+ # Update properties of this object
1664
+ def update!(**args)
1665
+ @day = args[:day] if args.key?(:day)
1666
+ @month = args[:month] if args.key?(:month)
1667
+ @year = args[:year] if args.key?(:year)
1668
+ end
1669
+ end
1670
+
1671
+ #
1672
+ class DateRange
1673
+ include Google::Apis::Core::Hashable
1674
+
1675
+ # The end date (inclusive) for the date range. This value is required for video-
1676
+ # on-demand (VOD) orders and optional for electronic sell-through (EST) orders.
1677
+ # Corresponds to the JSON property `end`
1678
+ # @return [Google::Apis::YoutubePartnerV1::Date]
1679
+ attr_accessor :end
1680
+
1681
+ # Identifies this resource as order date range. Value: "youtubePartner#dateRange"
1682
+ # .
1683
+ # Corresponds to the JSON property `kind`
1684
+ # @return [String]
1685
+ attr_accessor :kind
1686
+
1687
+ # The start date for the date range. This value is required for all date ranges.
1688
+ # Corresponds to the JSON property `start`
1689
+ # @return [Google::Apis::YoutubePartnerV1::Date]
1690
+ attr_accessor :start
1691
+
1692
+ def initialize(**args)
1693
+ update!(**args)
1694
+ end
1695
+
1696
+ # Update properties of this object
1697
+ def update!(**args)
1698
+ @end = args[:end] if args.key?(:end)
1699
+ @kind = args[:kind] if args.key?(:kind)
1700
+ @start = args[:start] if args.key?(:start)
1701
+ end
1702
+ end
1703
+
1704
+ #
1705
+ class ExcludedInterval
1706
+ include Google::Apis::Core::Hashable
1707
+
1708
+ # The end (inclusive) time in seconds of the time window. The value can be any
1709
+ # value greater than low. If high is greater than the length of the reference,
1710
+ # the interval between low and the end of the reference will be excluded. Every
1711
+ # interval must specify a value for this field.
1712
+ # Corresponds to the JSON property `high`
1713
+ # @return [Float]
1714
+ attr_accessor :high
1715
+
1716
+ # The start (inclusive) time in seconds of the time window. The value can be any
1717
+ # value between 0 and high. Every interval must specify a value for this field.
1718
+ # Corresponds to the JSON property `low`
1719
+ # @return [Float]
1720
+ attr_accessor :low
1721
+
1722
+ # The source of the request to exclude the interval from Content ID matching.
1723
+ # Corresponds to the JSON property `origin`
1724
+ # @return [String]
1725
+ attr_accessor :origin
1726
+
1727
+ # The date and time that the exclusion was created. The value is specified in
1728
+ # RFC 3339 (YYYY-MM-DDThh:mm:ss.000Z) format.
1729
+ # Corresponds to the JSON property `timeCreated`
1730
+ # @return [DateTime]
1731
+ attr_accessor :time_created
1732
+
1733
+ def initialize(**args)
1734
+ update!(**args)
1735
+ end
1736
+
1737
+ # Update properties of this object
1738
+ def update!(**args)
1739
+ @high = args[:high] if args.key?(:high)
1740
+ @low = args[:low] if args.key?(:low)
1741
+ @origin = args[:origin] if args.key?(:origin)
1742
+ @time_created = args[:time_created] if args.key?(:time_created)
1743
+ end
1744
+ end
1745
+
1746
+ #
1747
+ class IntervalCondition
1748
+ include Google::Apis::Core::Hashable
1749
+
1750
+ # The maximum (inclusive) allowed value for the condition to be satisfied. The
1751
+ # default value is ∞.
1752
+ # Corresponds to the JSON property `high`
1753
+ # @return [Float]
1754
+ attr_accessor :high
1755
+
1756
+ # The minimum (inclusive) allowed value for the condition to be satisfied. The
1757
+ # default value is -∞.
1758
+ # Corresponds to the JSON property `low`
1759
+ # @return [Float]
1760
+ attr_accessor :low
1761
+
1762
+ def initialize(**args)
1763
+ update!(**args)
1764
+ end
1765
+
1766
+ # Update properties of this object
1767
+ def update!(**args)
1768
+ @high = args[:high] if args.key?(:high)
1769
+ @low = args[:low] if args.key?(:low)
1770
+ end
1771
+ end
1772
+
1773
+ #
1774
+ class LiveCuepoint
1775
+ include Google::Apis::Core::Hashable
1776
+
1777
+ # The ID that YouTube assigns to uniquely identify the broadcast into which the
1778
+ # cuepoint is being inserted.
1779
+ # Corresponds to the JSON property `broadcastId`
1780
+ # @return [String]
1781
+ attr_accessor :broadcast_id
1782
+
1783
+ # A value that YouTube assigns to uniquely identify the cuepoint.
1784
+ # Corresponds to the JSON property `id`
1785
+ # @return [String]
1786
+ attr_accessor :id
1787
+
1788
+ # The type of the API resource. For liveCuepoint resources, the value is
1789
+ # youtubePartner#liveCuepoint.
1790
+ # Corresponds to the JSON property `kind`
1791
+ # @return [String]
1792
+ attr_accessor :kind
1793
+
1794
+ # The settings object defines the cuepoint's settings.
1795
+ # Corresponds to the JSON property `settings`
1796
+ # @return [Google::Apis::YoutubePartnerV1::CuepointSettings]
1797
+ attr_accessor :settings
1798
+
1799
+ def initialize(**args)
1800
+ update!(**args)
1801
+ end
1802
+
1803
+ # Update properties of this object
1804
+ def update!(**args)
1805
+ @broadcast_id = args[:broadcast_id] if args.key?(:broadcast_id)
1806
+ @id = args[:id] if args.key?(:id)
1807
+ @kind = args[:kind] if args.key?(:kind)
1808
+ @settings = args[:settings] if args.key?(:settings)
1809
+ end
1810
+ end
1811
+
1812
+ #
1813
+ class MatchSegment
1814
+ include Google::Apis::Core::Hashable
1815
+
1816
+ # Identifies the manner in which the claimed video matches the reference video.
1817
+ # Corresponds to the JSON property `channel`
1818
+ # @return [String]
1819
+ attr_accessor :channel
1820
+
1821
+ # The reference_segment object contains information about the matched portion of
1822
+ # the reference content.
1823
+ # Corresponds to the JSON property `reference_segment`
1824
+ # @return [Google::Apis::YoutubePartnerV1::Segment]
1825
+ attr_accessor :reference_segment
1826
+
1827
+ # The video_segment object contains information about the matched portion of the
1828
+ # claimed video.
1829
+ # Corresponds to the JSON property `video_segment`
1830
+ # @return [Google::Apis::YoutubePartnerV1::Segment]
1831
+ attr_accessor :video_segment
1832
+
1833
+ def initialize(**args)
1834
+ update!(**args)
1835
+ end
1836
+
1837
+ # Update properties of this object
1838
+ def update!(**args)
1839
+ @channel = args[:channel] if args.key?(:channel)
1840
+ @reference_segment = args[:reference_segment] if args.key?(:reference_segment)
1841
+ @video_segment = args[:video_segment] if args.key?(:video_segment)
1842
+ end
1843
+ end
1844
+
1845
+ #
1846
+ class Metadata
1847
+ include Google::Apis::Core::Hashable
1848
+
1849
+ # A list that identifies actors associated with the asset. You can specify up to
1850
+ # 50 actors for an asset.
1851
+ # Corresponds to the JSON property `actor`
1852
+ # @return [Array<String>]
1853
+ attr_accessor :actor
1854
+
1855
+ # The album on which a sound recording asset is included. This field is only
1856
+ # valid for sound recording assets and has a maximum length of 255 bytes.
1857
+ # Corresponds to the JSON property `album`
1858
+ # @return [String]
1859
+ attr_accessor :album
1860
+
1861
+ # The artist associated with a music video or sound recording asset. This field
1862
+ # is only valid for music video and sound recording assets. It is required for
1863
+ # sound recordings included in the AudioSwap program.
1864
+ # Corresponds to the JSON property `artist`
1865
+ # @return [Array<String>]
1866
+ attr_accessor :artist
1867
+
1868
+ # Identifies the network or channel that originally broadcast a show or a season
1869
+ # of a show. This field should only be included for an asset if the broadcaster
1870
+ # associated with the asset is different from the partner uploading the asset to
1871
+ # YouTube. Note that a show may have multiple broadcasters; for example, a show
1872
+ # may switch networks between seasons.
1873
+ # Corresponds to the JSON property `broadcaster`
1874
+ # @return [Array<String>]
1875
+ attr_accessor :broadcaster
1876
+
1877
+ # Category of this asset.
1878
+ # Corresponds to the JSON property `category`
1879
+ # @return [String]
1880
+ attr_accessor :category
1881
+
1882
+ # The type of video content that the asset represents. This field is only valid
1883
+ # for movie and episode assets, and is required for the following types of those
1884
+ # assets:
1885
+ # - Episode assets that are linked to a show
1886
+ # - Movie assets that appear in YouTube's Movies category
1887
+ # Corresponds to the JSON property `contentType`
1888
+ # @return [String]
1889
+ attr_accessor :content_type
1890
+
1891
+ # The date copyright for this asset was established. *
1892
+ # Corresponds to the JSON property `copyrightDate`
1893
+ # @return [Google::Apis::YoutubePartnerV1::Date]
1894
+ attr_accessor :copyright_date
1895
+
1896
+ # A unique value that you, the metadata provider, use to identify an asset. The
1897
+ # value could be a unique ID that you created for the asset or a standard
1898
+ # identifier, such as an ISRC. The value has a maximum length of 64 bytes and
1899
+ # may contain alphanumeric characters, hyphens (-), underscores (_), periods (.),
1900
+ # "at" symbols (@), or forward slashes (/).
1901
+ # Corresponds to the JSON property `customId`
1902
+ # @return [String]
1903
+ attr_accessor :custom_id
1904
+
1905
+ # A description of the asset. The description may be displayed on YouTube or in
1906
+ # CMS. This field has a maximum length of 5,000 bytes.
1907
+ # Corresponds to the JSON property `description`
1908
+ # @return [String]
1909
+ attr_accessor :description
1910
+
1911
+ # A list that identifies directors associated with the asset. You can specify up
1912
+ # to 50 directors for an asset.
1913
+ # Corresponds to the JSON property `director`
1914
+ # @return [Array<String>]
1915
+ attr_accessor :director
1916
+
1917
+ # The Entertainment Identifier Registry (EIDR) assigned to an asset. This value
1918
+ # is only used for episode and movie assets and is optional in both cases. The
1919
+ # value contains a standard prefix for EIDR registry, followed by a forward
1920
+ # slash, a 20-character hexadecimal string, and an alphanumeric (0-9A-Z) check
1921
+ # character.
1922
+ # Corresponds to the JSON property `eidr`
1923
+ # @return [String]
1924
+ attr_accessor :eidr
1925
+
1926
+ # The last year that a television show aired. This value is only used for show
1927
+ # assets, for which it is optional. Do not specify a value if new show episodes
1928
+ # are still being created.
1929
+ # Corresponds to the JSON property `endYear`
1930
+ # @return [Fixnum]
1931
+ attr_accessor :end_year
1932
+
1933
+ # The episode number associated with an episode asset. This field is required
1934
+ # for and only used for episode assets that are linked to show assets. It has a
1935
+ # maximum length of 5 bytes.
1936
+ # Corresponds to the JSON property `episodeNumber`
1937
+ # @return [String]
1938
+ attr_accessor :episode_number
1939
+
1940
+ # This value indicates that the episodes associated with a particular show asset
1941
+ # or a particular season asset are untitled. An untitled show (or season) has
1942
+ # episodes which are identified by their episode number or date. If this field
1943
+ # is set to true, then YouTube will optimize the title displayed for associated
1944
+ # episodes.
1945
+ # Corresponds to the JSON property `episodesAreUntitled`
1946
+ # @return [Boolean]
1947
+ attr_accessor :episodes_are_untitled
1948
+ alias_method :episodes_are_untitled?, :episodes_are_untitled
1949
+
1950
+ # This field specifies a genre that can be used to categorize an asset. Assets
1951
+ # may be categorized in more than one genre, and YouTube uses different sets of
1952
+ # genres to categorize different types of assets. For example, Soaps might be a
1953
+ # valid genre for a show but not for a movie or sound recording.
1954
+ # - Show assets
1955
+ # - Movie assets that appear in YouTube's Movies category
1956
+ # - Sound recordings included in the AudioSwap program
1957
+ # Corresponds to the JSON property `genre`
1958
+ # @return [Array<String>]
1959
+ attr_accessor :genre
1960
+
1961
+ # The GRID (Global Release Identifier) of a music video or sound recording. This
1962
+ # field's value must contain exactly 18 alphanumeric characters.
1963
+ # Corresponds to the JSON property `grid`
1964
+ # @return [String]
1965
+ attr_accessor :grid
1966
+
1967
+ # The six-character Harry Fox Agency (HFA) song code issued to uniquely identify
1968
+ # a composition. This value is only valid for composition assets.
1969
+ # Corresponds to the JSON property `hfa`
1970
+ # @return [String]
1971
+ attr_accessor :hfa
1972
+
1973
+ # An official URL associated with the asset. This field has a maximum length of
1974
+ # 1536 bytes. Please do not submit a 1537-byte URL. Your efforts would be futile.
1975
+ # Corresponds to the JSON property `infoUrl`
1976
+ # @return [String]
1977
+ attr_accessor :info_url
1978
+
1979
+ # The ISAN (International Standard Audiovisual Number) for the asset. This value
1980
+ # is only used for episode and movie assets and is optional in both cases. The
1981
+ # value contains 26 characters, which includes the 24 hexadecimal characters of
1982
+ # the ISAN as well as two check characters, in the following format:
1983
+ # - The first 16 characters in the tag value contain hexadecimal characters
1984
+ # specifying the 'root' and 'episode' components of the ISAN.
1985
+ # - The seventeenth character is a check character (a letter from A-Z).
1986
+ # - Characters 18 to 25 are the remaining eight characters of the ISAN, which
1987
+ # specify the 'version' component of the ISAN.
1988
+ # - The twenty-sixth character is another check character (A-Z).
1989
+ # Corresponds to the JSON property `isan`
1990
+ # @return [String]
1991
+ attr_accessor :isan
1992
+
1993
+ # The ISRC (International Standard Recording Code) of a music video or sound
1994
+ # recording asset. This field's value must contain exactly 12 alphanumeric
1995
+ # characters.
1996
+ # Corresponds to the JSON property `isrc`
1997
+ # @return [String]
1998
+ attr_accessor :isrc
1999
+
2000
+ # The ISWC (International Standard Musical Work Code) for a composition asset.
2001
+ # The field's value must contain exactly 11 characters in the format of a letter
2002
+ # (T) followed by 10 digits.
2003
+ # Corresponds to the JSON property `iswc`
2004
+ # @return [String]
2005
+ attr_accessor :iswc
2006
+
2007
+ # A list of up to 100 keywords associated with a show asset. This field is
2008
+ # required for and also only used for show assets.
2009
+ # Corresponds to the JSON property `keyword`
2010
+ # @return [Array<String>]
2011
+ attr_accessor :keyword
2012
+
2013
+ # The record label that released a sound recording asset. This field is only
2014
+ # valid for sound recording assets and has a maximum length of 255 bytes.
2015
+ # Corresponds to the JSON property `label`
2016
+ # @return [String]
2017
+ attr_accessor :label
2018
+
2019
+ # Additional information that does not map directly to one of the other metadata
2020
+ # fields. This field has a maximum length of 255 bytes.
2021
+ # Corresponds to the JSON property `notes`
2022
+ # @return [String]
2023
+ attr_accessor :notes
2024
+
2025
+ # The method by which people first had the opportunity to see a video asset.
2026
+ # This value is only used for episode and movie assets. It is required for the
2027
+ # assets listed below and otherwise optional:
2028
+ # - Episode assets that are linked to a show
2029
+ # - Movie assets that appear in YouTube's Movies category
2030
+ # Corresponds to the JSON property `originalReleaseMedium`
2031
+ # @return [String]
2032
+ attr_accessor :original_release_medium
2033
+
2034
+ # A list that identifies producers of the asset. You can specify up to 50
2035
+ # producers for an asset.
2036
+ # Corresponds to the JSON property `producer`
2037
+ # @return [Array<String>]
2038
+ attr_accessor :producer
2039
+
2040
+ # A list of ratings that an asset received. The rating must be valid under the
2041
+ # specified rating system.
2042
+ # Corresponds to the JSON property `ratings`
2043
+ # @return [Array<Google::Apis::YoutubePartnerV1::Rating>]
2044
+ attr_accessor :ratings
2045
+
2046
+ # The date that an asset was publicly released. For season assets, this value
2047
+ # specifies the first date that the season aired. Dates prior to the year 1902
2048
+ # are not supported. This value is valid for episode, season, movie, music video,
2049
+ # and sound recording assets. It is required for the assets listed below and
2050
+ # otherwise optional:
2051
+ # - Episode assets that are linked to a show
2052
+ # - Movie assets that appear in YouTube's Movies category
2053
+ # Corresponds to the JSON property `releaseDate`
2054
+ # @return [Google::Apis::YoutubePartnerV1::Date]
2055
+ attr_accessor :release_date
2056
+
2057
+ # The season number that identifies a season asset, or the season number that is
2058
+ # associated with an episode asset. This field has a maximum length of 5 bytes.
2059
+ # Corresponds to the JSON property `seasonNumber`
2060
+ # @return [String]
2061
+ attr_accessor :season_number
2062
+
2063
+ # The customId of the show asset that a season or episode asset is associated
2064
+ # with. It is required for season and episode assets that appear in the Shows
2065
+ # category on YouTube, and it is not valid for other types of assets. This field
2066
+ # has a maximum length of 64 bytes and may contain alphanumeric characters,
2067
+ # hyphens (-), underscores (_), periods (.), "at" symbols (@), or forward
2068
+ # slashes (/).
2069
+ # Corresponds to the JSON property `showCustomId`
2070
+ # @return [String]
2071
+ attr_accessor :show_custom_id
2072
+
2073
+ # The name of the show that an episode asset is associated with. Note: This tag
2074
+ # is only used for and valid for episodes that are not associated with show
2075
+ # assets and enables those assets to still display a show title in the asset
2076
+ # metadata section of CMS. This field has a maximum length of 120 bytes.
2077
+ # Corresponds to the JSON property `showTitle`
2078
+ # @return [String]
2079
+ attr_accessor :show_title
2080
+
2081
+ # The video's primary spoken language. The value can be any ISO 639-1 two-letter
2082
+ # language code. This value is only used for episode and movie assets and is not
2083
+ # valid for other types of assets.
2084
+ # Corresponds to the JSON property `spokenLanguage`
2085
+ # @return [String]
2086
+ attr_accessor :spoken_language
2087
+
2088
+ # The first year that a television show aired. This value is required for and
2089
+ # also only used for show assets.
2090
+ # Corresponds to the JSON property `startYear`
2091
+ # @return [Fixnum]
2092
+ attr_accessor :start_year
2093
+
2094
+ # A list of languages for which the video has either a separate caption track or
2095
+ # burnt-in captions that are part of the video. Each value in the list should be
2096
+ # an ISO 639-1 two-letter language code. This value is only used for episode and
2097
+ # movie assets and is not valid for other types of assets.
2098
+ # Corresponds to the JSON property `subtitledLanguage`
2099
+ # @return [Array<String>]
2100
+ attr_accessor :subtitled_language
2101
+
2102
+ # The asset's title or name. The value has a maximum length of 255 bytes. This
2103
+ # value is required for the assets listed below and optional for all other
2104
+ # assets:
2105
+ # - Show assets
2106
+ # - Episode assets that are linked to a show
2107
+ # - Movie assets that appear in YouTube's Movies category
2108
+ # - Sound recordings included in the AudioSwap program
2109
+ # Corresponds to the JSON property `title`
2110
+ # @return [String]
2111
+ attr_accessor :title
2112
+
2113
+ # TMS (Tribune Media Systems) ID for the asset.
2114
+ # Corresponds to the JSON property `tmsId`
2115
+ # @return [String]
2116
+ attr_accessor :tms_id
2117
+
2118
+ # Specifies the total number of full-length episodes in the season. This value
2119
+ # is used only for season assets.
2120
+ # Corresponds to the JSON property `totalEpisodesExpected`
2121
+ # @return [Fixnum]
2122
+ attr_accessor :total_episodes_expected
2123
+
2124
+ # The UPC (Universal Product Code) associated with the asset.
2125
+ # Corresponds to the JSON property `upc`
2126
+ # @return [String]
2127
+ attr_accessor :upc
2128
+
2129
+ # A list that identifies writers associated with the asset. You can specify up
2130
+ # to 50 writers for an asset.
2131
+ # Corresponds to the JSON property `writer`
2132
+ # @return [Array<String>]
2133
+ attr_accessor :writer
2134
+
2135
+ def initialize(**args)
2136
+ update!(**args)
2137
+ end
2138
+
2139
+ # Update properties of this object
2140
+ def update!(**args)
2141
+ @actor = args[:actor] if args.key?(:actor)
2142
+ @album = args[:album] if args.key?(:album)
2143
+ @artist = args[:artist] if args.key?(:artist)
2144
+ @broadcaster = args[:broadcaster] if args.key?(:broadcaster)
2145
+ @category = args[:category] if args.key?(:category)
2146
+ @content_type = args[:content_type] if args.key?(:content_type)
2147
+ @copyright_date = args[:copyright_date] if args.key?(:copyright_date)
2148
+ @custom_id = args[:custom_id] if args.key?(:custom_id)
2149
+ @description = args[:description] if args.key?(:description)
2150
+ @director = args[:director] if args.key?(:director)
2151
+ @eidr = args[:eidr] if args.key?(:eidr)
2152
+ @end_year = args[:end_year] if args.key?(:end_year)
2153
+ @episode_number = args[:episode_number] if args.key?(:episode_number)
2154
+ @episodes_are_untitled = args[:episodes_are_untitled] if args.key?(:episodes_are_untitled)
2155
+ @genre = args[:genre] if args.key?(:genre)
2156
+ @grid = args[:grid] if args.key?(:grid)
2157
+ @hfa = args[:hfa] if args.key?(:hfa)
2158
+ @info_url = args[:info_url] if args.key?(:info_url)
2159
+ @isan = args[:isan] if args.key?(:isan)
2160
+ @isrc = args[:isrc] if args.key?(:isrc)
2161
+ @iswc = args[:iswc] if args.key?(:iswc)
2162
+ @keyword = args[:keyword] if args.key?(:keyword)
2163
+ @label = args[:label] if args.key?(:label)
2164
+ @notes = args[:notes] if args.key?(:notes)
2165
+ @original_release_medium = args[:original_release_medium] if args.key?(:original_release_medium)
2166
+ @producer = args[:producer] if args.key?(:producer)
2167
+ @ratings = args[:ratings] if args.key?(:ratings)
2168
+ @release_date = args[:release_date] if args.key?(:release_date)
2169
+ @season_number = args[:season_number] if args.key?(:season_number)
2170
+ @show_custom_id = args[:show_custom_id] if args.key?(:show_custom_id)
2171
+ @show_title = args[:show_title] if args.key?(:show_title)
2172
+ @spoken_language = args[:spoken_language] if args.key?(:spoken_language)
2173
+ @start_year = args[:start_year] if args.key?(:start_year)
2174
+ @subtitled_language = args[:subtitled_language] if args.key?(:subtitled_language)
2175
+ @title = args[:title] if args.key?(:title)
2176
+ @tms_id = args[:tms_id] if args.key?(:tms_id)
2177
+ @total_episodes_expected = args[:total_episodes_expected] if args.key?(:total_episodes_expected)
2178
+ @upc = args[:upc] if args.key?(:upc)
2179
+ @writer = args[:writer] if args.key?(:writer)
2180
+ end
2181
+ end
2182
+
2183
+ #
2184
+ class MetadataHistory
2185
+ include Google::Apis::Core::Hashable
2186
+
2187
+ # The type of the API resource. For metadata history resources, the value is
2188
+ # youtubePartner#metadataHistory.
2189
+ # Corresponds to the JSON property `kind`
2190
+ # @return [String]
2191
+ attr_accessor :kind
2192
+
2193
+ # The metadata object contains the metadata provided by the specified source (
2194
+ # origination) at the specified time (timeProvided).
2195
+ # Corresponds to the JSON property `metadata`
2196
+ # @return [Google::Apis::YoutubePartnerV1::Metadata]
2197
+ attr_accessor :metadata
2198
+
2199
+ # The origination object contains information that describes the metadata source.
2200
+ # Corresponds to the JSON property `origination`
2201
+ # @return [Google::Apis::YoutubePartnerV1::Origination]
2202
+ attr_accessor :origination
2203
+
2204
+ # The time the metadata was provided.
2205
+ # Corresponds to the JSON property `timeProvided`
2206
+ # @return [DateTime]
2207
+ attr_accessor :time_provided
2208
+
2209
+ def initialize(**args)
2210
+ update!(**args)
2211
+ end
2212
+
2213
+ # Update properties of this object
2214
+ def update!(**args)
2215
+ @kind = args[:kind] if args.key?(:kind)
2216
+ @metadata = args[:metadata] if args.key?(:metadata)
2217
+ @origination = args[:origination] if args.key?(:origination)
2218
+ @time_provided = args[:time_provided] if args.key?(:time_provided)
2219
+ end
2220
+ end
2221
+
2222
+ #
2223
+ class MetadataHistoryListResponse
2224
+ include Google::Apis::Core::Hashable
2225
+
2226
+ # A list of metadata history (youtubePartner#metadataHistory) resources that
2227
+ # match the request criteria.
2228
+ # Corresponds to the JSON property `items`
2229
+ # @return [Array<Google::Apis::YoutubePartnerV1::MetadataHistory>]
2230
+ attr_accessor :items
2231
+
2232
+ # The type of the API response. For this operation, the value is youtubePartner#
2233
+ # metadataHistoryList.
2234
+ # Corresponds to the JSON property `kind`
2235
+ # @return [String]
2236
+ attr_accessor :kind
2237
+
2238
+ def initialize(**args)
2239
+ update!(**args)
2240
+ end
2241
+
2242
+ # Update properties of this object
2243
+ def update!(**args)
2244
+ @items = args[:items] if args.key?(:items)
2245
+ @kind = args[:kind] if args.key?(:kind)
2246
+ end
2247
+ end
2248
+
2249
+ #
2250
+ class Order
2251
+ include Google::Apis::Core::Hashable
2252
+
2253
+ # Links an order to the avails associated with it.
2254
+ # Corresponds to the JSON property `availGroupId`
2255
+ # @return [String]
2256
+ attr_accessor :avail_group_id
2257
+
2258
+ # Channel ID - identifies the channel this order and video are associated with
2259
+ # Corresponds to the JSON property `channelId`
2260
+ # @return [String]
2261
+ attr_accessor :channel_id
2262
+
2263
+ # Type of content possible values are
2264
+ # - MOVIE
2265
+ # - SHOW
2266
+ # Corresponds to the JSON property `contentType`
2267
+ # @return [String]
2268
+ attr_accessor :content_type
2269
+
2270
+ # Two letter country code for the order only countries where YouTube does
2271
+ # transactional business are allowed.
2272
+ # Corresponds to the JSON property `country`
2273
+ # @return [String]
2274
+ attr_accessor :country
2275
+
2276
+ # Secondary id to be used to identify content in other systems like partner
2277
+ # database
2278
+ # Corresponds to the JSON property `customId`
2279
+ # @return [String]
2280
+ attr_accessor :custom_id
2281
+
2282
+ # Date when this content was first made available on DVD
2283
+ # Corresponds to the JSON property `dvdReleaseDate`
2284
+ # @return [Google::Apis::YoutubePartnerV1::Date]
2285
+ attr_accessor :dvd_release_date
2286
+
2287
+ # Range of time content is to be available for rental.
2288
+ # Corresponds to the JSON property `estDates`
2289
+ # @return [Google::Apis::YoutubePartnerV1::DateRange]
2290
+ attr_accessor :est_dates
2291
+
2292
+ # History log of events for this order
2293
+ # Corresponds to the JSON property `events`
2294
+ # @return [Array<Google::Apis::YoutubePartnerV1::StateCompleted>]
2295
+ attr_accessor :events
2296
+
2297
+ # Order Id unique identifier for an order.
2298
+ # Corresponds to the JSON property `id`
2299
+ # @return [String]
2300
+ attr_accessor :id
2301
+
2302
+ # Identifies this resource as order. Value: "youtubePartner#order".
2303
+ # Corresponds to the JSON property `kind`
2304
+ # @return [String]
2305
+ attr_accessor :kind
2306
+
2307
+ # Title if the order is type movie.
2308
+ # Corresponds to the JSON property `movie`
2309
+ # @return [String]
2310
+ attr_accessor :movie
2311
+
2312
+ # Date when this content was first made available to the public
2313
+ # Corresponds to the JSON property `originalReleaseDate`
2314
+ # @return [Google::Apis::YoutubePartnerV1::Date]
2315
+ attr_accessor :original_release_date
2316
+
2317
+ # The priority for the order in the QC review queue once the content is ready
2318
+ # for QC.
2319
+ # Corresponds to the JSON property `priority`
2320
+ # @return [String]
2321
+ attr_accessor :priority
2322
+
2323
+ # Post production house that is to process this order
2324
+ # Corresponds to the JSON property `productionHouse`
2325
+ # @return [String]
2326
+ attr_accessor :production_house
2327
+
2328
+ # Youtube purchase order reference for the post production house.
2329
+ # Corresponds to the JSON property `purchaseOrder`
2330
+ # @return [String]
2331
+ attr_accessor :purchase_order
2332
+
2333
+ # Minumim set of requirements for this order to be complete such as is a trailer
2334
+ # required.
2335
+ # Corresponds to the JSON property `requirements`
2336
+ # @return [Google::Apis::YoutubePartnerV1::Requirements]
2337
+ attr_accessor :requirements
2338
+
2339
+ # Details of a show, show name, season number, episode etc.
2340
+ # Corresponds to the JSON property `show`
2341
+ # @return [Google::Apis::YoutubePartnerV1::ShowDetails]
2342
+ attr_accessor :show
2343
+
2344
+ # The order's status.
2345
+ # Corresponds to the JSON property `status`
2346
+ # @return [String]
2347
+ attr_accessor :status
2348
+
2349
+ # Video ID the video that this order is associated with if any.
2350
+ # Corresponds to the JSON property `videoId`
2351
+ # @return [String]
2352
+ attr_accessor :video_id
2353
+
2354
+ # Range of time content is to be available for purchase.
2355
+ # Corresponds to the JSON property `vodDates`
2356
+ # @return [Google::Apis::YoutubePartnerV1::DateRange]
2357
+ attr_accessor :vod_dates
2358
+
2359
+ def initialize(**args)
2360
+ update!(**args)
2361
+ end
2362
+
2363
+ # Update properties of this object
2364
+ def update!(**args)
2365
+ @avail_group_id = args[:avail_group_id] if args.key?(:avail_group_id)
2366
+ @channel_id = args[:channel_id] if args.key?(:channel_id)
2367
+ @content_type = args[:content_type] if args.key?(:content_type)
2368
+ @country = args[:country] if args.key?(:country)
2369
+ @custom_id = args[:custom_id] if args.key?(:custom_id)
2370
+ @dvd_release_date = args[:dvd_release_date] if args.key?(:dvd_release_date)
2371
+ @est_dates = args[:est_dates] if args.key?(:est_dates)
2372
+ @events = args[:events] if args.key?(:events)
2373
+ @id = args[:id] if args.key?(:id)
2374
+ @kind = args[:kind] if args.key?(:kind)
2375
+ @movie = args[:movie] if args.key?(:movie)
2376
+ @original_release_date = args[:original_release_date] if args.key?(:original_release_date)
2377
+ @priority = args[:priority] if args.key?(:priority)
2378
+ @production_house = args[:production_house] if args.key?(:production_house)
2379
+ @purchase_order = args[:purchase_order] if args.key?(:purchase_order)
2380
+ @requirements = args[:requirements] if args.key?(:requirements)
2381
+ @show = args[:show] if args.key?(:show)
2382
+ @status = args[:status] if args.key?(:status)
2383
+ @video_id = args[:video_id] if args.key?(:video_id)
2384
+ @vod_dates = args[:vod_dates] if args.key?(:vod_dates)
2385
+ end
2386
+ end
2387
+
2388
+ #
2389
+ class OrderListResponse
2390
+ include Google::Apis::Core::Hashable
2391
+
2392
+ # A list of orders that match the request criteria.
2393
+ # Corresponds to the JSON property `items`
2394
+ # @return [Array<Google::Apis::YoutubePartnerV1::Order>]
2395
+ attr_accessor :items
2396
+
2397
+ # The type of the API response. For this operation, the value is youtubePartner#
2398
+ # orderList.
2399
+ # Corresponds to the JSON property `kind`
2400
+ # @return [String]
2401
+ attr_accessor :kind
2402
+
2403
+ # The token that can be used as the value of the pageToken parameter to retrieve
2404
+ # the next page in the result set.
2405
+ # Corresponds to the JSON property `nextPageToken`
2406
+ # @return [String]
2407
+ attr_accessor :next_page_token
2408
+
2409
+ # The pageInfo object encapsulates paging information for the result set.
2410
+ # Corresponds to the JSON property `pageInfo`
2411
+ # @return [Google::Apis::YoutubePartnerV1::PageInfo]
2412
+ attr_accessor :page_info
2413
+
2414
+ # The token that can be used as the value of the pageToken parameter to retrieve
2415
+ # the previous page in the result set.
2416
+ # Corresponds to the JSON property `previousPageToken`
2417
+ # @return [String]
2418
+ attr_accessor :previous_page_token
2419
+
2420
+ def initialize(**args)
2421
+ update!(**args)
2422
+ end
2423
+
2424
+ # Update properties of this object
2425
+ def update!(**args)
2426
+ @items = args[:items] if args.key?(:items)
2427
+ @kind = args[:kind] if args.key?(:kind)
2428
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2429
+ @page_info = args[:page_info] if args.key?(:page_info)
2430
+ @previous_page_token = args[:previous_page_token] if args.key?(:previous_page_token)
2431
+ end
2432
+ end
2433
+
2434
+ #
2435
+ class Origination
2436
+ include Google::Apis::Core::Hashable
2437
+
2438
+ # The content owner who provided the metadata or ownership information.
2439
+ # Corresponds to the JSON property `owner`
2440
+ # @return [String]
2441
+ attr_accessor :owner
2442
+
2443
+ # The mechanism by which the piece of metadata, ownership or relationship
2444
+ # information was provided.
2445
+ # Corresponds to the JSON property `source`
2446
+ # @return [String]
2447
+ attr_accessor :source
2448
+
2449
+ def initialize(**args)
2450
+ update!(**args)
2451
+ end
2452
+
2453
+ # Update properties of this object
2454
+ def update!(**args)
2455
+ @owner = args[:owner] if args.key?(:owner)
2456
+ @source = args[:source] if args.key?(:source)
2457
+ end
2458
+ end
2459
+
2460
+ #
2461
+ class OwnershipConflicts
2462
+ include Google::Apis::Core::Hashable
2463
+
2464
+ # A list that identifies ownership conflicts of an asset and the territories
2465
+ # where conflicting ownership is inserted.
2466
+ # Corresponds to the JSON property `general`
2467
+ # @return [Array<Google::Apis::YoutubePartnerV1::TerritoryConflicts>]
2468
+ attr_accessor :general
2469
+
2470
+ # The type of the API resource. For ownershipConflicts resources, the value is
2471
+ # youtubePartner#ownershipConflicts.
2472
+ # Corresponds to the JSON property `kind`
2473
+ # @return [String]
2474
+ attr_accessor :kind
2475
+
2476
+ # A list that identifies ownership conflicts of the mechanical rights for a
2477
+ # composition asset and the territories where conflicting ownership is inserted.
2478
+ # Corresponds to the JSON property `mechanical`
2479
+ # @return [Array<Google::Apis::YoutubePartnerV1::TerritoryConflicts>]
2480
+ attr_accessor :mechanical
2481
+
2482
+ # A list that identifies ownership conflicts of the performance rights for a
2483
+ # composition asset and the territories where conflicting ownership is inserted.
2484
+ # Corresponds to the JSON property `performance`
2485
+ # @return [Array<Google::Apis::YoutubePartnerV1::TerritoryConflicts>]
2486
+ attr_accessor :performance
2487
+
2488
+ # A list that identifies ownership conflicts of the synchronization rights for a
2489
+ # composition asset and the territories where conflicting ownership is inserted.
2490
+ # Corresponds to the JSON property `synchronization`
2491
+ # @return [Array<Google::Apis::YoutubePartnerV1::TerritoryConflicts>]
2492
+ attr_accessor :synchronization
2493
+
2494
+ def initialize(**args)
2495
+ update!(**args)
2496
+ end
2497
+
2498
+ # Update properties of this object
2499
+ def update!(**args)
2500
+ @general = args[:general] if args.key?(:general)
2501
+ @kind = args[:kind] if args.key?(:kind)
2502
+ @mechanical = args[:mechanical] if args.key?(:mechanical)
2503
+ @performance = args[:performance] if args.key?(:performance)
2504
+ @synchronization = args[:synchronization] if args.key?(:synchronization)
2505
+ end
2506
+ end
2507
+
2508
+ #
2509
+ class OwnershipHistoryListResponse
2510
+ include Google::Apis::Core::Hashable
2511
+
2512
+ # A list of ownership history (youtubePartner#ownershipHistory) resources that
2513
+ # match the request criteria.
2514
+ # Corresponds to the JSON property `items`
2515
+ # @return [Array<Google::Apis::YoutubePartnerV1::RightsOwnershipHistory>]
2516
+ attr_accessor :items
2517
+
2518
+ # The type of the API response. For this operation, the value is youtubePartner#
2519
+ # ownershipHistoryList.
2520
+ # Corresponds to the JSON property `kind`
2521
+ # @return [String]
2522
+ attr_accessor :kind
2523
+
2524
+ def initialize(**args)
2525
+ update!(**args)
2526
+ end
2527
+
2528
+ # Update properties of this object
2529
+ def update!(**args)
2530
+ @items = args[:items] if args.key?(:items)
2531
+ @kind = args[:kind] if args.key?(:kind)
2532
+ end
2533
+ end
2534
+
2535
+ #
2536
+ class PageInfo
2537
+ include Google::Apis::Core::Hashable
2538
+
2539
+ # The number of results included in the API response.
2540
+ # Corresponds to the JSON property `resultsPerPage`
2541
+ # @return [Fixnum]
2542
+ attr_accessor :results_per_page
2543
+
2544
+ # The index of the first item in the API response.
2545
+ # Corresponds to the JSON property `startIndex`
2546
+ # @return [Fixnum]
2547
+ attr_accessor :start_index
2548
+
2549
+ # The total number of results in the result set.
2550
+ # Corresponds to the JSON property `totalResults`
2551
+ # @return [Fixnum]
2552
+ attr_accessor :total_results
2553
+
2554
+ def initialize(**args)
2555
+ update!(**args)
2556
+ end
2557
+
2558
+ # Update properties of this object
2559
+ def update!(**args)
2560
+ @results_per_page = args[:results_per_page] if args.key?(:results_per_page)
2561
+ @start_index = args[:start_index] if args.key?(:start_index)
2562
+ @total_results = args[:total_results] if args.key?(:total_results)
2563
+ end
2564
+ end
2565
+
2566
+ #
2567
+ class Policy
2568
+ include Google::Apis::Core::Hashable
2569
+
2570
+ # The policy's description.
2571
+ # Corresponds to the JSON property `description`
2572
+ # @return [String]
2573
+ attr_accessor :description
2574
+
2575
+ # A value that YouTube assigns and uses to uniquely identify the policy.
2576
+ # Corresponds to the JSON property `id`
2577
+ # @return [String]
2578
+ attr_accessor :id
2579
+
2580
+ # Identifies this as a policy. Value: "youtubePartner#policy"
2581
+ # Corresponds to the JSON property `kind`
2582
+ # @return [String]
2583
+ attr_accessor :kind
2584
+
2585
+ # The policy's name.
2586
+ # Corresponds to the JSON property `name`
2587
+ # @return [String]
2588
+ attr_accessor :name
2589
+
2590
+ # A list of rules that specify the action that YouTube should take and may
2591
+ # optionally specify the conditions under which that action is enforced.
2592
+ # Corresponds to the JSON property `rules`
2593
+ # @return [Array<Google::Apis::YoutubePartnerV1::PolicyRule>]
2594
+ attr_accessor :rules
2595
+
2596
+ # The time the policy was updated.
2597
+ # Corresponds to the JSON property `timeUpdated`
2598
+ # @return [DateTime]
2599
+ attr_accessor :time_updated
2600
+
2601
+ def initialize(**args)
2602
+ update!(**args)
2603
+ end
2604
+
2605
+ # Update properties of this object
2606
+ def update!(**args)
2607
+ @description = args[:description] if args.key?(:description)
2608
+ @id = args[:id] if args.key?(:id)
2609
+ @kind = args[:kind] if args.key?(:kind)
2610
+ @name = args[:name] if args.key?(:name)
2611
+ @rules = args[:rules] if args.key?(:rules)
2612
+ @time_updated = args[:time_updated] if args.key?(:time_updated)
2613
+ end
2614
+ end
2615
+
2616
+ #
2617
+ class PolicyList
2618
+ include Google::Apis::Core::Hashable
2619
+
2620
+ # A list of saved policies.
2621
+ # Corresponds to the JSON property `items`
2622
+ # @return [Array<Google::Apis::YoutubePartnerV1::Policy>]
2623
+ attr_accessor :items
2624
+
2625
+ # The type of the API response. For this operation, the value is youtubePartner#
2626
+ # policyList.
2627
+ # Corresponds to the JSON property `kind`
2628
+ # @return [String]
2629
+ attr_accessor :kind
2630
+
2631
+ def initialize(**args)
2632
+ update!(**args)
2633
+ end
2634
+
2635
+ # Update properties of this object
2636
+ def update!(**args)
2637
+ @items = args[:items] if args.key?(:items)
2638
+ @kind = args[:kind] if args.key?(:kind)
2639
+ end
2640
+ end
2641
+
2642
+ #
2643
+ class PolicyRule
2644
+ include Google::Apis::Core::Hashable
2645
+
2646
+ # The policy that YouTube should enforce if the rule's conditions are all valid
2647
+ # for an asset or for an attempt to view that asset on YouTube.
2648
+ # Corresponds to the JSON property `action`
2649
+ # @return [String]
2650
+ attr_accessor :action
2651
+
2652
+ # A set of conditions that must be met for the rule's action (and subactions) to
2653
+ # be enforced. For a rule to be valid, all of its conditions must be met.
2654
+ # Corresponds to the JSON property `conditions`
2655
+ # @return [Google::Apis::YoutubePartnerV1::Conditions]
2656
+ attr_accessor :conditions
2657
+
2658
+ # A list of additional actions that YouTube should take if the conditions in the
2659
+ # rule are met.
2660
+ # Corresponds to the JSON property `subaction`
2661
+ # @return [Array<String>]
2662
+ attr_accessor :subaction
2663
+
2664
+ def initialize(**args)
2665
+ update!(**args)
2666
+ end
2667
+
2668
+ # Update properties of this object
2669
+ def update!(**args)
2670
+ @action = args[:action] if args.key?(:action)
2671
+ @conditions = args[:conditions] if args.key?(:conditions)
2672
+ @subaction = args[:subaction] if args.key?(:subaction)
2673
+ end
2674
+ end
2675
+
2676
+ #
2677
+ class PromotedContent
2678
+ include Google::Apis::Core::Hashable
2679
+
2680
+ # A list of link targets that will be used to generate the annotation link that
2681
+ # appears on videos included in the campaign. If more than one link is
2682
+ # specified, the link that is displayed to viewers will be randomly selected
2683
+ # from the list.
2684
+ # Corresponds to the JSON property `link`
2685
+ # @return [Array<Google::Apis::YoutubePartnerV1::CampaignTargetLink>]
2686
+ attr_accessor :link
2687
+
2688
+ def initialize(**args)
2689
+ update!(**args)
2690
+ end
2691
+
2692
+ # Update properties of this object
2693
+ def update!(**args)
2694
+ @link = args[:link] if args.key?(:link)
2695
+ end
2696
+ end
2697
+
2698
+ #
2699
+ class Publisher
2700
+ include Google::Apis::Core::Hashable
2701
+
2702
+ # The publisher's unique CAE (Compositeur, Auteur and Editeur) number.
2703
+ # Corresponds to the JSON property `caeNumber`
2704
+ # @return [String]
2705
+ attr_accessor :cae_number
2706
+
2707
+ # A value that YouTube assigns and uses to uniquely identify the publisher.
2708
+ # Corresponds to the JSON property `id`
2709
+ # @return [String]
2710
+ attr_accessor :id
2711
+
2712
+ # The publisher's unique IPI (Interested Parties Information) code.
2713
+ # Corresponds to the JSON property `ipiNumber`
2714
+ # @return [String]
2715
+ attr_accessor :ipi_number
2716
+
2717
+ # The type of the API resource. For this resource, the value is youtubePartner#
2718
+ # publisher.
2719
+ # Corresponds to the JSON property `kind`
2720
+ # @return [String]
2721
+ attr_accessor :kind
2722
+
2723
+ # The publisher's name.
2724
+ # Corresponds to the JSON property `name`
2725
+ # @return [String]
2726
+ attr_accessor :name
2727
+
2728
+ def initialize(**args)
2729
+ update!(**args)
2730
+ end
2731
+
2732
+ # Update properties of this object
2733
+ def update!(**args)
2734
+ @cae_number = args[:cae_number] if args.key?(:cae_number)
2735
+ @id = args[:id] if args.key?(:id)
2736
+ @ipi_number = args[:ipi_number] if args.key?(:ipi_number)
2737
+ @kind = args[:kind] if args.key?(:kind)
2738
+ @name = args[:name] if args.key?(:name)
2739
+ end
2740
+ end
2741
+
2742
+ #
2743
+ class PublisherList
2744
+ include Google::Apis::Core::Hashable
2745
+
2746
+ # A list of publishers that match the request criteria.
2747
+ # Corresponds to the JSON property `items`
2748
+ # @return [Array<Google::Apis::YoutubePartnerV1::Publisher>]
2749
+ attr_accessor :items
2750
+
2751
+ # The type of the API response. For this operation, the value is youtubePartner#
2752
+ # publisherList.
2753
+ # Corresponds to the JSON property `kind`
2754
+ # @return [String]
2755
+ attr_accessor :kind
2756
+
2757
+ # The token that can be used as the value of the pageToken parameter to retrieve
2758
+ # the next page in the result set.
2759
+ # Corresponds to the JSON property `nextPageToken`
2760
+ # @return [String]
2761
+ attr_accessor :next_page_token
2762
+
2763
+ # The pageInfo object encapsulates paging information for the result set.
2764
+ # Corresponds to the JSON property `pageInfo`
2765
+ # @return [Google::Apis::YoutubePartnerV1::PageInfo]
2766
+ attr_accessor :page_info
2767
+
2768
+ def initialize(**args)
2769
+ update!(**args)
2770
+ end
2771
+
2772
+ # Update properties of this object
2773
+ def update!(**args)
2774
+ @items = args[:items] if args.key?(:items)
2775
+ @kind = args[:kind] if args.key?(:kind)
2776
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2777
+ @page_info = args[:page_info] if args.key?(:page_info)
2778
+ end
2779
+ end
2780
+
2781
+ #
2782
+ class Rating
2783
+ include Google::Apis::Core::Hashable
2784
+
2785
+ # The rating that the asset received.
2786
+ # Corresponds to the JSON property `rating`
2787
+ # @return [String]
2788
+ attr_accessor :rating
2789
+
2790
+ # The rating system associated with the rating.
2791
+ # Corresponds to the JSON property `ratingSystem`
2792
+ # @return [String]
2793
+ attr_accessor :rating_system
2794
+
2795
+ def initialize(**args)
2796
+ update!(**args)
2797
+ end
2798
+
2799
+ # Update properties of this object
2800
+ def update!(**args)
2801
+ @rating = args[:rating] if args.key?(:rating)
2802
+ @rating_system = args[:rating_system] if args.key?(:rating_system)
2803
+ end
2804
+ end
2805
+
2806
+ #
2807
+ class Reference
2808
+ include Google::Apis::Core::Hashable
2809
+
2810
+ # The ID that uniquely identifies the asset that the reference is associated
2811
+ # with.
2812
+ # Corresponds to the JSON property `assetId`
2813
+ # @return [String]
2814
+ attr_accessor :asset_id
2815
+
2816
+ # Set this field's value to true to indicate that the reference content should
2817
+ # be included in YouTube's AudioSwap program.
2818
+ # Corresponds to the JSON property `audioswapEnabled`
2819
+ # @return [Boolean]
2820
+ attr_accessor :audioswap_enabled
2821
+ alias_method :audioswap_enabled?, :audioswap_enabled
2822
+
2823
+ # This field is present if the reference was created by associating an asset
2824
+ # with an existing YouTube video that was uploaded to a YouTube channel linked
2825
+ # to your CMS account. In that case, this field contains the ID of the claim
2826
+ # representing the resulting association between the asset and the video.
2827
+ # Corresponds to the JSON property `claimId`
2828
+ # @return [String]
2829
+ attr_accessor :claim_id
2830
+
2831
+ # The type of content that the reference represents.
2832
+ # Corresponds to the JSON property `contentType`
2833
+ # @return [String]
2834
+ attr_accessor :content_type
2835
+
2836
+ # The ID that uniquely identifies the reference that this reference duplicates.
2837
+ # This field is only present if the reference's status is duplicate_on_hold.
2838
+ # Corresponds to the JSON property `duplicateLeader`
2839
+ # @return [String]
2840
+ attr_accessor :duplicate_leader
2841
+
2842
+ # The list of time intervals from this reference that will be ignored during the
2843
+ # match process.
2844
+ # Corresponds to the JSON property `excludedIntervals`
2845
+ # @return [Array<Google::Apis::YoutubePartnerV1::ExcludedInterval>]
2846
+ attr_accessor :excluded_intervals
2847
+
2848
+ # When uploading a reference, set this value to true to indicate that the
2849
+ # reference is a pre-generated fingerprint.
2850
+ # Corresponds to the JSON property `fpDirect`
2851
+ # @return [Boolean]
2852
+ attr_accessor :fp_direct
2853
+ alias_method :fp_direct?, :fp_direct
2854
+
2855
+ # The MD5 hashcode of the reference content.
2856
+ # Corresponds to the JSON property `hashCode`
2857
+ # @return [String]
2858
+ attr_accessor :hash_code
2859
+
2860
+ # A value that YouTube assigns and uses to uniquely identify a reference.
2861
+ # Corresponds to the JSON property `id`
2862
+ # @return [String]
2863
+ attr_accessor :id
2864
+
2865
+ # Set this value to true to indicate that the reference should not be used to
2866
+ # generate claims. This field is only used on AudioSwap references.
2867
+ # Corresponds to the JSON property `ignoreFpMatch`
2868
+ # @return [Boolean]
2869
+ attr_accessor :ignore_fp_match
2870
+ alias_method :ignore_fp_match?, :ignore_fp_match
2871
+
2872
+ # The type of the API resource. For reference resources, the value is
2873
+ # youtubePartner#reference.
2874
+ # Corresponds to the JSON property `kind`
2875
+ # @return [String]
2876
+ attr_accessor :kind
2877
+
2878
+ # The length of the reference in seconds.
2879
+ # Corresponds to the JSON property `length`
2880
+ # @return [Float]
2881
+ attr_accessor :length
2882
+
2883
+ # The origination object contains information that describes the reference
2884
+ # source.
2885
+ # Corresponds to the JSON property `origination`
2886
+ # @return [Google::Apis::YoutubePartnerV1::Origination]
2887
+ attr_accessor :origination
2888
+
2889
+ # The reference's status.
2890
+ # Corresponds to the JSON property `status`
2891
+ # @return [String]
2892
+ attr_accessor :status
2893
+
2894
+ # An explanation of how a reference entered its current state. This value is
2895
+ # only present if the reference's status is either inactive or deleted.
2896
+ # Corresponds to the JSON property `statusReason`
2897
+ # @return [String]
2898
+ attr_accessor :status_reason
2899
+
2900
+ # Set this value to true to indicate that YouTube should prioritize Content ID
2901
+ # processing for a video file. YouTube processes urgent video files before other
2902
+ # files that are not marked as urgent. This setting is primarily used for videos
2903
+ # of live events or other videos that require time-sensitive processing. The
2904
+ # sooner YouTube completes Content ID processing for a video, the sooner YouTube
2905
+ # can match user-uploaded videos to that video.
2906
+ # Note that marking all of your files as urgent could delay processing for those
2907
+ # files.
2908
+ # Corresponds to the JSON property `urgent`
2909
+ # @return [Boolean]
2910
+ attr_accessor :urgent
2911
+ alias_method :urgent?, :urgent
2912
+
2913
+ # This field is present if the reference was created by associating an asset
2914
+ # with an existing YouTube video that was uploaded to a YouTube channel linked
2915
+ # to your CMS account. In that case, this field contains the ID of the source
2916
+ # video.
2917
+ # Corresponds to the JSON property `videoId`
2918
+ # @return [String]
2919
+ attr_accessor :video_id
2920
+
2921
+ def initialize(**args)
2922
+ update!(**args)
2923
+ end
2924
+
2925
+ # Update properties of this object
2926
+ def update!(**args)
2927
+ @asset_id = args[:asset_id] if args.key?(:asset_id)
2928
+ @audioswap_enabled = args[:audioswap_enabled] if args.key?(:audioswap_enabled)
2929
+ @claim_id = args[:claim_id] if args.key?(:claim_id)
2930
+ @content_type = args[:content_type] if args.key?(:content_type)
2931
+ @duplicate_leader = args[:duplicate_leader] if args.key?(:duplicate_leader)
2932
+ @excluded_intervals = args[:excluded_intervals] if args.key?(:excluded_intervals)
2933
+ @fp_direct = args[:fp_direct] if args.key?(:fp_direct)
2934
+ @hash_code = args[:hash_code] if args.key?(:hash_code)
2935
+ @id = args[:id] if args.key?(:id)
2936
+ @ignore_fp_match = args[:ignore_fp_match] if args.key?(:ignore_fp_match)
2937
+ @kind = args[:kind] if args.key?(:kind)
2938
+ @length = args[:length] if args.key?(:length)
2939
+ @origination = args[:origination] if args.key?(:origination)
2940
+ @status = args[:status] if args.key?(:status)
2941
+ @status_reason = args[:status_reason] if args.key?(:status_reason)
2942
+ @urgent = args[:urgent] if args.key?(:urgent)
2943
+ @video_id = args[:video_id] if args.key?(:video_id)
2944
+ end
2945
+ end
2946
+
2947
+ #
2948
+ class ReferenceConflict
2949
+ include Google::Apis::Core::Hashable
2950
+
2951
+ # An id of a conflicting reference.
2952
+ # Corresponds to the JSON property `conflictingReferenceId`
2953
+ # @return [String]
2954
+ attr_accessor :conflicting_reference_id
2955
+
2956
+ # Conflict review expiry time.
2957
+ # Corresponds to the JSON property `expiryTime`
2958
+ # @return [DateTime]
2959
+ attr_accessor :expiry_time
2960
+
2961
+ # A value that YouTube assigns and uses to uniquely identify a reference
2962
+ # conflict.
2963
+ # Corresponds to the JSON property `id`
2964
+ # @return [String]
2965
+ attr_accessor :id
2966
+
2967
+ # The type of the API resource. For referenceConflict resources, the value is
2968
+ # youtubePartner#referenceConflict.
2969
+ # Corresponds to the JSON property `kind`
2970
+ # @return [String]
2971
+ attr_accessor :kind
2972
+
2973
+ # The list of matches between conflicting and original references at the time of
2974
+ # conflict creation.
2975
+ # Corresponds to the JSON property `matches`
2976
+ # @return [Array<Google::Apis::YoutubePartnerV1::ReferenceConflictMatch>]
2977
+ attr_accessor :matches
2978
+
2979
+ # An id of an original reference.
2980
+ # Corresponds to the JSON property `originalReferenceId`
2981
+ # @return [String]
2982
+ attr_accessor :original_reference_id
2983
+
2984
+ # The referenceConflict's status.
2985
+ # Corresponds to the JSON property `status`
2986
+ # @return [String]
2987
+ attr_accessor :status
2988
+
2989
+ def initialize(**args)
2990
+ update!(**args)
2991
+ end
2992
+
2993
+ # Update properties of this object
2994
+ def update!(**args)
2995
+ @conflicting_reference_id = args[:conflicting_reference_id] if args.key?(:conflicting_reference_id)
2996
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
2997
+ @id = args[:id] if args.key?(:id)
2998
+ @kind = args[:kind] if args.key?(:kind)
2999
+ @matches = args[:matches] if args.key?(:matches)
3000
+ @original_reference_id = args[:original_reference_id] if args.key?(:original_reference_id)
3001
+ @status = args[:status] if args.key?(:status)
3002
+ end
3003
+ end
3004
+
3005
+ #
3006
+ class ReferenceConflictListResponse
3007
+ include Google::Apis::Core::Hashable
3008
+
3009
+ # A list of reference conflicts that match the request criteria.
3010
+ # Corresponds to the JSON property `items`
3011
+ # @return [Array<Google::Apis::YoutubePartnerV1::ReferenceConflict>]
3012
+ attr_accessor :items
3013
+
3014
+ # The type of the API response. For this operation, the value is youtubePartner#
3015
+ # referenceConflictList.
3016
+ # Corresponds to the JSON property `kind`
3017
+ # @return [String]
3018
+ attr_accessor :kind
3019
+
3020
+ # The token that can be used as the value of the pageToken parameter to retrieve
3021
+ # the next page in the result set.
3022
+ # Corresponds to the JSON property `nextPageToken`
3023
+ # @return [String]
3024
+ attr_accessor :next_page_token
3025
+
3026
+ # The pageInfo object encapsulates paging information for the result set.
3027
+ # Corresponds to the JSON property `pageInfo`
3028
+ # @return [Google::Apis::YoutubePartnerV1::PageInfo]
3029
+ attr_accessor :page_info
3030
+
3031
+ def initialize(**args)
3032
+ update!(**args)
3033
+ end
3034
+
3035
+ # Update properties of this object
3036
+ def update!(**args)
3037
+ @items = args[:items] if args.key?(:items)
3038
+ @kind = args[:kind] if args.key?(:kind)
3039
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3040
+ @page_info = args[:page_info] if args.key?(:page_info)
3041
+ end
3042
+ end
3043
+
3044
+ #
3045
+ class ReferenceConflictMatch
3046
+ include Google::Apis::Core::Hashable
3047
+
3048
+ # Conflicting reference offset in milliseconds.
3049
+ # Corresponds to the JSON property `conflicting_reference_offset_ms`
3050
+ # @return [String]
3051
+ attr_accessor :conflicting_reference_offset_ms
3052
+
3053
+ # Match length in milliseconds.
3054
+ # Corresponds to the JSON property `length_ms`
3055
+ # @return [String]
3056
+ attr_accessor :length_ms
3057
+
3058
+ # Original reference offset in milliseconds.
3059
+ # Corresponds to the JSON property `original_reference_offset_ms`
3060
+ # @return [String]
3061
+ attr_accessor :original_reference_offset_ms
3062
+
3063
+ # The referenceConflictMatch's type.
3064
+ # Corresponds to the JSON property `type`
3065
+ # @return [String]
3066
+ attr_accessor :type
3067
+
3068
+ def initialize(**args)
3069
+ update!(**args)
3070
+ end
3071
+
3072
+ # Update properties of this object
3073
+ def update!(**args)
3074
+ @conflicting_reference_offset_ms = args[:conflicting_reference_offset_ms] if args.key?(:conflicting_reference_offset_ms)
3075
+ @length_ms = args[:length_ms] if args.key?(:length_ms)
3076
+ @original_reference_offset_ms = args[:original_reference_offset_ms] if args.key?(:original_reference_offset_ms)
3077
+ @type = args[:type] if args.key?(:type)
3078
+ end
3079
+ end
3080
+
3081
+ #
3082
+ class ReferenceListResponse
3083
+ include Google::Apis::Core::Hashable
3084
+
3085
+ # A list of references that match the request criteria.
3086
+ # Corresponds to the JSON property `items`
3087
+ # @return [Array<Google::Apis::YoutubePartnerV1::Reference>]
3088
+ attr_accessor :items
3089
+
3090
+ # The type of the API response. For this operation, the value is youtubePartner#
3091
+ # referenceList.
3092
+ # Corresponds to the JSON property `kind`
3093
+ # @return [String]
3094
+ attr_accessor :kind
3095
+
3096
+ # The token that can be used as the value of the pageToken parameter to retrieve
3097
+ # the next page in the result set.
3098
+ # Corresponds to the JSON property `nextPageToken`
3099
+ # @return [String]
3100
+ attr_accessor :next_page_token
3101
+
3102
+ # The pageInfo object encapsulates paging information for the result set.
3103
+ # Corresponds to the JSON property `pageInfo`
3104
+ # @return [Google::Apis::YoutubePartnerV1::PageInfo]
3105
+ attr_accessor :page_info
3106
+
3107
+ def initialize(**args)
3108
+ update!(**args)
3109
+ end
3110
+
3111
+ # Update properties of this object
3112
+ def update!(**args)
3113
+ @items = args[:items] if args.key?(:items)
3114
+ @kind = args[:kind] if args.key?(:kind)
3115
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3116
+ @page_info = args[:page_info] if args.key?(:page_info)
3117
+ end
3118
+ end
3119
+
3120
+ #
3121
+ class Requirements
3122
+ include Google::Apis::Core::Hashable
3123
+
3124
+ # This value indicates whether the order requires closed captions.
3125
+ # Corresponds to the JSON property `caption`
3126
+ # @return [Boolean]
3127
+ attr_accessor :caption
3128
+ alias_method :caption?, :caption
3129
+
3130
+ # This value indicates whether the order requires HD-quality video.
3131
+ # Corresponds to the JSON property `hdTranscode`
3132
+ # @return [Boolean]
3133
+ attr_accessor :hd_transcode
3134
+ alias_method :hd_transcode?, :hd_transcode
3135
+
3136
+ # This value indicates whether the order requires poster artwork.
3137
+ # Corresponds to the JSON property `posterArt`
3138
+ # @return [Boolean]
3139
+ attr_accessor :poster_art
3140
+ alias_method :poster_art?, :poster_art
3141
+
3142
+ # This value indicates whether the order requires spotlight artwork.
3143
+ # Corresponds to the JSON property `spotlightArt`
3144
+ # @return [Boolean]
3145
+ attr_accessor :spotlight_art
3146
+ alias_method :spotlight_art?, :spotlight_art
3147
+
3148
+ # This value indicates whether the spotlight artwork for the order needs to be
3149
+ # reviewed.
3150
+ # Corresponds to the JSON property `spotlightReview`
3151
+ # @return [Boolean]
3152
+ attr_accessor :spotlight_review
3153
+ alias_method :spotlight_review?, :spotlight_review
3154
+
3155
+ # This value indicates whether the order requires a trailer.
3156
+ # Corresponds to the JSON property `trailer`
3157
+ # @return [Boolean]
3158
+ attr_accessor :trailer
3159
+ alias_method :trailer?, :trailer
3160
+
3161
+ def initialize(**args)
3162
+ update!(**args)
3163
+ end
3164
+
3165
+ # Update properties of this object
3166
+ def update!(**args)
3167
+ @caption = args[:caption] if args.key?(:caption)
3168
+ @hd_transcode = args[:hd_transcode] if args.key?(:hd_transcode)
3169
+ @poster_art = args[:poster_art] if args.key?(:poster_art)
3170
+ @spotlight_art = args[:spotlight_art] if args.key?(:spotlight_art)
3171
+ @spotlight_review = args[:spotlight_review] if args.key?(:spotlight_review)
3172
+ @trailer = args[:trailer] if args.key?(:trailer)
3173
+ end
3174
+ end
3175
+
3176
+ #
3177
+ class RightsOwnership
3178
+ include Google::Apis::Core::Hashable
3179
+
3180
+ # A list that identifies the owners of an asset and the territories where each
3181
+ # owner has ownership. General asset ownership is used for all types of assets
3182
+ # and is the only type of ownership data that can be provided for assets that
3183
+ # are not compositions.
3184
+ # Note: You cannot specify general ownership rights and also specify either
3185
+ # mechanical, performance, or synchronization rights.
3186
+ # Corresponds to the JSON property `general`
3187
+ # @return [Array<Google::Apis::YoutubePartnerV1::TerritoryOwners>]
3188
+ attr_accessor :general
3189
+
3190
+ # The type of the API resource. For rightsOwnership resources, the value is
3191
+ # youtubePartner#rightsOwnership.
3192
+ # Corresponds to the JSON property `kind`
3193
+ # @return [String]
3194
+ attr_accessor :kind
3195
+
3196
+ # A list that identifies owners of the mechanical rights for a composition asset.
3197
+ # Corresponds to the JSON property `mechanical`
3198
+ # @return [Array<Google::Apis::YoutubePartnerV1::TerritoryOwners>]
3199
+ attr_accessor :mechanical
3200
+
3201
+ # A list that identifies owners of the performance rights for a composition
3202
+ # asset.
3203
+ # Corresponds to the JSON property `performance`
3204
+ # @return [Array<Google::Apis::YoutubePartnerV1::TerritoryOwners>]
3205
+ attr_accessor :performance
3206
+
3207
+ # A list that identifies owners of the synchronization rights for a composition
3208
+ # asset.
3209
+ # Corresponds to the JSON property `synchronization`
3210
+ # @return [Array<Google::Apis::YoutubePartnerV1::TerritoryOwners>]
3211
+ attr_accessor :synchronization
3212
+
3213
+ def initialize(**args)
3214
+ update!(**args)
3215
+ end
3216
+
3217
+ # Update properties of this object
3218
+ def update!(**args)
3219
+ @general = args[:general] if args.key?(:general)
3220
+ @kind = args[:kind] if args.key?(:kind)
3221
+ @mechanical = args[:mechanical] if args.key?(:mechanical)
3222
+ @performance = args[:performance] if args.key?(:performance)
3223
+ @synchronization = args[:synchronization] if args.key?(:synchronization)
3224
+ end
3225
+ end
3226
+
3227
+ #
3228
+ class RightsOwnershipHistory
3229
+ include Google::Apis::Core::Hashable
3230
+
3231
+ # The type of the API resource. For ownership history resources, the value is
3232
+ # youtubePartner#rightsOwnershipHistory.
3233
+ # Corresponds to the JSON property `kind`
3234
+ # @return [String]
3235
+ attr_accessor :kind
3236
+
3237
+ # The origination object contains information that describes the metadata source.
3238
+ # Corresponds to the JSON property `origination`
3239
+ # @return [Google::Apis::YoutubePartnerV1::Origination]
3240
+ attr_accessor :origination
3241
+
3242
+ # The ownership object contains the ownership data provided by the specified
3243
+ # source (origination) at the specified time (timeProvided).
3244
+ # Corresponds to the JSON property `ownership`
3245
+ # @return [Google::Apis::YoutubePartnerV1::RightsOwnership]
3246
+ attr_accessor :ownership
3247
+
3248
+ # The time that the ownership data was provided.
3249
+ # Corresponds to the JSON property `timeProvided`
3250
+ # @return [DateTime]
3251
+ attr_accessor :time_provided
3252
+
3253
+ def initialize(**args)
3254
+ update!(**args)
3255
+ end
3256
+
3257
+ # Update properties of this object
3258
+ def update!(**args)
3259
+ @kind = args[:kind] if args.key?(:kind)
3260
+ @origination = args[:origination] if args.key?(:origination)
3261
+ @ownership = args[:ownership] if args.key?(:ownership)
3262
+ @time_provided = args[:time_provided] if args.key?(:time_provided)
3263
+ end
3264
+ end
3265
+
3266
+ #
3267
+ class Segment
3268
+ include Google::Apis::Core::Hashable
3269
+
3270
+ # The duration of the segment in milliseconds.
3271
+ # Corresponds to the JSON property `duration`
3272
+ # @return [String]
3273
+ attr_accessor :duration
3274
+
3275
+ # The type of the API resource. For segment resources, the value is
3276
+ # youtubePartner#segment.
3277
+ # Corresponds to the JSON property `kind`
3278
+ # @return [String]
3279
+ attr_accessor :kind
3280
+
3281
+ # The start time of the segment, measured in milliseconds from the beginning.
3282
+ # Corresponds to the JSON property `start`
3283
+ # @return [String]
3284
+ attr_accessor :start
3285
+
3286
+ def initialize(**args)
3287
+ update!(**args)
3288
+ end
3289
+
3290
+ # Update properties of this object
3291
+ def update!(**args)
3292
+ @duration = args[:duration] if args.key?(:duration)
3293
+ @kind = args[:kind] if args.key?(:kind)
3294
+ @start = args[:start] if args.key?(:start)
3295
+ end
3296
+ end
3297
+
3298
+ #
3299
+ class ShowDetails
3300
+ include Google::Apis::Core::Hashable
3301
+
3302
+ # The episode number associated with the episode.
3303
+ # Corresponds to the JSON property `episodeNumber`
3304
+ # @return [String]
3305
+ attr_accessor :episode_number
3306
+
3307
+ # The episode's title.
3308
+ # Corresponds to the JSON property `episodeTitle`
3309
+ # @return [String]
3310
+ attr_accessor :episode_title
3311
+
3312
+ # The season number associated with the episode.
3313
+ # Corresponds to the JSON property `seasonNumber`
3314
+ # @return [String]
3315
+ attr_accessor :season_number
3316
+
3317
+ # The show's title
3318
+ # Corresponds to the JSON property `title`
3319
+ # @return [String]
3320
+ attr_accessor :title
3321
+
3322
+ def initialize(**args)
3323
+ update!(**args)
3324
+ end
3325
+
3326
+ # Update properties of this object
3327
+ def update!(**args)
3328
+ @episode_number = args[:episode_number] if args.key?(:episode_number)
3329
+ @episode_title = args[:episode_title] if args.key?(:episode_title)
3330
+ @season_number = args[:season_number] if args.key?(:season_number)
3331
+ @title = args[:title] if args.key?(:title)
3332
+ end
3333
+ end
3334
+
3335
+ #
3336
+ class StateCompleted
3337
+ include Google::Apis::Core::Hashable
3338
+
3339
+ # The state that the order entered.
3340
+ # Corresponds to the JSON property `state`
3341
+ # @return [String]
3342
+ attr_accessor :state
3343
+
3344
+ # The time that the state transition occurred.
3345
+ # Corresponds to the JSON property `timeCompleted`
3346
+ # @return [String]
3347
+ attr_accessor :time_completed
3348
+
3349
+ def initialize(**args)
3350
+ update!(**args)
3351
+ end
3352
+
3353
+ # Update properties of this object
3354
+ def update!(**args)
3355
+ @state = args[:state] if args.key?(:state)
3356
+ @time_completed = args[:time_completed] if args.key?(:time_completed)
3357
+ end
3358
+ end
3359
+
3360
+ #
3361
+ class TerritoryCondition
3362
+ include Google::Apis::Core::Hashable
3363
+
3364
+ # A list of territories. Each territory is an ISO 3166 two-letter country code..
3365
+ # Corresponds to the JSON property `territories`
3366
+ # @return [Array<String>]
3367
+ attr_accessor :territories
3368
+
3369
+ # This field indicates whether the associated policy rule is or is not valid in
3370
+ # the specified territories.
3371
+ # Corresponds to the JSON property `type`
3372
+ # @return [String]
3373
+ attr_accessor :type
3374
+
3375
+ def initialize(**args)
3376
+ update!(**args)
3377
+ end
3378
+
3379
+ # Update properties of this object
3380
+ def update!(**args)
3381
+ @territories = args[:territories] if args.key?(:territories)
3382
+ @type = args[:type] if args.key?(:type)
3383
+ end
3384
+ end
3385
+
3386
+ #
3387
+ class TerritoryConflicts
3388
+ include Google::Apis::Core::Hashable
3389
+
3390
+ # A list of conflicting ownerships.
3391
+ # Corresponds to the JSON property `conflictingOwnership`
3392
+ # @return [Array<Google::Apis::YoutubePartnerV1::ConflictingOwnership>]
3393
+ attr_accessor :conflicting_ownership
3394
+
3395
+ # A territories where the ownership conflict is present. Territory is an ISO
3396
+ # 3166 two-letter country code..
3397
+ # Corresponds to the JSON property `territory`
3398
+ # @return [String]
3399
+ attr_accessor :territory
3400
+
3401
+ def initialize(**args)
3402
+ update!(**args)
3403
+ end
3404
+
3405
+ # Update properties of this object
3406
+ def update!(**args)
3407
+ @conflicting_ownership = args[:conflicting_ownership] if args.key?(:conflicting_ownership)
3408
+ @territory = args[:territory] if args.key?(:territory)
3409
+ end
3410
+ end
3411
+
3412
+ #
3413
+ class TerritoryOwners
3414
+ include Google::Apis::Core::Hashable
3415
+
3416
+ # The name of the asset's owner or rights administrator.
3417
+ # Corresponds to the JSON property `owner`
3418
+ # @return [String]
3419
+ attr_accessor :owner
3420
+
3421
+ # The name of the asset's publisher. This field is only used for composition
3422
+ # assets, and it is used when the asset owner is not known to have a formal
3423
+ # relationship established with YouTube.
3424
+ # Corresponds to the JSON property `publisher`
3425
+ # @return [String]
3426
+ attr_accessor :publisher
3427
+
3428
+ # The percentage of the asset that the owner controls or administers. For
3429
+ # composition assets, the value can be any value between 0 and 100 inclusive.
3430
+ # For all other assets, the only valid values are 100, which indicates that the
3431
+ # owner completely owns the asset in the specified territories, and 0, which
3432
+ # indicates that you are removing ownership of the asset in the specified
3433
+ # territories.
3434
+ # Corresponds to the JSON property `ratio`
3435
+ # @return [Float]
3436
+ attr_accessor :ratio
3437
+
3438
+ # A list of territories where the owner owns (or does not own) the asset. Each
3439
+ # territory is an ISO 3166 two-letter country code..
3440
+ # Corresponds to the JSON property `territories`
3441
+ # @return [Array<String>]
3442
+ attr_accessor :territories
3443
+
3444
+ # This field indicates whether the ownership data applies or does not apply in
3445
+ # the specified territories.
3446
+ # Corresponds to the JSON property `type`
3447
+ # @return [String]
3448
+ attr_accessor :type
3449
+
3450
+ def initialize(**args)
3451
+ update!(**args)
3452
+ end
3453
+
3454
+ # Update properties of this object
3455
+ def update!(**args)
3456
+ @owner = args[:owner] if args.key?(:owner)
3457
+ @publisher = args[:publisher] if args.key?(:publisher)
3458
+ @ratio = args[:ratio] if args.key?(:ratio)
3459
+ @territories = args[:territories] if args.key?(:territories)
3460
+ @type = args[:type] if args.key?(:type)
3461
+ end
3462
+ end
3463
+
3464
+ #
3465
+ class VideoAdvertisingOption
3466
+ include Google::Apis::Core::Hashable
3467
+
3468
+ # A list of times when YouTube can show an in-stream advertisement during
3469
+ # playback of the video.
3470
+ # Corresponds to the JSON property `adBreaks`
3471
+ # @return [Array<Google::Apis::YoutubePartnerV1::AdBreak>]
3472
+ attr_accessor :ad_breaks
3473
+
3474
+ # A list of ad formats that the video is allowed to show.
3475
+ # Corresponds to the JSON property `adFormats`
3476
+ # @return [Array<String>]
3477
+ attr_accessor :ad_formats
3478
+
3479
+ # Enables this video for automatically generated midroll breaks.
3480
+ # Corresponds to the JSON property `autoGeneratedBreaks`
3481
+ # @return [Boolean]
3482
+ attr_accessor :auto_generated_breaks
3483
+ alias_method :auto_generated_breaks?, :auto_generated_breaks
3484
+
3485
+ # The point at which the break occurs during the video playback.
3486
+ # Corresponds to the JSON property `breakPosition`
3487
+ # @return [Array<String>]
3488
+ attr_accessor :break_position
3489
+
3490
+ # The ID that YouTube uses to uniquely identify the video associated with the
3491
+ # advertising settings.
3492
+ # Corresponds to the JSON property `id`
3493
+ # @return [String]
3494
+ attr_accessor :id
3495
+
3496
+ # The type of the API resource. For this resource, the value is youtubePartner#
3497
+ # videoAdvertisingOption.
3498
+ # Corresponds to the JSON property `kind`
3499
+ # @return [String]
3500
+ attr_accessor :kind
3501
+
3502
+ # A value that uniquely identifies the video to the third-party ad server.
3503
+ # Corresponds to the JSON property `tpAdServerVideoId`
3504
+ # @return [String]
3505
+ attr_accessor :tp_ad_server_video_id
3506
+
3507
+ # The base URL for a third-party ad server from which YouTube can retrieve in-
3508
+ # stream ads for the video.
3509
+ # Corresponds to the JSON property `tpTargetingUrl`
3510
+ # @return [String]
3511
+ attr_accessor :tp_targeting_url
3512
+
3513
+ # A parameter string to append to the end of the request to the third-party ad
3514
+ # server.
3515
+ # Corresponds to the JSON property `tpUrlParameters`
3516
+ # @return [String]
3517
+ attr_accessor :tp_url_parameters
3518
+
3519
+ def initialize(**args)
3520
+ update!(**args)
3521
+ end
3522
+
3523
+ # Update properties of this object
3524
+ def update!(**args)
3525
+ @ad_breaks = args[:ad_breaks] if args.key?(:ad_breaks)
3526
+ @ad_formats = args[:ad_formats] if args.key?(:ad_formats)
3527
+ @auto_generated_breaks = args[:auto_generated_breaks] if args.key?(:auto_generated_breaks)
3528
+ @break_position = args[:break_position] if args.key?(:break_position)
3529
+ @id = args[:id] if args.key?(:id)
3530
+ @kind = args[:kind] if args.key?(:kind)
3531
+ @tp_ad_server_video_id = args[:tp_ad_server_video_id] if args.key?(:tp_ad_server_video_id)
3532
+ @tp_targeting_url = args[:tp_targeting_url] if args.key?(:tp_targeting_url)
3533
+ @tp_url_parameters = args[:tp_url_parameters] if args.key?(:tp_url_parameters)
3534
+ end
3535
+ end
3536
+
3537
+ #
3538
+ class VideoAdvertisingOptionGetEnabledAdsResponse
3539
+ include Google::Apis::Core::Hashable
3540
+
3541
+ # A list of ad breaks that occur in a claimed YouTube video.
3542
+ # Corresponds to the JSON property `adBreaks`
3543
+ # @return [Array<Google::Apis::YoutubePartnerV1::AdBreak>]
3544
+ attr_accessor :ad_breaks
3545
+
3546
+ # This field indicates whether YouTube can show ads when the video is played in
3547
+ # an embedded player.
3548
+ # Corresponds to the JSON property `adsOnEmbeds`
3549
+ # @return [Boolean]
3550
+ attr_accessor :ads_on_embeds
3551
+ alias_method :ads_on_embeds?, :ads_on_embeds
3552
+
3553
+ # A list that identifies the countries where ads can run and the types of ads
3554
+ # allowed in those countries.
3555
+ # Corresponds to the JSON property `countriesRestriction`
3556
+ # @return [Array<Google::Apis::YoutubePartnerV1::CountriesRestriction>]
3557
+ attr_accessor :countries_restriction
3558
+
3559
+ # The ID that YouTube uses to uniquely identify the claimed video.
3560
+ # Corresponds to the JSON property `id`
3561
+ # @return [String]
3562
+ attr_accessor :id
3563
+
3564
+ # The type of the API resource. For this resource, the value is youtubePartner#
3565
+ # videoAdvertisingOptionGetEnabledAds.
3566
+ # Corresponds to the JSON property `kind`
3567
+ # @return [String]
3568
+ attr_accessor :kind
3569
+
3570
+ def initialize(**args)
3571
+ update!(**args)
3572
+ end
3573
+
3574
+ # Update properties of this object
3575
+ def update!(**args)
3576
+ @ad_breaks = args[:ad_breaks] if args.key?(:ad_breaks)
3577
+ @ads_on_embeds = args[:ads_on_embeds] if args.key?(:ads_on_embeds)
3578
+ @countries_restriction = args[:countries_restriction] if args.key?(:countries_restriction)
3579
+ @id = args[:id] if args.key?(:id)
3580
+ @kind = args[:kind] if args.key?(:kind)
3581
+ end
3582
+ end
3583
+
3584
+ #
3585
+ class Whitelist
3586
+ include Google::Apis::Core::Hashable
3587
+
3588
+ # The YouTube channel ID that uniquely identifies the whitelisted channel.
3589
+ # Corresponds to the JSON property `id`
3590
+ # @return [String]
3591
+ attr_accessor :id
3592
+
3593
+ # The type of the API resource. For whitelist resources, this value is
3594
+ # youtubePartner#whitelist.
3595
+ # Corresponds to the JSON property `kind`
3596
+ # @return [String]
3597
+ attr_accessor :kind
3598
+
3599
+ # Title of the whitelisted YouTube channel.
3600
+ # Corresponds to the JSON property `title`
3601
+ # @return [String]
3602
+ attr_accessor :title
3603
+
3604
+ def initialize(**args)
3605
+ update!(**args)
3606
+ end
3607
+
3608
+ # Update properties of this object
3609
+ def update!(**args)
3610
+ @id = args[:id] if args.key?(:id)
3611
+ @kind = args[:kind] if args.key?(:kind)
3612
+ @title = args[:title] if args.key?(:title)
3613
+ end
3614
+ end
3615
+
3616
+ #
3617
+ class WhitelistListResponse
3618
+ include Google::Apis::Core::Hashable
3619
+
3620
+ # A list of whitelist resources that match the request criteria.
3621
+ # Corresponds to the JSON property `items`
3622
+ # @return [Array<Google::Apis::YoutubePartnerV1::Whitelist>]
3623
+ attr_accessor :items
3624
+
3625
+ # The type of the API response. For this operation, the value is youtubePartner#
3626
+ # whitelistList.
3627
+ # Corresponds to the JSON property `kind`
3628
+ # @return [String]
3629
+ attr_accessor :kind
3630
+
3631
+ # The token that can be used as the value of the pageToken parameter to retrieve
3632
+ # the next page of results.
3633
+ # Corresponds to the JSON property `nextPageToken`
3634
+ # @return [String]
3635
+ attr_accessor :next_page_token
3636
+
3637
+ # The pageInfo object encapsulates paging information for the result set.
3638
+ # Corresponds to the JSON property `pageInfo`
3639
+ # @return [Google::Apis::YoutubePartnerV1::PageInfo]
3640
+ attr_accessor :page_info
3641
+
3642
+ def initialize(**args)
3643
+ update!(**args)
3644
+ end
3645
+
3646
+ # Update properties of this object
3647
+ def update!(**args)
3648
+ @items = args[:items] if args.key?(:items)
3649
+ @kind = args[:kind] if args.key?(:kind)
3650
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3651
+ @page_info = args[:page_info] if args.key?(:page_info)
3652
+ end
3653
+ end
3654
+ end
3655
+ end
3656
+ end