google-api-client 0.9.4 → 0.9.5

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