google-api-client 0.9.1 → 0.9.2

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 (181) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +11 -2
  4. data/api_names.yaml +76 -43
  5. data/api_names_out.yaml +3853 -3508
  6. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +151 -151
  7. data/generated/google/apis/adexchangebuyer_v1_4.rb +35 -0
  8. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +2785 -0
  9. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1033 -0
  10. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +1378 -0
  11. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +79 -79
  12. data/generated/google/apis/admin_datatransfer_v1/classes.rb +26 -26
  13. data/generated/google/apis/admin_directory_v1/classes.rb +374 -374
  14. data/generated/google/apis/admin_reports_v1/classes.rb +63 -63
  15. data/generated/google/apis/adsense_v1_4.rb +1 -1
  16. data/generated/google/apis/adsense_v1_4/classes.rb +145 -143
  17. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  18. data/generated/google/apis/adsensehost_v4_1/classes.rb +95 -92
  19. data/generated/google/apis/analytics_v3/classes.rb +582 -582
  20. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  21. data/generated/google/apis/androidenterprise_v1/classes.rb +132 -132
  22. data/generated/google/apis/androidenterprise_v1/service.rb +9 -8
  23. data/generated/google/apis/androidpublisher_v2/classes.rb +122 -122
  24. data/generated/google/apis/appengine_v1beta4.rb +1 -1
  25. data/generated/google/apis/appengine_v1beta4/classes.rb +195 -142
  26. data/generated/google/apis/appengine_v1beta4/representations.rb +16 -0
  27. data/generated/google/apis/appengine_v1beta4/service.rb +3 -2
  28. data/generated/google/apis/appengine_v1beta5.rb +35 -0
  29. data/generated/google/apis/appengine_v1beta5/classes.rb +1523 -0
  30. data/generated/google/apis/appengine_v1beta5/representations.rb +525 -0
  31. data/generated/google/apis/appengine_v1beta5/service.rb +478 -0
  32. data/generated/google/apis/appsactivity_v1/classes.rb +34 -34
  33. data/generated/google/apis/appstate_v1.rb +1 -1
  34. data/generated/google/apis/appstate_v1/classes.rb +12 -12
  35. data/generated/google/apis/autoscaler_v1beta2/classes.rb +82 -82
  36. data/generated/google/apis/bigquery_v2.rb +1 -1
  37. data/generated/google/apis/bigquery_v2/classes.rb +266 -265
  38. data/generated/google/apis/blogger_v3/classes.rb +145 -145
  39. data/generated/google/apis/books_v1.rb +1 -1
  40. data/generated/google/apis/books_v1/classes.rb +431 -431
  41. data/generated/google/apis/books_v1/service.rb +3 -12
  42. data/generated/google/apis/calendar_v3.rb +1 -1
  43. data/generated/google/apis/calendar_v3/classes.rb +180 -180
  44. data/generated/google/apis/civicinfo_v2/classes.rb +125 -125
  45. data/generated/google/apis/classroom_v1/classes.rb +42 -42
  46. data/generated/google/apis/cloudbilling_v1/classes.rb +11 -11
  47. data/generated/google/apis/{mapsengine_v1.rb → cloudbuild_v1.rb} +11 -14
  48. data/generated/google/apis/cloudbuild_v1/classes.rb +521 -0
  49. data/generated/google/apis/cloudbuild_v1/representations.rb +190 -0
  50. data/generated/google/apis/cloudbuild_v1/service.rb +278 -0
  51. data/generated/google/apis/clouddebugger_v2/classes.rb +81 -81
  52. data/generated/google/apis/cloudlatencytest_v2.rb +34 -0
  53. data/generated/google/apis/cloudlatencytest_v2/classes.rb +195 -0
  54. data/generated/google/apis/cloudlatencytest_v2/representations.rb +113 -0
  55. data/generated/google/apis/cloudlatencytest_v2/service.rb +135 -0
  56. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  57. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +55 -55
  58. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +26 -26
  59. data/generated/google/apis/cloudtrace_v1/classes.rb +13 -13
  60. data/generated/google/apis/clouduseraccounts_beta/classes.rb +85 -85
  61. data/generated/google/apis/compute_beta.rb +1 -1
  62. data/generated/google/apis/compute_beta/classes.rb +1051 -998
  63. data/generated/google/apis/compute_beta/representations.rb +1 -0
  64. data/generated/google/apis/compute_beta/service.rb +426 -366
  65. data/generated/google/apis/compute_v1.rb +1 -1
  66. data/generated/google/apis/compute_v1/classes.rb +1332 -946
  67. data/generated/google/apis/compute_v1/representations.rb +108 -0
  68. data/generated/google/apis/compute_v1/service.rb +686 -318
  69. data/generated/google/apis/container_v1/classes.rb +43 -43
  70. data/generated/google/apis/content_v2.rb +1 -1
  71. data/generated/google/apis/content_v2/classes.rb +767 -639
  72. data/generated/google/apis/content_v2/representations.rb +40 -0
  73. data/generated/google/apis/coordinate_v1/classes.rb +66 -66
  74. data/generated/google/apis/customsearch_v1/classes.rb +96 -96
  75. data/generated/google/apis/dataproc_v1.rb +43 -0
  76. data/generated/google/apis/dataproc_v1/classes.rb +175 -0
  77. data/generated/google/apis/dataproc_v1/representations.rb +84 -0
  78. data/generated/google/apis/dataproc_v1/service.rb +142 -0
  79. data/generated/google/apis/datastore_v1beta2/classes.rb +105 -105
  80. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  81. data/generated/google/apis/deploymentmanager_v2/classes.rb +183 -112
  82. data/generated/google/apis/deploymentmanager_v2/representations.rb +28 -0
  83. data/generated/google/apis/deploymentmanager_v2/service.rb +42 -37
  84. data/generated/google/apis/dfareporting_v2_3.rb +37 -0
  85. data/generated/google/apis/dfareporting_v2_3/classes.rb +10830 -0
  86. data/generated/google/apis/dfareporting_v2_3/representations.rb +3443 -0
  87. data/generated/google/apis/dfareporting_v2_3/service.rb +8581 -0
  88. data/generated/google/apis/discovery_v1/classes.rb +106 -106
  89. data/generated/google/apis/dns_v1/classes.rb +39 -39
  90. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  91. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +155 -69
  92. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +31 -0
  93. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +33 -0
  94. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  95. data/generated/google/apis/doubleclicksearch_v2/classes.rb +106 -104
  96. data/generated/google/apis/drive_v2.rb +1 -1
  97. data/generated/google/apis/drive_v2/classes.rb +308 -308
  98. data/generated/google/apis/drive_v2/service.rb +44 -0
  99. data/generated/google/apis/drive_v3.rb +1 -1
  100. data/generated/google/apis/drive_v3/classes.rb +178 -178
  101. data/generated/google/apis/drive_v3/service.rb +2 -1
  102. data/generated/google/apis/fitness_v1/classes.rb +74 -74
  103. data/generated/google/apis/fusiontables_v2/classes.rb +108 -108
  104. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  105. data/generated/google/apis/games_configuration_v1configuration/classes.rb +52 -52
  106. data/generated/google/apis/games_management_v1management.rb +2 -2
  107. data/generated/google/apis/games_management_v1management/classes.rb +55 -46
  108. data/generated/google/apis/games_management_v1management/representations.rb +1 -0
  109. data/generated/google/apis/games_v1.rb +2 -2
  110. data/generated/google/apis/games_v1/classes.rb +484 -475
  111. data/generated/google/apis/games_v1/representations.rb +1 -0
  112. data/generated/google/apis/gan_v1beta1/classes.rb +187 -187
  113. data/generated/google/apis/genomics_v1.rb +2 -2
  114. data/generated/google/apis/genomics_v1/classes.rb +441 -232
  115. data/generated/google/apis/genomics_v1/representations.rb +85 -0
  116. data/generated/google/apis/genomics_v1/service.rb +1 -1
  117. data/generated/google/apis/gmail_v1/classes.rb +73 -73
  118. data/generated/google/apis/groupsmigration_v1/classes.rb +2 -2
  119. data/generated/google/apis/groupssettings_v1/classes.rb +28 -28
  120. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  121. data/generated/google/apis/identitytoolkit_v3/classes.rb +232 -166
  122. data/generated/google/apis/identitytoolkit_v3/representations.rb +10 -0
  123. data/generated/google/apis/kgsearch_v1/classes.rb +3 -3
  124. data/generated/google/apis/licensing_v1/classes.rb +11 -11
  125. data/generated/google/apis/logging_v2beta1.rb +47 -0
  126. data/generated/google/apis/logging_v2beta1/classes.rb +990 -0
  127. data/generated/google/apis/logging_v2beta1/representations.rb +337 -0
  128. data/generated/google/apis/logging_v2beta1/service.rb +547 -0
  129. data/generated/google/apis/manager_v1beta2/classes.rb +125 -125
  130. data/generated/google/apis/mirror_v1/classes.rb +101 -101
  131. data/generated/google/apis/oauth2_v2.rb +2 -2
  132. data/generated/google/apis/oauth2_v2/classes.rb +27 -27
  133. data/generated/google/apis/pagespeedonline_v2/classes.rb +62 -62
  134. data/generated/google/apis/partners_v2/classes.rb +87 -87
  135. data/generated/google/apis/people_v1.rb +59 -0
  136. data/generated/google/apis/people_v1/classes.rb +1594 -0
  137. data/generated/google/apis/people_v1/representations.rb +593 -0
  138. data/generated/google/apis/people_v1/service.rb +193 -0
  139. data/generated/google/apis/plus_domains_v1.rb +2 -2
  140. data/generated/google/apis/plus_domains_v1/classes.rb +274 -274
  141. data/generated/google/apis/plus_v1.rb +2 -2
  142. data/generated/google/apis/plus_v1/classes.rb +215 -215
  143. data/generated/google/apis/prediction_v1_6/classes.rb +73 -73
  144. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +45 -45
  145. data/generated/google/apis/pubsub_v1/classes.rb +36 -36
  146. data/generated/google/apis/qpx_express_v1/classes.rb +135 -135
  147. data/generated/google/apis/replicapool_v1beta2/classes.rb +63 -63
  148. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +76 -76
  149. data/generated/google/apis/reseller_v1.rb +1 -1
  150. data/generated/google/apis/reseller_v1/classes.rb +55 -55
  151. data/generated/google/apis/reseller_v1/service.rb +1 -1
  152. data/generated/google/apis/resourceviews_v1beta2/classes.rb +68 -68
  153. data/generated/google/apis/script_v1/classes.rb +18 -18
  154. data/generated/google/apis/site_verification_v1/classes.rb +12 -12
  155. data/generated/google/apis/sqladmin_v1beta4/classes.rb +203 -203
  156. data/generated/google/apis/storage_v1.rb +1 -1
  157. data/generated/google/apis/storage_v1/classes.rb +130 -130
  158. data/generated/google/apis/storagetransfer_v1/classes.rb +84 -84
  159. data/generated/google/apis/tagmanager_v1/classes.rb +154 -154
  160. data/generated/google/apis/taskqueue_v1beta2/classes.rb +24 -24
  161. data/generated/google/apis/tasks_v1/classes.rb +32 -32
  162. data/generated/google/apis/translate_v2/classes.rb +10 -10
  163. data/generated/google/apis/urlshortener_v1/classes.rb +24 -24
  164. data/generated/google/apis/webmasters_v3/classes.rb +49 -49
  165. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  166. data/generated/google/apis/youtube_analytics_v1/classes.rb +49 -49
  167. data/generated/google/apis/youtube_v3.rb +1 -1
  168. data/generated/google/apis/youtube_v3/classes.rb +882 -895
  169. data/generated/google/apis/youtube_v3/representations.rb +2 -13
  170. data/generated/google/apis/youtubereporting_v1/classes.rb +19 -19
  171. data/lib/google/apis/core/api_command.rb +1 -1
  172. data/lib/google/apis/core/upload.rb +1 -1
  173. data/lib/google/apis/generator/templates/_class.tmpl +1 -1
  174. data/lib/google/apis/version.rb +1 -1
  175. data/samples/cli/lib/base_cli.rb +2 -1
  176. data/samples/cli/lib/samples/androidpublisher.rb +47 -0
  177. data/script/generate +17 -13
  178. metadata +35 -6
  179. data/generated/google/apis/mapsengine_v1/classes.rb +0 -2873
  180. data/generated/google/apis/mapsengine_v1/representations.rb +0 -1235
  181. data/generated/google/apis/mapsengine_v1/service.rb +0 -3388
@@ -0,0 +1,35 @@
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/adexchangebuyer_v1_4/service.rb'
16
+ require 'google/apis/adexchangebuyer_v1_4/classes.rb'
17
+ require 'google/apis/adexchangebuyer_v1_4/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Ad Exchange Buyer API
22
+ #
23
+ # Accesses your bidding-account information, submits creatives for validation,
24
+ # finds available direct deals, and retrieves performance reports.
25
+ #
26
+ # @see https://developers.google.com/ad-exchange/buyer-rest
27
+ module AdexchangebuyerV1_4
28
+ VERSION = 'V1_4'
29
+ REVISION = '20160118'
30
+
31
+ # Manage your Ad Exchange buyer account configuration
32
+ AUTH_ADEXCHANGE_BUYER = 'https://www.googleapis.com/auth/adexchange.buyer'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,2785 @@
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 AdexchangebuyerV1_4
24
+
25
+ # Configuration data for an Ad Exchange buyer account.
26
+ class Account
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Your bidder locations that have distinct URLs.
30
+ # Corresponds to the JSON property `bidderLocation`
31
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Account::BidderLocation>]
32
+ attr_accessor :bidder_location
33
+
34
+ # The nid parameter value used in cookie match requests. Please contact your
35
+ # technical account manager if you need to change this.
36
+ # Corresponds to the JSON property `cookieMatchingNid`
37
+ # @return [String]
38
+ attr_accessor :cookie_matching_nid
39
+
40
+ # The base URL used in cookie match requests.
41
+ # Corresponds to the JSON property `cookieMatchingUrl`
42
+ # @return [String]
43
+ attr_accessor :cookie_matching_url
44
+
45
+ # Account id.
46
+ # Corresponds to the JSON property `id`
47
+ # @return [Fixnum]
48
+ attr_accessor :id
49
+
50
+ # Resource type.
51
+ # Corresponds to the JSON property `kind`
52
+ # @return [String]
53
+ attr_accessor :kind
54
+
55
+ # The maximum number of active creatives that an account can have, where a
56
+ # creative is active if it was inserted or bid with in the last 30 days. Please
57
+ # contact your technical account manager if you need to change this.
58
+ # Corresponds to the JSON property `maximumActiveCreatives`
59
+ # @return [Fixnum]
60
+ attr_accessor :maximum_active_creatives
61
+
62
+ # The sum of all bidderLocation.maximumQps values cannot exceed this. Please
63
+ # contact your technical account manager if you need to change this.
64
+ # Corresponds to the JSON property `maximumTotalQps`
65
+ # @return [Fixnum]
66
+ attr_accessor :maximum_total_qps
67
+
68
+ # The number of creatives that this account inserted or bid with in the last 30
69
+ # days.
70
+ # Corresponds to the JSON property `numberActiveCreatives`
71
+ # @return [Fixnum]
72
+ attr_accessor :number_active_creatives
73
+
74
+ def initialize(**args)
75
+ update!(**args)
76
+ end
77
+
78
+ # Update properties of this object
79
+ def update!(**args)
80
+ @bidder_location = args[:bidder_location] if args.key?(:bidder_location)
81
+ @cookie_matching_nid = args[:cookie_matching_nid] if args.key?(:cookie_matching_nid)
82
+ @cookie_matching_url = args[:cookie_matching_url] if args.key?(:cookie_matching_url)
83
+ @id = args[:id] if args.key?(:id)
84
+ @kind = args[:kind] if args.key?(:kind)
85
+ @maximum_active_creatives = args[:maximum_active_creatives] if args.key?(:maximum_active_creatives)
86
+ @maximum_total_qps = args[:maximum_total_qps] if args.key?(:maximum_total_qps)
87
+ @number_active_creatives = args[:number_active_creatives] if args.key?(:number_active_creatives)
88
+ end
89
+
90
+ #
91
+ class BidderLocation
92
+ include Google::Apis::Core::Hashable
93
+
94
+ # The maximum queries per second the Ad Exchange will send.
95
+ # Corresponds to the JSON property `maximumQps`
96
+ # @return [Fixnum]
97
+ attr_accessor :maximum_qps
98
+
99
+ # The geographical region the Ad Exchange should send requests from. Only used
100
+ # by some quota systems, but always setting the value is recommended. Allowed
101
+ # values:
102
+ # - ASIA
103
+ # - EUROPE
104
+ # - US_EAST
105
+ # - US_WEST
106
+ # Corresponds to the JSON property `region`
107
+ # @return [String]
108
+ attr_accessor :region
109
+
110
+ # The URL to which the Ad Exchange will send bid requests.
111
+ # Corresponds to the JSON property `url`
112
+ # @return [String]
113
+ attr_accessor :url
114
+
115
+ def initialize(**args)
116
+ update!(**args)
117
+ end
118
+
119
+ # Update properties of this object
120
+ def update!(**args)
121
+ @maximum_qps = args[:maximum_qps] if args.key?(:maximum_qps)
122
+ @region = args[:region] if args.key?(:region)
123
+ @url = args[:url] if args.key?(:url)
124
+ end
125
+ end
126
+ end
127
+
128
+ # An account feed lists Ad Exchange buyer accounts that the user has access to.
129
+ # Each entry in the feed corresponds to a single buyer account.
130
+ class AccountsList
131
+ include Google::Apis::Core::Hashable
132
+
133
+ # A list of accounts.
134
+ # Corresponds to the JSON property `items`
135
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Account>]
136
+ attr_accessor :items
137
+
138
+ # Resource type.
139
+ # Corresponds to the JSON property `kind`
140
+ # @return [String]
141
+ attr_accessor :kind
142
+
143
+ def initialize(**args)
144
+ update!(**args)
145
+ end
146
+
147
+ # Update properties of this object
148
+ def update!(**args)
149
+ @items = args[:items] if args.key?(:items)
150
+ @kind = args[:kind] if args.key?(:kind)
151
+ end
152
+ end
153
+
154
+ #
155
+ class AddOrderDealsRequest
156
+ include Google::Apis::Core::Hashable
157
+
158
+ # The list of deals to add
159
+ # Corresponds to the JSON property `deals`
160
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
161
+ attr_accessor :deals
162
+
163
+ # The last known proposal revision number.
164
+ # Corresponds to the JSON property `proposalRevisionNumber`
165
+ # @return [String]
166
+ attr_accessor :proposal_revision_number
167
+
168
+ # Indicates an optional action to take on the proposal
169
+ # Corresponds to the JSON property `updateAction`
170
+ # @return [String]
171
+ attr_accessor :update_action
172
+
173
+ def initialize(**args)
174
+ update!(**args)
175
+ end
176
+
177
+ # Update properties of this object
178
+ def update!(**args)
179
+ @deals = args[:deals] if args.key?(:deals)
180
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
181
+ @update_action = args[:update_action] if args.key?(:update_action)
182
+ end
183
+ end
184
+
185
+ #
186
+ class AddOrderDealsResponse
187
+ include Google::Apis::Core::Hashable
188
+
189
+ # List of deals added (in the same proposal as passed in the request)
190
+ # Corresponds to the JSON property `deals`
191
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
192
+ attr_accessor :deals
193
+
194
+ # The updated revision number for the proposal.
195
+ # Corresponds to the JSON property `proposalRevisionNumber`
196
+ # @return [String]
197
+ attr_accessor :proposal_revision_number
198
+
199
+ def initialize(**args)
200
+ update!(**args)
201
+ end
202
+
203
+ # Update properties of this object
204
+ def update!(**args)
205
+ @deals = args[:deals] if args.key?(:deals)
206
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
207
+ end
208
+ end
209
+
210
+ #
211
+ class AddOrderNotesRequest
212
+ include Google::Apis::Core::Hashable
213
+
214
+ # The list of notes to add.
215
+ # Corresponds to the JSON property `notes`
216
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceNote>]
217
+ attr_accessor :notes
218
+
219
+ def initialize(**args)
220
+ update!(**args)
221
+ end
222
+
223
+ # Update properties of this object
224
+ def update!(**args)
225
+ @notes = args[:notes] if args.key?(:notes)
226
+ end
227
+ end
228
+
229
+ #
230
+ class AddOrderNotesResponse
231
+ include Google::Apis::Core::Hashable
232
+
233
+ #
234
+ # Corresponds to the JSON property `notes`
235
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceNote>]
236
+ attr_accessor :notes
237
+
238
+ def initialize(**args)
239
+ update!(**args)
240
+ end
241
+
242
+ # Update properties of this object
243
+ def update!(**args)
244
+ @notes = args[:notes] if args.key?(:notes)
245
+ end
246
+ end
247
+
248
+ # The configuration data for an Ad Exchange billing info.
249
+ class BillingInfo
250
+ include Google::Apis::Core::Hashable
251
+
252
+ # Account id.
253
+ # Corresponds to the JSON property `accountId`
254
+ # @return [Fixnum]
255
+ attr_accessor :account_id
256
+
257
+ # Account name.
258
+ # Corresponds to the JSON property `accountName`
259
+ # @return [String]
260
+ attr_accessor :account_name
261
+
262
+ # A list of adgroup IDs associated with this particular account. These IDs may
263
+ # show up as part of a realtime bidding BidRequest, which indicates a bid
264
+ # request for this account.
265
+ # Corresponds to the JSON property `billingId`
266
+ # @return [Array<String>]
267
+ attr_accessor :billing_id
268
+
269
+ # Resource type.
270
+ # Corresponds to the JSON property `kind`
271
+ # @return [String]
272
+ attr_accessor :kind
273
+
274
+ def initialize(**args)
275
+ update!(**args)
276
+ end
277
+
278
+ # Update properties of this object
279
+ def update!(**args)
280
+ @account_id = args[:account_id] if args.key?(:account_id)
281
+ @account_name = args[:account_name] if args.key?(:account_name)
282
+ @billing_id = args[:billing_id] if args.key?(:billing_id)
283
+ @kind = args[:kind] if args.key?(:kind)
284
+ end
285
+ end
286
+
287
+ # A billing info feed lists Billing Info the Ad Exchange buyer account has
288
+ # access to. Each entry in the feed corresponds to a single billing info.
289
+ class BillingInfoList
290
+ include Google::Apis::Core::Hashable
291
+
292
+ # A list of billing info relevant for your account.
293
+ # Corresponds to the JSON property `items`
294
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::BillingInfo>]
295
+ attr_accessor :items
296
+
297
+ # Resource type.
298
+ # Corresponds to the JSON property `kind`
299
+ # @return [String]
300
+ attr_accessor :kind
301
+
302
+ def initialize(**args)
303
+ update!(**args)
304
+ end
305
+
306
+ # Update properties of this object
307
+ def update!(**args)
308
+ @items = args[:items] if args.key?(:items)
309
+ @kind = args[:kind] if args.key?(:kind)
310
+ end
311
+ end
312
+
313
+ # The configuration data for Ad Exchange RTB - Budget API.
314
+ class Budget
315
+ include Google::Apis::Core::Hashable
316
+
317
+ # The id of the account. This is required for get and update requests.
318
+ # Corresponds to the JSON property `accountId`
319
+ # @return [String]
320
+ attr_accessor :account_id
321
+
322
+ # The billing id to determine which adgroup to provide budget information for.
323
+ # This is required for get and update requests.
324
+ # Corresponds to the JSON property `billingId`
325
+ # @return [String]
326
+ attr_accessor :billing_id
327
+
328
+ # The daily budget amount in unit amount of the account currency to apply for
329
+ # the billingId provided. This is required for update requests.
330
+ # Corresponds to the JSON property `budgetAmount`
331
+ # @return [String]
332
+ attr_accessor :budget_amount
333
+
334
+ # The currency code for the buyer. This cannot be altered here.
335
+ # Corresponds to the JSON property `currencyCode`
336
+ # @return [String]
337
+ attr_accessor :currency_code
338
+
339
+ # The unique id that describes this item.
340
+ # Corresponds to the JSON property `id`
341
+ # @return [String]
342
+ attr_accessor :id
343
+
344
+ # The kind of the resource, i.e. "adexchangebuyer#budget".
345
+ # Corresponds to the JSON property `kind`
346
+ # @return [String]
347
+ attr_accessor :kind
348
+
349
+ def initialize(**args)
350
+ update!(**args)
351
+ end
352
+
353
+ # Update properties of this object
354
+ def update!(**args)
355
+ @account_id = args[:account_id] if args.key?(:account_id)
356
+ @billing_id = args[:billing_id] if args.key?(:billing_id)
357
+ @budget_amount = args[:budget_amount] if args.key?(:budget_amount)
358
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
359
+ @id = args[:id] if args.key?(:id)
360
+ @kind = args[:kind] if args.key?(:kind)
361
+ end
362
+ end
363
+
364
+ #
365
+ class Buyer
366
+ include Google::Apis::Core::Hashable
367
+
368
+ # Adx account id of the buyer.
369
+ # Corresponds to the JSON property `accountId`
370
+ # @return [String]
371
+ attr_accessor :account_id
372
+
373
+ def initialize(**args)
374
+ update!(**args)
375
+ end
376
+
377
+ # Update properties of this object
378
+ def update!(**args)
379
+ @account_id = args[:account_id] if args.key?(:account_id)
380
+ end
381
+ end
382
+
383
+ #
384
+ class ContactInformation
385
+ include Google::Apis::Core::Hashable
386
+
387
+ # Email address of the contact.
388
+ # Corresponds to the JSON property `email`
389
+ # @return [String]
390
+ attr_accessor :email
391
+
392
+ # The name of the contact.
393
+ # Corresponds to the JSON property `name`
394
+ # @return [String]
395
+ attr_accessor :name
396
+
397
+ def initialize(**args)
398
+ update!(**args)
399
+ end
400
+
401
+ # Update properties of this object
402
+ def update!(**args)
403
+ @email = args[:email] if args.key?(:email)
404
+ @name = args[:name] if args.key?(:name)
405
+ end
406
+ end
407
+
408
+ #
409
+ class CreateOrdersRequest
410
+ include Google::Apis::Core::Hashable
411
+
412
+ # The list of proposals to create.
413
+ # Corresponds to the JSON property `proposals`
414
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Proposal>]
415
+ attr_accessor :proposals
416
+
417
+ #
418
+ # Corresponds to the JSON property `webPropertyCode`
419
+ # @return [String]
420
+ attr_accessor :web_property_code
421
+
422
+ def initialize(**args)
423
+ update!(**args)
424
+ end
425
+
426
+ # Update properties of this object
427
+ def update!(**args)
428
+ @proposals = args[:proposals] if args.key?(:proposals)
429
+ @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
430
+ end
431
+ end
432
+
433
+ #
434
+ class CreateOrdersResponse
435
+ include Google::Apis::Core::Hashable
436
+
437
+ # The list of proposals successfully created.
438
+ # Corresponds to the JSON property `proposals`
439
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Proposal>]
440
+ attr_accessor :proposals
441
+
442
+ def initialize(**args)
443
+ update!(**args)
444
+ end
445
+
446
+ # Update properties of this object
447
+ def update!(**args)
448
+ @proposals = args[:proposals] if args.key?(:proposals)
449
+ end
450
+ end
451
+
452
+ # A creative and its classification data.
453
+ class Creative
454
+ include Google::Apis::Core::Hashable
455
+
456
+ # The HTML snippet that displays the ad when inserted in the web page. If set,
457
+ # videoURL should not be set.
458
+ # Corresponds to the JSON property `HTMLSnippet`
459
+ # @return [String]
460
+ attr_accessor :html_snippet
461
+
462
+ # Account id.
463
+ # Corresponds to the JSON property `accountId`
464
+ # @return [Fixnum]
465
+ attr_accessor :account_id
466
+
467
+ # Detected advertiser id, if any. Read-only. This field should not be set in
468
+ # requests.
469
+ # Corresponds to the JSON property `advertiserId`
470
+ # @return [Array<String>]
471
+ attr_accessor :advertiser_id
472
+
473
+ # The name of the company being advertised in the creative.
474
+ # Corresponds to the JSON property `advertiserName`
475
+ # @return [String]
476
+ attr_accessor :advertiser_name
477
+
478
+ # The agency id for this creative.
479
+ # Corresponds to the JSON property `agencyId`
480
+ # @return [String]
481
+ attr_accessor :agency_id
482
+
483
+ # The last upload timestamp of this creative if it was uploaded via API. Read-
484
+ # only. The value of this field is generated, and will be ignored for uploads. (
485
+ # formatted RFC 3339 timestamp).
486
+ # Corresponds to the JSON property `apiUploadTimestamp`
487
+ # @return [DateTime]
488
+ attr_accessor :api_upload_timestamp
489
+
490
+ # All attributes for the ads that may be shown from this snippet.
491
+ # Corresponds to the JSON property `attribute`
492
+ # @return [Array<Fixnum>]
493
+ attr_accessor :attribute
494
+
495
+ # A buyer-specific id identifying the creative in this ad.
496
+ # Corresponds to the JSON property `buyerCreativeId`
497
+ # @return [String]
498
+ attr_accessor :buyer_creative_id
499
+
500
+ # The set of destination urls for the snippet.
501
+ # Corresponds to the JSON property `clickThroughUrl`
502
+ # @return [Array<String>]
503
+ attr_accessor :click_through_url
504
+
505
+ # Shows any corrections that were applied to this creative. Read-only. This
506
+ # field should not be set in requests.
507
+ # Corresponds to the JSON property `corrections`
508
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::Correction>]
509
+ attr_accessor :corrections
510
+
511
+ # Top-level deals status. Read-only. This field should not be set in requests.
512
+ # If disapproved, an entry for auctionType=DIRECT_DEALS (or ALL) in
513
+ # servingRestrictions will also exist. Note that this may be nuanced with other
514
+ # contextual restrictions, in which case it may be preferable to read from
515
+ # servingRestrictions directly.
516
+ # Corresponds to the JSON property `dealsStatus`
517
+ # @return [String]
518
+ attr_accessor :deals_status
519
+
520
+ # The filtering reasons for the creative. Read-only. This field should not be
521
+ # set in requests.
522
+ # Corresponds to the JSON property `filteringReasons`
523
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::FilteringReasons]
524
+ attr_accessor :filtering_reasons
525
+
526
+ # Ad height.
527
+ # Corresponds to the JSON property `height`
528
+ # @return [Fixnum]
529
+ attr_accessor :height
530
+
531
+ # The set of urls to be called to record an impression.
532
+ # Corresponds to the JSON property `impressionTrackingUrl`
533
+ # @return [Array<String>]
534
+ attr_accessor :impression_tracking_url
535
+
536
+ # Resource type.
537
+ # Corresponds to the JSON property `kind`
538
+ # @return [String]
539
+ attr_accessor :kind
540
+
541
+ # If nativeAd is set, HTMLSnippet and videoURL should not be set.
542
+ # Corresponds to the JSON property `nativeAd`
543
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd]
544
+ attr_accessor :native_ad
545
+
546
+ # Top-level open auction status. Read-only. This field should not be set in
547
+ # requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in
548
+ # servingRestrictions will also exist. Note that this may be nuanced with other
549
+ # contextual restrictions, in which case it may be preferable to read from
550
+ # ServingRestrictions directly.
551
+ # Corresponds to the JSON property `openAuctionStatus`
552
+ # @return [String]
553
+ attr_accessor :open_auction_status
554
+
555
+ # Detected product categories, if any. Read-only. This field should not be set
556
+ # in requests.
557
+ # Corresponds to the JSON property `productCategories`
558
+ # @return [Array<Fixnum>]
559
+ attr_accessor :product_categories
560
+
561
+ # All restricted categories for the ads that may be shown from this snippet.
562
+ # Corresponds to the JSON property `restrictedCategories`
563
+ # @return [Array<Fixnum>]
564
+ attr_accessor :restricted_categories
565
+
566
+ # Detected sensitive categories, if any. Read-only. This field should not be set
567
+ # in requests.
568
+ # Corresponds to the JSON property `sensitiveCategories`
569
+ # @return [Array<Fixnum>]
570
+ attr_accessor :sensitive_categories
571
+
572
+ # The granular status of this ad in specific contexts. A context here relates to
573
+ # where something ultimately serves (for example, a physical location, a
574
+ # platform, an HTTPS vs HTTP request, or the type of auction). Read-only. This
575
+ # field should not be set in requests.
576
+ # Corresponds to the JSON property `servingRestrictions`
577
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::ServingRestriction>]
578
+ attr_accessor :serving_restrictions
579
+
580
+ # All vendor types for the ads that may be shown from this snippet.
581
+ # Corresponds to the JSON property `vendorType`
582
+ # @return [Array<Fixnum>]
583
+ attr_accessor :vendor_type
584
+
585
+ # The version for this creative. Read-only. This field should not be set in
586
+ # requests.
587
+ # Corresponds to the JSON property `version`
588
+ # @return [Fixnum]
589
+ attr_accessor :version
590
+
591
+ # The url to fetch a video ad. If set, HTMLSnippet should not be set.
592
+ # Corresponds to the JSON property `videoURL`
593
+ # @return [String]
594
+ attr_accessor :video_url
595
+
596
+ # Ad width.
597
+ # Corresponds to the JSON property `width`
598
+ # @return [Fixnum]
599
+ attr_accessor :width
600
+
601
+ def initialize(**args)
602
+ update!(**args)
603
+ end
604
+
605
+ # Update properties of this object
606
+ def update!(**args)
607
+ @html_snippet = args[:html_snippet] if args.key?(:html_snippet)
608
+ @account_id = args[:account_id] if args.key?(:account_id)
609
+ @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
610
+ @advertiser_name = args[:advertiser_name] if args.key?(:advertiser_name)
611
+ @agency_id = args[:agency_id] if args.key?(:agency_id)
612
+ @api_upload_timestamp = args[:api_upload_timestamp] if args.key?(:api_upload_timestamp)
613
+ @attribute = args[:attribute] if args.key?(:attribute)
614
+ @buyer_creative_id = args[:buyer_creative_id] if args.key?(:buyer_creative_id)
615
+ @click_through_url = args[:click_through_url] if args.key?(:click_through_url)
616
+ @corrections = args[:corrections] if args.key?(:corrections)
617
+ @deals_status = args[:deals_status] if args.key?(:deals_status)
618
+ @filtering_reasons = args[:filtering_reasons] if args.key?(:filtering_reasons)
619
+ @height = args[:height] if args.key?(:height)
620
+ @impression_tracking_url = args[:impression_tracking_url] if args.key?(:impression_tracking_url)
621
+ @kind = args[:kind] if args.key?(:kind)
622
+ @native_ad = args[:native_ad] if args.key?(:native_ad)
623
+ @open_auction_status = args[:open_auction_status] if args.key?(:open_auction_status)
624
+ @product_categories = args[:product_categories] if args.key?(:product_categories)
625
+ @restricted_categories = args[:restricted_categories] if args.key?(:restricted_categories)
626
+ @sensitive_categories = args[:sensitive_categories] if args.key?(:sensitive_categories)
627
+ @serving_restrictions = args[:serving_restrictions] if args.key?(:serving_restrictions)
628
+ @vendor_type = args[:vendor_type] if args.key?(:vendor_type)
629
+ @version = args[:version] if args.key?(:version)
630
+ @video_url = args[:video_url] if args.key?(:video_url)
631
+ @width = args[:width] if args.key?(:width)
632
+ end
633
+
634
+ #
635
+ class Correction
636
+ include Google::Apis::Core::Hashable
637
+
638
+ # Additional details about the correction.
639
+ # Corresponds to the JSON property `details`
640
+ # @return [Array<String>]
641
+ attr_accessor :details
642
+
643
+ # The type of correction that was applied to the creative.
644
+ # Corresponds to the JSON property `reason`
645
+ # @return [String]
646
+ attr_accessor :reason
647
+
648
+ def initialize(**args)
649
+ update!(**args)
650
+ end
651
+
652
+ # Update properties of this object
653
+ def update!(**args)
654
+ @details = args[:details] if args.key?(:details)
655
+ @reason = args[:reason] if args.key?(:reason)
656
+ end
657
+ end
658
+
659
+ # The filtering reasons for the creative. Read-only. This field should not be
660
+ # set in requests.
661
+ class FilteringReasons
662
+ include Google::Apis::Core::Hashable
663
+
664
+ # The date in ISO 8601 format for the data. The data is collected from 00:00:00
665
+ # to 23:59:59 in PST.
666
+ # Corresponds to the JSON property `date`
667
+ # @return [String]
668
+ attr_accessor :date
669
+
670
+ # The filtering reasons.
671
+ # Corresponds to the JSON property `reasons`
672
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::FilteringReasons::Reason>]
673
+ attr_accessor :reasons
674
+
675
+ def initialize(**args)
676
+ update!(**args)
677
+ end
678
+
679
+ # Update properties of this object
680
+ def update!(**args)
681
+ @date = args[:date] if args.key?(:date)
682
+ @reasons = args[:reasons] if args.key?(:reasons)
683
+ end
684
+
685
+ #
686
+ class Reason
687
+ include Google::Apis::Core::Hashable
688
+
689
+ # The number of times the creative was filtered for the status. The count is
690
+ # aggregated across all publishers on the exchange.
691
+ # Corresponds to the JSON property `filteringCount`
692
+ # @return [String]
693
+ attr_accessor :filtering_count
694
+
695
+ # The filtering status code. Please refer to the creative-status-codes.txt file
696
+ # for different statuses.
697
+ # Corresponds to the JSON property `filteringStatus`
698
+ # @return [Fixnum]
699
+ attr_accessor :filtering_status
700
+
701
+ def initialize(**args)
702
+ update!(**args)
703
+ end
704
+
705
+ # Update properties of this object
706
+ def update!(**args)
707
+ @filtering_count = args[:filtering_count] if args.key?(:filtering_count)
708
+ @filtering_status = args[:filtering_status] if args.key?(:filtering_status)
709
+ end
710
+ end
711
+ end
712
+
713
+ # If nativeAd is set, HTMLSnippet and videoURL should not be set.
714
+ class NativeAd
715
+ include Google::Apis::Core::Hashable
716
+
717
+ #
718
+ # Corresponds to the JSON property `advertiser`
719
+ # @return [String]
720
+ attr_accessor :advertiser
721
+
722
+ # The app icon, for app download ads.
723
+ # Corresponds to the JSON property `appIcon`
724
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd::AppIcon]
725
+ attr_accessor :app_icon
726
+
727
+ # A long description of the ad.
728
+ # Corresponds to the JSON property `body`
729
+ # @return [String]
730
+ attr_accessor :body
731
+
732
+ # A label for the button that the user is supposed to click.
733
+ # Corresponds to the JSON property `callToAction`
734
+ # @return [String]
735
+ attr_accessor :call_to_action
736
+
737
+ # The URL to use for click tracking.
738
+ # Corresponds to the JSON property `clickTrackingUrl`
739
+ # @return [String]
740
+ attr_accessor :click_tracking_url
741
+
742
+ # A short title for the ad.
743
+ # Corresponds to the JSON property `headline`
744
+ # @return [String]
745
+ attr_accessor :headline
746
+
747
+ # A large image.
748
+ # Corresponds to the JSON property `image`
749
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd::Image]
750
+ attr_accessor :image
751
+
752
+ # The URLs are called when the impression is rendered.
753
+ # Corresponds to the JSON property `impressionTrackingUrl`
754
+ # @return [Array<String>]
755
+ attr_accessor :impression_tracking_url
756
+
757
+ # A smaller image, for the advertiser logo.
758
+ # Corresponds to the JSON property `logo`
759
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd::Logo]
760
+ attr_accessor :logo
761
+
762
+ # The price of the promoted app including the currency info.
763
+ # Corresponds to the JSON property `price`
764
+ # @return [String]
765
+ attr_accessor :price
766
+
767
+ # The app rating in the app store. Must be in the range [0-5].
768
+ # Corresponds to the JSON property `starRating`
769
+ # @return [Float]
770
+ attr_accessor :star_rating
771
+
772
+ # The URL to the app store to purchase/download the promoted app.
773
+ # Corresponds to the JSON property `store`
774
+ # @return [String]
775
+ attr_accessor :store
776
+
777
+ def initialize(**args)
778
+ update!(**args)
779
+ end
780
+
781
+ # Update properties of this object
782
+ def update!(**args)
783
+ @advertiser = args[:advertiser] if args.key?(:advertiser)
784
+ @app_icon = args[:app_icon] if args.key?(:app_icon)
785
+ @body = args[:body] if args.key?(:body)
786
+ @call_to_action = args[:call_to_action] if args.key?(:call_to_action)
787
+ @click_tracking_url = args[:click_tracking_url] if args.key?(:click_tracking_url)
788
+ @headline = args[:headline] if args.key?(:headline)
789
+ @image = args[:image] if args.key?(:image)
790
+ @impression_tracking_url = args[:impression_tracking_url] if args.key?(:impression_tracking_url)
791
+ @logo = args[:logo] if args.key?(:logo)
792
+ @price = args[:price] if args.key?(:price)
793
+ @star_rating = args[:star_rating] if args.key?(:star_rating)
794
+ @store = args[:store] if args.key?(:store)
795
+ end
796
+
797
+ # The app icon, for app download ads.
798
+ class AppIcon
799
+ include Google::Apis::Core::Hashable
800
+
801
+ #
802
+ # Corresponds to the JSON property `height`
803
+ # @return [Fixnum]
804
+ attr_accessor :height
805
+
806
+ #
807
+ # Corresponds to the JSON property `url`
808
+ # @return [String]
809
+ attr_accessor :url
810
+
811
+ #
812
+ # Corresponds to the JSON property `width`
813
+ # @return [Fixnum]
814
+ attr_accessor :width
815
+
816
+ def initialize(**args)
817
+ update!(**args)
818
+ end
819
+
820
+ # Update properties of this object
821
+ def update!(**args)
822
+ @height = args[:height] if args.key?(:height)
823
+ @url = args[:url] if args.key?(:url)
824
+ @width = args[:width] if args.key?(:width)
825
+ end
826
+ end
827
+
828
+ # A large image.
829
+ class Image
830
+ include Google::Apis::Core::Hashable
831
+
832
+ #
833
+ # Corresponds to the JSON property `height`
834
+ # @return [Fixnum]
835
+ attr_accessor :height
836
+
837
+ #
838
+ # Corresponds to the JSON property `url`
839
+ # @return [String]
840
+ attr_accessor :url
841
+
842
+ #
843
+ # Corresponds to the JSON property `width`
844
+ # @return [Fixnum]
845
+ attr_accessor :width
846
+
847
+ def initialize(**args)
848
+ update!(**args)
849
+ end
850
+
851
+ # Update properties of this object
852
+ def update!(**args)
853
+ @height = args[:height] if args.key?(:height)
854
+ @url = args[:url] if args.key?(:url)
855
+ @width = args[:width] if args.key?(:width)
856
+ end
857
+ end
858
+
859
+ # A smaller image, for the advertiser logo.
860
+ class Logo
861
+ include Google::Apis::Core::Hashable
862
+
863
+ #
864
+ # Corresponds to the JSON property `height`
865
+ # @return [Fixnum]
866
+ attr_accessor :height
867
+
868
+ #
869
+ # Corresponds to the JSON property `url`
870
+ # @return [String]
871
+ attr_accessor :url
872
+
873
+ #
874
+ # Corresponds to the JSON property `width`
875
+ # @return [Fixnum]
876
+ attr_accessor :width
877
+
878
+ def initialize(**args)
879
+ update!(**args)
880
+ end
881
+
882
+ # Update properties of this object
883
+ def update!(**args)
884
+ @height = args[:height] if args.key?(:height)
885
+ @url = args[:url] if args.key?(:url)
886
+ @width = args[:width] if args.key?(:width)
887
+ end
888
+ end
889
+ end
890
+
891
+ #
892
+ class ServingRestriction
893
+ include Google::Apis::Core::Hashable
894
+
895
+ # All known contexts/restrictions.
896
+ # Corresponds to the JSON property `contexts`
897
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::ServingRestriction::Context>]
898
+ attr_accessor :contexts
899
+
900
+ # The reasons for disapproval within this restriction, if any. Note that not all
901
+ # disapproval reasons may be categorized, so it is possible for the creative to
902
+ # have a status of DISAPPROVED or CONDITIONALLY_APPROVED with an empty list for
903
+ # disapproval_reasons. In this case, please reach out to your TAM to help debug
904
+ # the issue.
905
+ # Corresponds to the JSON property `disapprovalReasons`
906
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::ServingRestriction::DisapprovalReason>]
907
+ attr_accessor :disapproval_reasons
908
+
909
+ # Why the creative is ineligible to serve in this context (e.g., it has been
910
+ # explicitly disapproved or is pending review).
911
+ # Corresponds to the JSON property `reason`
912
+ # @return [String]
913
+ attr_accessor :reason
914
+
915
+ def initialize(**args)
916
+ update!(**args)
917
+ end
918
+
919
+ # Update properties of this object
920
+ def update!(**args)
921
+ @contexts = args[:contexts] if args.key?(:contexts)
922
+ @disapproval_reasons = args[:disapproval_reasons] if args.key?(:disapproval_reasons)
923
+ @reason = args[:reason] if args.key?(:reason)
924
+ end
925
+
926
+ #
927
+ class Context
928
+ include Google::Apis::Core::Hashable
929
+
930
+ # Only set when contextType=AUCTION_TYPE. Represents the auction types this
931
+ # restriction applies to.
932
+ # Corresponds to the JSON property `auctionType`
933
+ # @return [Array<String>]
934
+ attr_accessor :auction_type
935
+
936
+ # The type of context (e.g., location, platform, auction type, SSL-ness).
937
+ # Corresponds to the JSON property `contextType`
938
+ # @return [String]
939
+ attr_accessor :context_type
940
+
941
+ # Only set when contextType=LOCATION. Represents the geo criterias this
942
+ # restriction applies to.
943
+ # Corresponds to the JSON property `geoCriteriaId`
944
+ # @return [Array<Fixnum>]
945
+ attr_accessor :geo_criteria_id
946
+
947
+ # Only set when contextType=PLATFORM. Represents the platforms this restriction
948
+ # applies to.
949
+ # Corresponds to the JSON property `platform`
950
+ # @return [Array<String>]
951
+ attr_accessor :platform
952
+
953
+ def initialize(**args)
954
+ update!(**args)
955
+ end
956
+
957
+ # Update properties of this object
958
+ def update!(**args)
959
+ @auction_type = args[:auction_type] if args.key?(:auction_type)
960
+ @context_type = args[:context_type] if args.key?(:context_type)
961
+ @geo_criteria_id = args[:geo_criteria_id] if args.key?(:geo_criteria_id)
962
+ @platform = args[:platform] if args.key?(:platform)
963
+ end
964
+ end
965
+
966
+ #
967
+ class DisapprovalReason
968
+ include Google::Apis::Core::Hashable
969
+
970
+ # Additional details about the reason for disapproval.
971
+ # Corresponds to the JSON property `details`
972
+ # @return [Array<String>]
973
+ attr_accessor :details
974
+
975
+ # The categorized reason for disapproval.
976
+ # Corresponds to the JSON property `reason`
977
+ # @return [String]
978
+ attr_accessor :reason
979
+
980
+ def initialize(**args)
981
+ update!(**args)
982
+ end
983
+
984
+ # Update properties of this object
985
+ def update!(**args)
986
+ @details = args[:details] if args.key?(:details)
987
+ @reason = args[:reason] if args.key?(:reason)
988
+ end
989
+ end
990
+ end
991
+ end
992
+
993
+ # The creatives feed lists the active creatives for the Ad Exchange buyer
994
+ # accounts that the user has access to. Each entry in the feed corresponds to a
995
+ # single creative.
996
+ class CreativesList
997
+ include Google::Apis::Core::Hashable
998
+
999
+ # A list of creatives.
1000
+ # Corresponds to the JSON property `items`
1001
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative>]
1002
+ attr_accessor :items
1003
+
1004
+ # Resource type.
1005
+ # Corresponds to the JSON property `kind`
1006
+ # @return [String]
1007
+ attr_accessor :kind
1008
+
1009
+ # Continuation token used to page through creatives. To retrieve the next page
1010
+ # of results, set the next request's "pageToken" value to this.
1011
+ # Corresponds to the JSON property `nextPageToken`
1012
+ # @return [String]
1013
+ attr_accessor :next_page_token
1014
+
1015
+ def initialize(**args)
1016
+ update!(**args)
1017
+ end
1018
+
1019
+ # Update properties of this object
1020
+ def update!(**args)
1021
+ @items = args[:items] if args.key?(:items)
1022
+ @kind = args[:kind] if args.key?(:kind)
1023
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1024
+ end
1025
+ end
1026
+
1027
+ #
1028
+ class DealTerms
1029
+ include Google::Apis::Core::Hashable
1030
+
1031
+ # Visibilty of the URL in bid requests.
1032
+ # Corresponds to the JSON property `brandingType`
1033
+ # @return [String]
1034
+ attr_accessor :branding_type
1035
+
1036
+ # Description for the proposed terms of the deal.
1037
+ # Corresponds to the JSON property `description`
1038
+ # @return [String]
1039
+ attr_accessor :description
1040
+
1041
+ # Non-binding estimate of the estimated gross spend for this deal Can be set by
1042
+ # buyer or seller.
1043
+ # Corresponds to the JSON property `estimatedGrossSpend`
1044
+ # @return [Google::Apis::AdexchangebuyerV1_4::Price]
1045
+ attr_accessor :estimated_gross_spend
1046
+
1047
+ # Non-binding estimate of the impressions served per day Can be set by buyer or
1048
+ # seller.
1049
+ # Corresponds to the JSON property `estimatedImpressionsPerDay`
1050
+ # @return [String]
1051
+ attr_accessor :estimated_impressions_per_day
1052
+
1053
+ # The terms for guaranteed fixed price deals.
1054
+ # Corresponds to the JSON property `guaranteedFixedPriceTerms`
1055
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsGuaranteedFixedPriceTerms]
1056
+ attr_accessor :guaranteed_fixed_price_terms
1057
+
1058
+ # The terms for non-guaranteed auction deals.
1059
+ # Corresponds to the JSON property `nonGuaranteedAuctionTerms`
1060
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsNonGuaranteedAuctionTerms]
1061
+ attr_accessor :non_guaranteed_auction_terms
1062
+
1063
+ # The terms for non-guaranteed fixed price deals.
1064
+ # Corresponds to the JSON property `nonGuaranteedFixedPriceTerms`
1065
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsNonGuaranteedFixedPriceTerms]
1066
+ attr_accessor :non_guaranteed_fixed_price_terms
1067
+
1068
+ def initialize(**args)
1069
+ update!(**args)
1070
+ end
1071
+
1072
+ # Update properties of this object
1073
+ def update!(**args)
1074
+ @branding_type = args[:branding_type] if args.key?(:branding_type)
1075
+ @description = args[:description] if args.key?(:description)
1076
+ @estimated_gross_spend = args[:estimated_gross_spend] if args.key?(:estimated_gross_spend)
1077
+ @estimated_impressions_per_day = args[:estimated_impressions_per_day] if args.key?(:estimated_impressions_per_day)
1078
+ @guaranteed_fixed_price_terms = args[:guaranteed_fixed_price_terms] if args.key?(:guaranteed_fixed_price_terms)
1079
+ @non_guaranteed_auction_terms = args[:non_guaranteed_auction_terms] if args.key?(:non_guaranteed_auction_terms)
1080
+ @non_guaranteed_fixed_price_terms = args[:non_guaranteed_fixed_price_terms] if args.key?(:non_guaranteed_fixed_price_terms)
1081
+ end
1082
+ end
1083
+
1084
+ #
1085
+ class DealTermsGuaranteedFixedPriceTerms
1086
+ include Google::Apis::Core::Hashable
1087
+
1088
+ # Fixed price for the specified buyer.
1089
+ # Corresponds to the JSON property `fixedPrices`
1090
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PricePerBuyer>]
1091
+ attr_accessor :fixed_prices
1092
+
1093
+ # Guaranteed impressions as a percentage. This is the percentage of guaranteed
1094
+ # looks that the buyer is guaranteeing to buy.
1095
+ # Corresponds to the JSON property `guaranteedImpressions`
1096
+ # @return [String]
1097
+ attr_accessor :guaranteed_impressions
1098
+
1099
+ # Count of guaranteed looks. Required for deal, optional for product.
1100
+ # Corresponds to the JSON property `guaranteedLooks`
1101
+ # @return [String]
1102
+ attr_accessor :guaranteed_looks
1103
+
1104
+ def initialize(**args)
1105
+ update!(**args)
1106
+ end
1107
+
1108
+ # Update properties of this object
1109
+ def update!(**args)
1110
+ @fixed_prices = args[:fixed_prices] if args.key?(:fixed_prices)
1111
+ @guaranteed_impressions = args[:guaranteed_impressions] if args.key?(:guaranteed_impressions)
1112
+ @guaranteed_looks = args[:guaranteed_looks] if args.key?(:guaranteed_looks)
1113
+ end
1114
+ end
1115
+
1116
+ #
1117
+ class DealTermsNonGuaranteedAuctionTerms
1118
+ include Google::Apis::Core::Hashable
1119
+
1120
+ # Id of the corresponding private auction.
1121
+ # Corresponds to the JSON property `privateAuctionId`
1122
+ # @return [String]
1123
+ attr_accessor :private_auction_id
1124
+
1125
+ # Reserve price for the specified buyer.
1126
+ # Corresponds to the JSON property `reservePricePerBuyers`
1127
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PricePerBuyer>]
1128
+ attr_accessor :reserve_price_per_buyers
1129
+
1130
+ def initialize(**args)
1131
+ update!(**args)
1132
+ end
1133
+
1134
+ # Update properties of this object
1135
+ def update!(**args)
1136
+ @private_auction_id = args[:private_auction_id] if args.key?(:private_auction_id)
1137
+ @reserve_price_per_buyers = args[:reserve_price_per_buyers] if args.key?(:reserve_price_per_buyers)
1138
+ end
1139
+ end
1140
+
1141
+ #
1142
+ class DealTermsNonGuaranteedFixedPriceTerms
1143
+ include Google::Apis::Core::Hashable
1144
+
1145
+ # Fixed price for the specified buyer.
1146
+ # Corresponds to the JSON property `fixedPrices`
1147
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PricePerBuyer>]
1148
+ attr_accessor :fixed_prices
1149
+
1150
+ def initialize(**args)
1151
+ update!(**args)
1152
+ end
1153
+
1154
+ # Update properties of this object
1155
+ def update!(**args)
1156
+ @fixed_prices = args[:fixed_prices] if args.key?(:fixed_prices)
1157
+ end
1158
+ end
1159
+
1160
+ #
1161
+ class DeleteOrderDealsRequest
1162
+ include Google::Apis::Core::Hashable
1163
+
1164
+ # List of deals to delete for a given proposal
1165
+ # Corresponds to the JSON property `dealIds`
1166
+ # @return [Array<String>]
1167
+ attr_accessor :deal_ids
1168
+
1169
+ # The last known proposal revision number.
1170
+ # Corresponds to the JSON property `proposalRevisionNumber`
1171
+ # @return [String]
1172
+ attr_accessor :proposal_revision_number
1173
+
1174
+ #
1175
+ # Corresponds to the JSON property `updateAction`
1176
+ # @return [String]
1177
+ attr_accessor :update_action
1178
+
1179
+ def initialize(**args)
1180
+ update!(**args)
1181
+ end
1182
+
1183
+ # Update properties of this object
1184
+ def update!(**args)
1185
+ @deal_ids = args[:deal_ids] if args.key?(:deal_ids)
1186
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
1187
+ @update_action = args[:update_action] if args.key?(:update_action)
1188
+ end
1189
+ end
1190
+
1191
+ #
1192
+ class DeleteOrderDealsResponse
1193
+ include Google::Apis::Core::Hashable
1194
+
1195
+ # List of deals deleted (in the same proposal as passed in the request)
1196
+ # Corresponds to the JSON property `deals`
1197
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
1198
+ attr_accessor :deals
1199
+
1200
+ # The updated revision number for the proposal.
1201
+ # Corresponds to the JSON property `proposalRevisionNumber`
1202
+ # @return [String]
1203
+ attr_accessor :proposal_revision_number
1204
+
1205
+ def initialize(**args)
1206
+ update!(**args)
1207
+ end
1208
+
1209
+ # Update properties of this object
1210
+ def update!(**args)
1211
+ @deals = args[:deals] if args.key?(:deals)
1212
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
1213
+ end
1214
+ end
1215
+
1216
+ #
1217
+ class DeliveryControl
1218
+ include Google::Apis::Core::Hashable
1219
+
1220
+ #
1221
+ # Corresponds to the JSON property `creativeBlockingLevel`
1222
+ # @return [String]
1223
+ attr_accessor :creative_blocking_level
1224
+
1225
+ #
1226
+ # Corresponds to the JSON property `deliveryRateType`
1227
+ # @return [String]
1228
+ attr_accessor :delivery_rate_type
1229
+
1230
+ #
1231
+ # Corresponds to the JSON property `frequencyCaps`
1232
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::DeliveryControlFrequencyCap>]
1233
+ attr_accessor :frequency_caps
1234
+
1235
+ def initialize(**args)
1236
+ update!(**args)
1237
+ end
1238
+
1239
+ # Update properties of this object
1240
+ def update!(**args)
1241
+ @creative_blocking_level = args[:creative_blocking_level] if args.key?(:creative_blocking_level)
1242
+ @delivery_rate_type = args[:delivery_rate_type] if args.key?(:delivery_rate_type)
1243
+ @frequency_caps = args[:frequency_caps] if args.key?(:frequency_caps)
1244
+ end
1245
+ end
1246
+
1247
+ #
1248
+ class DeliveryControlFrequencyCap
1249
+ include Google::Apis::Core::Hashable
1250
+
1251
+ #
1252
+ # Corresponds to the JSON property `maxImpressions`
1253
+ # @return [Fixnum]
1254
+ attr_accessor :max_impressions
1255
+
1256
+ #
1257
+ # Corresponds to the JSON property `numTimeUnits`
1258
+ # @return [Fixnum]
1259
+ attr_accessor :num_time_units
1260
+
1261
+ #
1262
+ # Corresponds to the JSON property `timeUnitType`
1263
+ # @return [String]
1264
+ attr_accessor :time_unit_type
1265
+
1266
+ def initialize(**args)
1267
+ update!(**args)
1268
+ end
1269
+
1270
+ # Update properties of this object
1271
+ def update!(**args)
1272
+ @max_impressions = args[:max_impressions] if args.key?(:max_impressions)
1273
+ @num_time_units = args[:num_time_units] if args.key?(:num_time_units)
1274
+ @time_unit_type = args[:time_unit_type] if args.key?(:time_unit_type)
1275
+ end
1276
+ end
1277
+
1278
+ #
1279
+ class EditAllOrderDealsRequest
1280
+ include Google::Apis::Core::Hashable
1281
+
1282
+ # List of deals to edit. Service may perform 3 different operations based on
1283
+ # comparison of deals in this list vs deals already persisted in database: 1.
1284
+ # Add new deal to proposal If a deal in this list does not exist in the proposal,
1285
+ # the service will create a new deal and add it to the proposal. Validation
1286
+ # will follow AddOrderDealsRequest. 2. Update existing deal in the proposal If a
1287
+ # deal in this list already exist in the proposal, the service will update that
1288
+ # existing deal to this new deal in the request. Validation will follow
1289
+ # UpdateOrderDealsRequest. 3. Delete deals from the proposal (just need the id)
1290
+ # If a existing deal in the proposal is not present in this list, the service
1291
+ # will delete that deal from the proposal. Validation will follow
1292
+ # DeleteOrderDealsRequest.
1293
+ # Corresponds to the JSON property `deals`
1294
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
1295
+ attr_accessor :deals
1296
+
1297
+ # Represents a proposal in the marketplace. A proposal is the unit of
1298
+ # negotiation between a seller and a buyer and contains deals which are served.
1299
+ # Each field in a proposal can have one of the following setting:
1300
+ # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only
1301
+ # the seller can set this field. (seller-readonly) - Only the buyer can set this
1302
+ # field. (updatable) - The field is updatable at all times by either buyer or
1303
+ # the seller.
1304
+ # Corresponds to the JSON property `proposal`
1305
+ # @return [Google::Apis::AdexchangebuyerV1_4::Proposal]
1306
+ attr_accessor :proposal
1307
+
1308
+ # The last known revision number for the proposal.
1309
+ # Corresponds to the JSON property `proposalRevisionNumber`
1310
+ # @return [String]
1311
+ attr_accessor :proposal_revision_number
1312
+
1313
+ # Indicates an optional action to take on the proposal
1314
+ # Corresponds to the JSON property `updateAction`
1315
+ # @return [String]
1316
+ attr_accessor :update_action
1317
+
1318
+ def initialize(**args)
1319
+ update!(**args)
1320
+ end
1321
+
1322
+ # Update properties of this object
1323
+ def update!(**args)
1324
+ @deals = args[:deals] if args.key?(:deals)
1325
+ @proposal = args[:proposal] if args.key?(:proposal)
1326
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
1327
+ @update_action = args[:update_action] if args.key?(:update_action)
1328
+ end
1329
+ end
1330
+
1331
+ #
1332
+ class EditAllOrderDealsResponse
1333
+ include Google::Apis::Core::Hashable
1334
+
1335
+ # List of all deals in the proposal after edit.
1336
+ # Corresponds to the JSON property `deals`
1337
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
1338
+ attr_accessor :deals
1339
+
1340
+ def initialize(**args)
1341
+ update!(**args)
1342
+ end
1343
+
1344
+ # Update properties of this object
1345
+ def update!(**args)
1346
+ @deals = args[:deals] if args.key?(:deals)
1347
+ end
1348
+ end
1349
+
1350
+ #
1351
+ class GetOffersResponse
1352
+ include Google::Apis::Core::Hashable
1353
+
1354
+ # The returned list of products.
1355
+ # Corresponds to the JSON property `products`
1356
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Product>]
1357
+ attr_accessor :products
1358
+
1359
+ def initialize(**args)
1360
+ update!(**args)
1361
+ end
1362
+
1363
+ # Update properties of this object
1364
+ def update!(**args)
1365
+ @products = args[:products] if args.key?(:products)
1366
+ end
1367
+ end
1368
+
1369
+ #
1370
+ class GetOrderDealsResponse
1371
+ include Google::Apis::Core::Hashable
1372
+
1373
+ # List of deals for the proposal
1374
+ # Corresponds to the JSON property `deals`
1375
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
1376
+ attr_accessor :deals
1377
+
1378
+ def initialize(**args)
1379
+ update!(**args)
1380
+ end
1381
+
1382
+ # Update properties of this object
1383
+ def update!(**args)
1384
+ @deals = args[:deals] if args.key?(:deals)
1385
+ end
1386
+ end
1387
+
1388
+ #
1389
+ class GetOrderNotesResponse
1390
+ include Google::Apis::Core::Hashable
1391
+
1392
+ # The list of matching notes.
1393
+ # Corresponds to the JSON property `notes`
1394
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceNote>]
1395
+ attr_accessor :notes
1396
+
1397
+ def initialize(**args)
1398
+ update!(**args)
1399
+ end
1400
+
1401
+ # Update properties of this object
1402
+ def update!(**args)
1403
+ @notes = args[:notes] if args.key?(:notes)
1404
+ end
1405
+ end
1406
+
1407
+ #
1408
+ class GetOrdersResponse
1409
+ include Google::Apis::Core::Hashable
1410
+
1411
+ # The list of matching proposals.
1412
+ # Corresponds to the JSON property `proposals`
1413
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Proposal>]
1414
+ attr_accessor :proposals
1415
+
1416
+ def initialize(**args)
1417
+ update!(**args)
1418
+ end
1419
+
1420
+ # Update properties of this object
1421
+ def update!(**args)
1422
+ @proposals = args[:proposals] if args.key?(:proposals)
1423
+ end
1424
+ end
1425
+
1426
+ # A proposal can contain multiple deals. A deal contains the terms and targeting
1427
+ # information that is used for serving.
1428
+ class MarketplaceDeal
1429
+ include Google::Apis::Core::Hashable
1430
+
1431
+ # Buyer private data (hidden from seller).
1432
+ # Corresponds to the JSON property `buyerPrivateData`
1433
+ # @return [Google::Apis::AdexchangebuyerV1_4::PrivateData]
1434
+ attr_accessor :buyer_private_data
1435
+
1436
+ # The time (ms since epoch) of the deal creation. (readonly)
1437
+ # Corresponds to the JSON property `creationTimeMs`
1438
+ # @return [String]
1439
+ attr_accessor :creation_time_ms
1440
+
1441
+ # Specifies the creative pre-approval policy (buyer-readonly)
1442
+ # Corresponds to the JSON property `creativePreApprovalPolicy`
1443
+ # @return [String]
1444
+ attr_accessor :creative_pre_approval_policy
1445
+
1446
+ # A unique deal=id for the deal (readonly).
1447
+ # Corresponds to the JSON property `dealId`
1448
+ # @return [String]
1449
+ attr_accessor :deal_id
1450
+
1451
+ # The set of fields around delivery control that are interesting for a buyer to
1452
+ # see but are non-negotiable. These are set by the publisher. This message is
1453
+ # assigned an id of 100 since some day we would want to model this as a protobuf
1454
+ # extension.
1455
+ # Corresponds to the JSON property `deliveryControl`
1456
+ # @return [Google::Apis::AdexchangebuyerV1_4::DeliveryControl]
1457
+ attr_accessor :delivery_control
1458
+
1459
+ # The external deal id assigned to this deal once the deal is finalized. This is
1460
+ # the deal-id that shows up in serving/reporting etc. (readonly)
1461
+ # Corresponds to the JSON property `externalDealId`
1462
+ # @return [String]
1463
+ attr_accessor :external_deal_id
1464
+
1465
+ # Proposed flight end time of the deal (ms since epoch) This will generally be
1466
+ # stored in a granularity of a second. (updatable)
1467
+ # Corresponds to the JSON property `flightEndTimeMs`
1468
+ # @return [String]
1469
+ attr_accessor :flight_end_time_ms
1470
+
1471
+ # Proposed flight start time of the deal (ms since epoch) This will generally be
1472
+ # stored in a granularity of a second. (updatable)
1473
+ # Corresponds to the JSON property `flightStartTimeMs`
1474
+ # @return [String]
1475
+ attr_accessor :flight_start_time_ms
1476
+
1477
+ # Description for the deal terms. (updatable)
1478
+ # Corresponds to the JSON property `inventoryDescription`
1479
+ # @return [String]
1480
+ attr_accessor :inventory_description
1481
+
1482
+ # Identifies what kind of resource this is. Value: the fixed string "
1483
+ # adexchangebuyer#marketplaceDeal".
1484
+ # Corresponds to the JSON property `kind`
1485
+ # @return [String]
1486
+ attr_accessor :kind
1487
+
1488
+ # The time (ms since epoch) when the deal was last updated. (readonly)
1489
+ # Corresponds to the JSON property `lastUpdateTimeMs`
1490
+ # @return [String]
1491
+ attr_accessor :last_update_time_ms
1492
+
1493
+ # The name of the deal. (updatable)
1494
+ # Corresponds to the JSON property `name`
1495
+ # @return [String]
1496
+ attr_accessor :name
1497
+
1498
+ # The product-id from which this deal was created. (readonly, except on create)
1499
+ # Corresponds to the JSON property `productId`
1500
+ # @return [String]
1501
+ attr_accessor :product_id
1502
+
1503
+ # The revision number of the product that the deal was created from (readonly,
1504
+ # except on create)
1505
+ # Corresponds to the JSON property `productRevisionNumber`
1506
+ # @return [String]
1507
+ attr_accessor :product_revision_number
1508
+
1509
+ #
1510
+ # Corresponds to the JSON property `proposalId`
1511
+ # @return [String]
1512
+ attr_accessor :proposal_id
1513
+
1514
+ # Optional Seller contact information for the deal (buyer-readonly)
1515
+ # Corresponds to the JSON property `sellerContacts`
1516
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
1517
+ attr_accessor :seller_contacts
1518
+
1519
+ # The shared targeting visible to buyers and sellers. (updatable)
1520
+ # Corresponds to the JSON property `sharedTargetings`
1521
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::SharedTargeting>]
1522
+ attr_accessor :shared_targetings
1523
+
1524
+ # The syndication product associated with the deal. (readonly, except on create)
1525
+ # Corresponds to the JSON property `syndicationProduct`
1526
+ # @return [String]
1527
+ attr_accessor :syndication_product
1528
+
1529
+ # The negotiable terms of the deal. (updatable)
1530
+ # Corresponds to the JSON property `terms`
1531
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTerms]
1532
+ attr_accessor :terms
1533
+
1534
+ #
1535
+ # Corresponds to the JSON property `webPropertyCode`
1536
+ # @return [String]
1537
+ attr_accessor :web_property_code
1538
+
1539
+ def initialize(**args)
1540
+ update!(**args)
1541
+ end
1542
+
1543
+ # Update properties of this object
1544
+ def update!(**args)
1545
+ @buyer_private_data = args[:buyer_private_data] if args.key?(:buyer_private_data)
1546
+ @creation_time_ms = args[:creation_time_ms] if args.key?(:creation_time_ms)
1547
+ @creative_pre_approval_policy = args[:creative_pre_approval_policy] if args.key?(:creative_pre_approval_policy)
1548
+ @deal_id = args[:deal_id] if args.key?(:deal_id)
1549
+ @delivery_control = args[:delivery_control] if args.key?(:delivery_control)
1550
+ @external_deal_id = args[:external_deal_id] if args.key?(:external_deal_id)
1551
+ @flight_end_time_ms = args[:flight_end_time_ms] if args.key?(:flight_end_time_ms)
1552
+ @flight_start_time_ms = args[:flight_start_time_ms] if args.key?(:flight_start_time_ms)
1553
+ @inventory_description = args[:inventory_description] if args.key?(:inventory_description)
1554
+ @kind = args[:kind] if args.key?(:kind)
1555
+ @last_update_time_ms = args[:last_update_time_ms] if args.key?(:last_update_time_ms)
1556
+ @name = args[:name] if args.key?(:name)
1557
+ @product_id = args[:product_id] if args.key?(:product_id)
1558
+ @product_revision_number = args[:product_revision_number] if args.key?(:product_revision_number)
1559
+ @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
1560
+ @seller_contacts = args[:seller_contacts] if args.key?(:seller_contacts)
1561
+ @shared_targetings = args[:shared_targetings] if args.key?(:shared_targetings)
1562
+ @syndication_product = args[:syndication_product] if args.key?(:syndication_product)
1563
+ @terms = args[:terms] if args.key?(:terms)
1564
+ @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
1565
+ end
1566
+ end
1567
+
1568
+ #
1569
+ class MarketplaceDealParty
1570
+ include Google::Apis::Core::Hashable
1571
+
1572
+ # The buyer/seller associated with the deal. One of buyer/seller is specified
1573
+ # for a deal-party.
1574
+ # Corresponds to the JSON property `buyer`
1575
+ # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
1576
+ attr_accessor :buyer
1577
+
1578
+ # The buyer/seller associated with the deal. One of buyer/seller is specified
1579
+ # for a deal party.
1580
+ # Corresponds to the JSON property `seller`
1581
+ # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
1582
+ attr_accessor :seller
1583
+
1584
+ def initialize(**args)
1585
+ update!(**args)
1586
+ end
1587
+
1588
+ # Update properties of this object
1589
+ def update!(**args)
1590
+ @buyer = args[:buyer] if args.key?(:buyer)
1591
+ @seller = args[:seller] if args.key?(:seller)
1592
+ end
1593
+ end
1594
+
1595
+ #
1596
+ class MarketplaceLabel
1597
+ include Google::Apis::Core::Hashable
1598
+
1599
+ # The accountId of the party that created the label.
1600
+ # Corresponds to the JSON property `accountId`
1601
+ # @return [String]
1602
+ attr_accessor :account_id
1603
+
1604
+ # The creation time (in ms since epoch) for the label.
1605
+ # Corresponds to the JSON property `createTimeMs`
1606
+ # @return [String]
1607
+ attr_accessor :create_time_ms
1608
+
1609
+ # Information about the party that created the label.
1610
+ # Corresponds to the JSON property `deprecatedMarketplaceDealParty`
1611
+ # @return [Google::Apis::AdexchangebuyerV1_4::MarketplaceDealParty]
1612
+ attr_accessor :deprecated_marketplace_deal_party
1613
+
1614
+ # The label to use.
1615
+ # Corresponds to the JSON property `label`
1616
+ # @return [String]
1617
+ attr_accessor :label
1618
+
1619
+ def initialize(**args)
1620
+ update!(**args)
1621
+ end
1622
+
1623
+ # Update properties of this object
1624
+ def update!(**args)
1625
+ @account_id = args[:account_id] if args.key?(:account_id)
1626
+ @create_time_ms = args[:create_time_ms] if args.key?(:create_time_ms)
1627
+ @deprecated_marketplace_deal_party = args[:deprecated_marketplace_deal_party] if args.key?(:deprecated_marketplace_deal_party)
1628
+ @label = args[:label] if args.key?(:label)
1629
+ end
1630
+ end
1631
+
1632
+ # A proposal is associated with a bunch of notes which may optionally be
1633
+ # associated with a deal and/or revision number.
1634
+ class MarketplaceNote
1635
+ include Google::Apis::Core::Hashable
1636
+
1637
+ # The role of the person (buyer/seller) creating the note. (readonly)
1638
+ # Corresponds to the JSON property `creatorRole`
1639
+ # @return [String]
1640
+ attr_accessor :creator_role
1641
+
1642
+ # Notes can optionally be associated with a deal. (readonly, except on create)
1643
+ # Corresponds to the JSON property `dealId`
1644
+ # @return [String]
1645
+ attr_accessor :deal_id
1646
+
1647
+ # Identifies what kind of resource this is. Value: the fixed string "
1648
+ # adexchangebuyer#marketplaceNote".
1649
+ # Corresponds to the JSON property `kind`
1650
+ # @return [String]
1651
+ attr_accessor :kind
1652
+
1653
+ # The actual note to attach. (readonly, except on create)
1654
+ # Corresponds to the JSON property `note`
1655
+ # @return [String]
1656
+ attr_accessor :note
1657
+
1658
+ # The unique id for the note. (readonly)
1659
+ # Corresponds to the JSON property `noteId`
1660
+ # @return [String]
1661
+ attr_accessor :note_id
1662
+
1663
+ # The proposalId that a note is attached to. (readonly)
1664
+ # Corresponds to the JSON property `proposalId`
1665
+ # @return [String]
1666
+ attr_accessor :proposal_id
1667
+
1668
+ # If the note is associated with a proposal revision number, then store that
1669
+ # here. (readonly, except on create)
1670
+ # Corresponds to the JSON property `proposalRevisionNumber`
1671
+ # @return [String]
1672
+ attr_accessor :proposal_revision_number
1673
+
1674
+ # The timestamp (ms since epoch) that this note was created. (readonly)
1675
+ # Corresponds to the JSON property `timestampMs`
1676
+ # @return [String]
1677
+ attr_accessor :timestamp_ms
1678
+
1679
+ def initialize(**args)
1680
+ update!(**args)
1681
+ end
1682
+
1683
+ # Update properties of this object
1684
+ def update!(**args)
1685
+ @creator_role = args[:creator_role] if args.key?(:creator_role)
1686
+ @deal_id = args[:deal_id] if args.key?(:deal_id)
1687
+ @kind = args[:kind] if args.key?(:kind)
1688
+ @note = args[:note] if args.key?(:note)
1689
+ @note_id = args[:note_id] if args.key?(:note_id)
1690
+ @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
1691
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
1692
+ @timestamp_ms = args[:timestamp_ms] if args.key?(:timestamp_ms)
1693
+ end
1694
+ end
1695
+
1696
+ # The configuration data for an Ad Exchange performance report list.
1697
+ class PerformanceReport
1698
+ include Google::Apis::Core::Hashable
1699
+
1700
+ # The number of bid responses with an ad.
1701
+ # Corresponds to the JSON property `bidRate`
1702
+ # @return [Float]
1703
+ attr_accessor :bid_rate
1704
+
1705
+ # The number of bid requests sent to your bidder.
1706
+ # Corresponds to the JSON property `bidRequestRate`
1707
+ # @return [Float]
1708
+ attr_accessor :bid_request_rate
1709
+
1710
+ # Rate of various prefiltering statuses per match. Please refer to the callout-
1711
+ # status-codes.txt file for different statuses.
1712
+ # Corresponds to the JSON property `calloutStatusRate`
1713
+ # @return [Array<Object>]
1714
+ attr_accessor :callout_status_rate
1715
+
1716
+ # Average QPS for cookie matcher operations.
1717
+ # Corresponds to the JSON property `cookieMatcherStatusRate`
1718
+ # @return [Array<Object>]
1719
+ attr_accessor :cookie_matcher_status_rate
1720
+
1721
+ # Rate of ads with a given status. Please refer to the creative-status-codes.txt
1722
+ # file for different statuses.
1723
+ # Corresponds to the JSON property `creativeStatusRate`
1724
+ # @return [Array<Object>]
1725
+ attr_accessor :creative_status_rate
1726
+
1727
+ # The number of bid responses that were filtered due to a policy violation or
1728
+ # other errors.
1729
+ # Corresponds to the JSON property `filteredBidRate`
1730
+ # @return [Float]
1731
+ attr_accessor :filtered_bid_rate
1732
+
1733
+ # Average QPS for hosted match operations.
1734
+ # Corresponds to the JSON property `hostedMatchStatusRate`
1735
+ # @return [Array<Object>]
1736
+ attr_accessor :hosted_match_status_rate
1737
+
1738
+ # The number of potential queries based on your pretargeting settings.
1739
+ # Corresponds to the JSON property `inventoryMatchRate`
1740
+ # @return [Float]
1741
+ attr_accessor :inventory_match_rate
1742
+
1743
+ # Resource type.
1744
+ # Corresponds to the JSON property `kind`
1745
+ # @return [String]
1746
+ attr_accessor :kind
1747
+
1748
+ # The 50th percentile round trip latency(ms) as perceived from Google servers
1749
+ # for the duration period covered by the report.
1750
+ # Corresponds to the JSON property `latency50thPercentile`
1751
+ # @return [Float]
1752
+ attr_accessor :latency_50th_percentile
1753
+
1754
+ # The 85th percentile round trip latency(ms) as perceived from Google servers
1755
+ # for the duration period covered by the report.
1756
+ # Corresponds to the JSON property `latency85thPercentile`
1757
+ # @return [Float]
1758
+ attr_accessor :latency_85th_percentile
1759
+
1760
+ # The 95th percentile round trip latency(ms) as perceived from Google servers
1761
+ # for the duration period covered by the report.
1762
+ # Corresponds to the JSON property `latency95thPercentile`
1763
+ # @return [Float]
1764
+ attr_accessor :latency_95th_percentile
1765
+
1766
+ # Rate of various quota account statuses per quota check.
1767
+ # Corresponds to the JSON property `noQuotaInRegion`
1768
+ # @return [Float]
1769
+ attr_accessor :no_quota_in_region
1770
+
1771
+ # Rate of various quota account statuses per quota check.
1772
+ # Corresponds to the JSON property `outOfQuota`
1773
+ # @return [Float]
1774
+ attr_accessor :out_of_quota
1775
+
1776
+ # Average QPS for pixel match requests from clients.
1777
+ # Corresponds to the JSON property `pixelMatchRequests`
1778
+ # @return [Float]
1779
+ attr_accessor :pixel_match_requests
1780
+
1781
+ # Average QPS for pixel match responses from clients.
1782
+ # Corresponds to the JSON property `pixelMatchResponses`
1783
+ # @return [Float]
1784
+ attr_accessor :pixel_match_responses
1785
+
1786
+ # The configured quota limits for this account.
1787
+ # Corresponds to the JSON property `quotaConfiguredLimit`
1788
+ # @return [Float]
1789
+ attr_accessor :quota_configured_limit
1790
+
1791
+ # The throttled quota limits for this account.
1792
+ # Corresponds to the JSON property `quotaThrottledLimit`
1793
+ # @return [Float]
1794
+ attr_accessor :quota_throttled_limit
1795
+
1796
+ # The trading location of this data.
1797
+ # Corresponds to the JSON property `region`
1798
+ # @return [String]
1799
+ attr_accessor :region
1800
+
1801
+ # The number of properly formed bid responses received by our servers within the
1802
+ # deadline.
1803
+ # Corresponds to the JSON property `successfulRequestRate`
1804
+ # @return [Float]
1805
+ attr_accessor :successful_request_rate
1806
+
1807
+ # The unix timestamp of the starting time of this performance data.
1808
+ # Corresponds to the JSON property `timestamp`
1809
+ # @return [String]
1810
+ attr_accessor :timestamp
1811
+
1812
+ # The number of bid responses that were unsuccessful due to timeouts, incorrect
1813
+ # formatting, etc.
1814
+ # Corresponds to the JSON property `unsuccessfulRequestRate`
1815
+ # @return [Float]
1816
+ attr_accessor :unsuccessful_request_rate
1817
+
1818
+ def initialize(**args)
1819
+ update!(**args)
1820
+ end
1821
+
1822
+ # Update properties of this object
1823
+ def update!(**args)
1824
+ @bid_rate = args[:bid_rate] if args.key?(:bid_rate)
1825
+ @bid_request_rate = args[:bid_request_rate] if args.key?(:bid_request_rate)
1826
+ @callout_status_rate = args[:callout_status_rate] if args.key?(:callout_status_rate)
1827
+ @cookie_matcher_status_rate = args[:cookie_matcher_status_rate] if args.key?(:cookie_matcher_status_rate)
1828
+ @creative_status_rate = args[:creative_status_rate] if args.key?(:creative_status_rate)
1829
+ @filtered_bid_rate = args[:filtered_bid_rate] if args.key?(:filtered_bid_rate)
1830
+ @hosted_match_status_rate = args[:hosted_match_status_rate] if args.key?(:hosted_match_status_rate)
1831
+ @inventory_match_rate = args[:inventory_match_rate] if args.key?(:inventory_match_rate)
1832
+ @kind = args[:kind] if args.key?(:kind)
1833
+ @latency_50th_percentile = args[:latency_50th_percentile] if args.key?(:latency_50th_percentile)
1834
+ @latency_85th_percentile = args[:latency_85th_percentile] if args.key?(:latency_85th_percentile)
1835
+ @latency_95th_percentile = args[:latency_95th_percentile] if args.key?(:latency_95th_percentile)
1836
+ @no_quota_in_region = args[:no_quota_in_region] if args.key?(:no_quota_in_region)
1837
+ @out_of_quota = args[:out_of_quota] if args.key?(:out_of_quota)
1838
+ @pixel_match_requests = args[:pixel_match_requests] if args.key?(:pixel_match_requests)
1839
+ @pixel_match_responses = args[:pixel_match_responses] if args.key?(:pixel_match_responses)
1840
+ @quota_configured_limit = args[:quota_configured_limit] if args.key?(:quota_configured_limit)
1841
+ @quota_throttled_limit = args[:quota_throttled_limit] if args.key?(:quota_throttled_limit)
1842
+ @region = args[:region] if args.key?(:region)
1843
+ @successful_request_rate = args[:successful_request_rate] if args.key?(:successful_request_rate)
1844
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
1845
+ @unsuccessful_request_rate = args[:unsuccessful_request_rate] if args.key?(:unsuccessful_request_rate)
1846
+ end
1847
+ end
1848
+
1849
+ # The configuration data for an Ad Exchange performance report list. https://
1850
+ # sites.google.com/a/google.com/adx-integration/Home/engineering/binary-releases/
1851
+ # rtb-api-release https://cs.corp.google.com/#piper///depot/google3/contentads/
1852
+ # adx/tools/rtb_api/adxrtb.py
1853
+ class PerformanceReportList
1854
+ include Google::Apis::Core::Hashable
1855
+
1856
+ # Resource type.
1857
+ # Corresponds to the JSON property `kind`
1858
+ # @return [String]
1859
+ attr_accessor :kind
1860
+
1861
+ # A list of performance reports relevant for the account.
1862
+ # Corresponds to the JSON property `performanceReport`
1863
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PerformanceReport>]
1864
+ attr_accessor :performance_report
1865
+
1866
+ def initialize(**args)
1867
+ update!(**args)
1868
+ end
1869
+
1870
+ # Update properties of this object
1871
+ def update!(**args)
1872
+ @kind = args[:kind] if args.key?(:kind)
1873
+ @performance_report = args[:performance_report] if args.key?(:performance_report)
1874
+ end
1875
+ end
1876
+
1877
+ #
1878
+ class PretargetingConfig
1879
+ include Google::Apis::Core::Hashable
1880
+
1881
+ # The id for billing purposes, provided for reference. Leave this field blank
1882
+ # for insert requests; the id will be generated automatically.
1883
+ # Corresponds to the JSON property `billingId`
1884
+ # @return [String]
1885
+ attr_accessor :billing_id
1886
+
1887
+ # The config id; generated automatically. Leave this field blank for insert
1888
+ # requests.
1889
+ # Corresponds to the JSON property `configId`
1890
+ # @return [String]
1891
+ attr_accessor :config_id
1892
+
1893
+ # The name of the config. Must be unique. Required for all requests.
1894
+ # Corresponds to the JSON property `configName`
1895
+ # @return [String]
1896
+ attr_accessor :config_name
1897
+
1898
+ # List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or
1899
+ # PRETARGETING_CREATIVE_TYPE_VIDEO.
1900
+ # Corresponds to the JSON property `creativeType`
1901
+ # @return [Array<String>]
1902
+ attr_accessor :creative_type
1903
+
1904
+ # Requests which allow one of these (width, height) pairs will match. All pairs
1905
+ # must be supported ad dimensions.
1906
+ # Corresponds to the JSON property `dimensions`
1907
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::Dimension>]
1908
+ attr_accessor :dimensions
1909
+
1910
+ # Requests with any of these content labels will not match. Values are from
1911
+ # content-labels.txt in the downloadable files section.
1912
+ # Corresponds to the JSON property `excludedContentLabels`
1913
+ # @return [Array<String>]
1914
+ attr_accessor :excluded_content_labels
1915
+
1916
+ # Requests containing any of these geo criteria ids will not match.
1917
+ # Corresponds to the JSON property `excludedGeoCriteriaIds`
1918
+ # @return [Array<String>]
1919
+ attr_accessor :excluded_geo_criteria_ids
1920
+
1921
+ # Requests containing any of these placements will not match.
1922
+ # Corresponds to the JSON property `excludedPlacements`
1923
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::ExcludedPlacement>]
1924
+ attr_accessor :excluded_placements
1925
+
1926
+ # Requests containing any of these users list ids will not match.
1927
+ # Corresponds to the JSON property `excludedUserLists`
1928
+ # @return [Array<String>]
1929
+ attr_accessor :excluded_user_lists
1930
+
1931
+ # Requests containing any of these vertical ids will not match. Values are from
1932
+ # the publisher-verticals.txt file in the downloadable files section.
1933
+ # Corresponds to the JSON property `excludedVerticals`
1934
+ # @return [Array<String>]
1935
+ attr_accessor :excluded_verticals
1936
+
1937
+ # Requests containing any of these geo criteria ids will match.
1938
+ # Corresponds to the JSON property `geoCriteriaIds`
1939
+ # @return [Array<String>]
1940
+ attr_accessor :geo_criteria_ids
1941
+
1942
+ # Whether this config is active. Required for all requests.
1943
+ # Corresponds to the JSON property `isActive`
1944
+ # @return [Boolean]
1945
+ attr_accessor :is_active
1946
+ alias_method :is_active?, :is_active
1947
+
1948
+ # The kind of the resource, i.e. "adexchangebuyer#pretargetingConfig".
1949
+ # Corresponds to the JSON property `kind`
1950
+ # @return [String]
1951
+ attr_accessor :kind
1952
+
1953
+ # Request containing any of these language codes will match.
1954
+ # Corresponds to the JSON property `languages`
1955
+ # @return [Array<String>]
1956
+ attr_accessor :languages
1957
+
1958
+ # Requests containing any of these mobile carrier ids will match. Values are
1959
+ # from mobile-carriers.csv in the downloadable files section.
1960
+ # Corresponds to the JSON property `mobileCarriers`
1961
+ # @return [Array<String>]
1962
+ attr_accessor :mobile_carriers
1963
+
1964
+ # Requests containing any of these mobile device ids will match. Values are from
1965
+ # mobile-devices.csv in the downloadable files section.
1966
+ # Corresponds to the JSON property `mobileDevices`
1967
+ # @return [Array<String>]
1968
+ attr_accessor :mobile_devices
1969
+
1970
+ # Requests containing any of these mobile operating system version ids will
1971
+ # match. Values are from mobile-os.csv in the downloadable files section.
1972
+ # Corresponds to the JSON property `mobileOperatingSystemVersions`
1973
+ # @return [Array<String>]
1974
+ attr_accessor :mobile_operating_system_versions
1975
+
1976
+ # Requests containing any of these placements will match.
1977
+ # Corresponds to the JSON property `placements`
1978
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::Placement>]
1979
+ attr_accessor :placements
1980
+
1981
+ # Requests matching any of these platforms will match. Possible values are
1982
+ # PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and
1983
+ # PRETARGETING_PLATFORM_TABLET.
1984
+ # Corresponds to the JSON property `platforms`
1985
+ # @return [Array<String>]
1986
+ attr_accessor :platforms
1987
+
1988
+ # Creative attributes should be declared here if all creatives corresponding to
1989
+ # this pretargeting configuration have that creative attribute. Values are from
1990
+ # pretargetable-creative-attributes.txt in the downloadable files section.
1991
+ # Corresponds to the JSON property `supportedCreativeAttributes`
1992
+ # @return [Array<String>]
1993
+ attr_accessor :supported_creative_attributes
1994
+
1995
+ # Requests containing any of these user list ids will match.
1996
+ # Corresponds to the JSON property `userLists`
1997
+ # @return [Array<String>]
1998
+ attr_accessor :user_lists
1999
+
2000
+ # Requests that allow any of these vendor ids will match. Values are from
2001
+ # vendors.txt in the downloadable files section.
2002
+ # Corresponds to the JSON property `vendorTypes`
2003
+ # @return [Array<String>]
2004
+ attr_accessor :vendor_types
2005
+
2006
+ # Requests containing any of these vertical ids will match.
2007
+ # Corresponds to the JSON property `verticals`
2008
+ # @return [Array<String>]
2009
+ attr_accessor :verticals
2010
+
2011
+ # Video requests satisfying any of these player size constraints will match.
2012
+ # Corresponds to the JSON property `videoPlayerSizes`
2013
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::VideoPlayerSize>]
2014
+ attr_accessor :video_player_sizes
2015
+
2016
+ def initialize(**args)
2017
+ update!(**args)
2018
+ end
2019
+
2020
+ # Update properties of this object
2021
+ def update!(**args)
2022
+ @billing_id = args[:billing_id] if args.key?(:billing_id)
2023
+ @config_id = args[:config_id] if args.key?(:config_id)
2024
+ @config_name = args[:config_name] if args.key?(:config_name)
2025
+ @creative_type = args[:creative_type] if args.key?(:creative_type)
2026
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
2027
+ @excluded_content_labels = args[:excluded_content_labels] if args.key?(:excluded_content_labels)
2028
+ @excluded_geo_criteria_ids = args[:excluded_geo_criteria_ids] if args.key?(:excluded_geo_criteria_ids)
2029
+ @excluded_placements = args[:excluded_placements] if args.key?(:excluded_placements)
2030
+ @excluded_user_lists = args[:excluded_user_lists] if args.key?(:excluded_user_lists)
2031
+ @excluded_verticals = args[:excluded_verticals] if args.key?(:excluded_verticals)
2032
+ @geo_criteria_ids = args[:geo_criteria_ids] if args.key?(:geo_criteria_ids)
2033
+ @is_active = args[:is_active] if args.key?(:is_active)
2034
+ @kind = args[:kind] if args.key?(:kind)
2035
+ @languages = args[:languages] if args.key?(:languages)
2036
+ @mobile_carriers = args[:mobile_carriers] if args.key?(:mobile_carriers)
2037
+ @mobile_devices = args[:mobile_devices] if args.key?(:mobile_devices)
2038
+ @mobile_operating_system_versions = args[:mobile_operating_system_versions] if args.key?(:mobile_operating_system_versions)
2039
+ @placements = args[:placements] if args.key?(:placements)
2040
+ @platforms = args[:platforms] if args.key?(:platforms)
2041
+ @supported_creative_attributes = args[:supported_creative_attributes] if args.key?(:supported_creative_attributes)
2042
+ @user_lists = args[:user_lists] if args.key?(:user_lists)
2043
+ @vendor_types = args[:vendor_types] if args.key?(:vendor_types)
2044
+ @verticals = args[:verticals] if args.key?(:verticals)
2045
+ @video_player_sizes = args[:video_player_sizes] if args.key?(:video_player_sizes)
2046
+ end
2047
+
2048
+ #
2049
+ class Dimension
2050
+ include Google::Apis::Core::Hashable
2051
+
2052
+ # Height in pixels.
2053
+ # Corresponds to the JSON property `height`
2054
+ # @return [String]
2055
+ attr_accessor :height
2056
+
2057
+ # Width in pixels.
2058
+ # Corresponds to the JSON property `width`
2059
+ # @return [String]
2060
+ attr_accessor :width
2061
+
2062
+ def initialize(**args)
2063
+ update!(**args)
2064
+ end
2065
+
2066
+ # Update properties of this object
2067
+ def update!(**args)
2068
+ @height = args[:height] if args.key?(:height)
2069
+ @width = args[:width] if args.key?(:width)
2070
+ end
2071
+ end
2072
+
2073
+ #
2074
+ class ExcludedPlacement
2075
+ include Google::Apis::Core::Hashable
2076
+
2077
+ # The value of the placement. Interpretation depends on the placement type, e.g.
2078
+ # URL for a site placement, channel name for a channel placement, app id for a
2079
+ # mobile app placement.
2080
+ # Corresponds to the JSON property `token`
2081
+ # @return [String]
2082
+ attr_accessor :token
2083
+
2084
+ # The type of the placement.
2085
+ # Corresponds to the JSON property `type`
2086
+ # @return [String]
2087
+ attr_accessor :type
2088
+
2089
+ def initialize(**args)
2090
+ update!(**args)
2091
+ end
2092
+
2093
+ # Update properties of this object
2094
+ def update!(**args)
2095
+ @token = args[:token] if args.key?(:token)
2096
+ @type = args[:type] if args.key?(:type)
2097
+ end
2098
+ end
2099
+
2100
+ #
2101
+ class Placement
2102
+ include Google::Apis::Core::Hashable
2103
+
2104
+ # The value of the placement. Interpretation depends on the placement type, e.g.
2105
+ # URL for a site placement, channel name for a channel placement, app id for a
2106
+ # mobile app placement.
2107
+ # Corresponds to the JSON property `token`
2108
+ # @return [String]
2109
+ attr_accessor :token
2110
+
2111
+ # The type of the placement.
2112
+ # Corresponds to the JSON property `type`
2113
+ # @return [String]
2114
+ attr_accessor :type
2115
+
2116
+ def initialize(**args)
2117
+ update!(**args)
2118
+ end
2119
+
2120
+ # Update properties of this object
2121
+ def update!(**args)
2122
+ @token = args[:token] if args.key?(:token)
2123
+ @type = args[:type] if args.key?(:type)
2124
+ end
2125
+ end
2126
+
2127
+ #
2128
+ class VideoPlayerSize
2129
+ include Google::Apis::Core::Hashable
2130
+
2131
+ # The type of aspect ratio. Leave this field blank to match all aspect ratios.
2132
+ # Corresponds to the JSON property `aspectRatio`
2133
+ # @return [String]
2134
+ attr_accessor :aspect_ratio
2135
+
2136
+ # The minimum player height in pixels. Leave this field blank to match any
2137
+ # player height.
2138
+ # Corresponds to the JSON property `minHeight`
2139
+ # @return [String]
2140
+ attr_accessor :min_height
2141
+
2142
+ # The minimum player width in pixels. Leave this field blank to match any player
2143
+ # width.
2144
+ # Corresponds to the JSON property `minWidth`
2145
+ # @return [String]
2146
+ attr_accessor :min_width
2147
+
2148
+ def initialize(**args)
2149
+ update!(**args)
2150
+ end
2151
+
2152
+ # Update properties of this object
2153
+ def update!(**args)
2154
+ @aspect_ratio = args[:aspect_ratio] if args.key?(:aspect_ratio)
2155
+ @min_height = args[:min_height] if args.key?(:min_height)
2156
+ @min_width = args[:min_width] if args.key?(:min_width)
2157
+ end
2158
+ end
2159
+ end
2160
+
2161
+ #
2162
+ class PretargetingConfigList
2163
+ include Google::Apis::Core::Hashable
2164
+
2165
+ # A list of pretargeting configs
2166
+ # Corresponds to the JSON property `items`
2167
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig>]
2168
+ attr_accessor :items
2169
+
2170
+ # Resource type.
2171
+ # Corresponds to the JSON property `kind`
2172
+ # @return [String]
2173
+ attr_accessor :kind
2174
+
2175
+ def initialize(**args)
2176
+ update!(**args)
2177
+ end
2178
+
2179
+ # Update properties of this object
2180
+ def update!(**args)
2181
+ @items = args[:items] if args.key?(:items)
2182
+ @kind = args[:kind] if args.key?(:kind)
2183
+ end
2184
+ end
2185
+
2186
+ #
2187
+ class Price
2188
+ include Google::Apis::Core::Hashable
2189
+
2190
+ # The price value in micros.
2191
+ # Corresponds to the JSON property `amountMicros`
2192
+ # @return [Float]
2193
+ attr_accessor :amount_micros
2194
+
2195
+ # The currency code for the price.
2196
+ # Corresponds to the JSON property `currencyCode`
2197
+ # @return [String]
2198
+ attr_accessor :currency_code
2199
+
2200
+ # The pricing type for the deal/product.
2201
+ # Corresponds to the JSON property `pricingType`
2202
+ # @return [String]
2203
+ attr_accessor :pricing_type
2204
+
2205
+ def initialize(**args)
2206
+ update!(**args)
2207
+ end
2208
+
2209
+ # Update properties of this object
2210
+ def update!(**args)
2211
+ @amount_micros = args[:amount_micros] if args.key?(:amount_micros)
2212
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
2213
+ @pricing_type = args[:pricing_type] if args.key?(:pricing_type)
2214
+ end
2215
+ end
2216
+
2217
+ # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an
2218
+ # product can become [0,1] deals. To check if there is a PricePerBuyer for a
2219
+ # particular buyer or buyer/advertiser pair, we look for the most specific
2220
+ # matching rule - we first look for a rule matching the buyer and advertiser,
2221
+ # next a rule with the buyer but an empty advertiser list, and otherwise look
2222
+ # for a matching rule where no buyer is set.
2223
+ class PricePerBuyer
2224
+ include Google::Apis::Core::Hashable
2225
+
2226
+ # The buyer who will pay this price. If unset, all buyers can pay this price (if
2227
+ # the advertisers match, and there's no more specific rule matching the buyer).
2228
+ # Corresponds to the JSON property `buyer`
2229
+ # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
2230
+ attr_accessor :buyer
2231
+
2232
+ # The specified price
2233
+ # Corresponds to the JSON property `price`
2234
+ # @return [Google::Apis::AdexchangebuyerV1_4::Price]
2235
+ attr_accessor :price
2236
+
2237
+ def initialize(**args)
2238
+ update!(**args)
2239
+ end
2240
+
2241
+ # Update properties of this object
2242
+ def update!(**args)
2243
+ @buyer = args[:buyer] if args.key?(:buyer)
2244
+ @price = args[:price] if args.key?(:price)
2245
+ end
2246
+ end
2247
+
2248
+ #
2249
+ class PrivateData
2250
+ include Google::Apis::Core::Hashable
2251
+
2252
+ #
2253
+ # Corresponds to the JSON property `referenceId`
2254
+ # @return [String]
2255
+ attr_accessor :reference_id
2256
+
2257
+ #
2258
+ # Corresponds to the JSON property `referencePayload`
2259
+ # @return [String]
2260
+ attr_accessor :reference_payload
2261
+
2262
+ def initialize(**args)
2263
+ update!(**args)
2264
+ end
2265
+
2266
+ # Update properties of this object
2267
+ def update!(**args)
2268
+ @reference_id = args[:reference_id] if args.key?(:reference_id)
2269
+ @reference_payload = args[:reference_payload] if args.key?(:reference_payload)
2270
+ end
2271
+ end
2272
+
2273
+ # A product is segment of inventory that a seller wishes to sell. It is
2274
+ # associated with certain terms and targeting information which helps buyer know
2275
+ # more about the inventory. Each field in a product can have one of the
2276
+ # following setting:
2277
+ # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only
2278
+ # the seller can set this field. (seller-readonly) - Only the buyer can set this
2279
+ # field. (updatable) - The field is updatable at all times by either buyer or
2280
+ # the seller.
2281
+ class Product
2282
+ include Google::Apis::Core::Hashable
2283
+
2284
+ # Creation time in ms. since epoch (readonly)
2285
+ # Corresponds to the JSON property `creationTimeMs`
2286
+ # @return [String]
2287
+ attr_accessor :creation_time_ms
2288
+
2289
+ # Optional contact information for the creator of this product. (buyer-readonly)
2290
+ # Corresponds to the JSON property `creatorContacts`
2291
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
2292
+ attr_accessor :creator_contacts
2293
+
2294
+ # The proposed end time for the deal (ms since epoch) (buyer-readonly)
2295
+ # Corresponds to the JSON property `flightEndTimeMs`
2296
+ # @return [String]
2297
+ attr_accessor :flight_end_time_ms
2298
+
2299
+ # Inventory availability dates. (times are in ms since epoch) The granularity is
2300
+ # generally in the order of seconds. (buyer-readonly)
2301
+ # Corresponds to the JSON property `flightStartTimeMs`
2302
+ # @return [String]
2303
+ attr_accessor :flight_start_time_ms
2304
+
2305
+ # If the creator has already signed off on the product, then the buyer can
2306
+ # finalize the deal by accepting the product as is. When copying to a proposal,
2307
+ # if any of the terms are changed, then auto_finalize is automatically set to
2308
+ # false.
2309
+ # Corresponds to the JSON property `hasCreatorSignedOff`
2310
+ # @return [Boolean]
2311
+ attr_accessor :has_creator_signed_off
2312
+ alias_method :has_creator_signed_off?, :has_creator_signed_off
2313
+
2314
+ # What exchange will provide this inventory (readonly, except on create).
2315
+ # Corresponds to the JSON property `inventorySource`
2316
+ # @return [String]
2317
+ attr_accessor :inventory_source
2318
+
2319
+ # Identifies what kind of resource this is. Value: the fixed string "
2320
+ # adexchangebuyer#product".
2321
+ # Corresponds to the JSON property `kind`
2322
+ # @return [String]
2323
+ attr_accessor :kind
2324
+
2325
+ # Optional List of labels for the product (optional, buyer-readonly).
2326
+ # Corresponds to the JSON property `labels`
2327
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceLabel>]
2328
+ attr_accessor :labels
2329
+
2330
+ # Time of last update in ms. since epoch (readonly)
2331
+ # Corresponds to the JSON property `lastUpdateTimeMs`
2332
+ # @return [String]
2333
+ attr_accessor :last_update_time_ms
2334
+
2335
+ # The name for this product as set by the seller. (buyer-readonly)
2336
+ # Corresponds to the JSON property `name`
2337
+ # @return [String]
2338
+ attr_accessor :name
2339
+
2340
+ # The unique id for the product (readonly)
2341
+ # Corresponds to the JSON property `productId`
2342
+ # @return [String]
2343
+ attr_accessor :product_id
2344
+
2345
+ # The revision number of the product. (readonly)
2346
+ # Corresponds to the JSON property `revisionNumber`
2347
+ # @return [String]
2348
+ attr_accessor :revision_number
2349
+
2350
+ # Information about the seller that created this product (readonly, except on
2351
+ # create)
2352
+ # Corresponds to the JSON property `seller`
2353
+ # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
2354
+ attr_accessor :seller
2355
+
2356
+ # Targeting that is shared between the buyer and the seller. Each targeting
2357
+ # criteria has a specified key and for each key there is a list of inclusion
2358
+ # value or exclusion values. (buyer-readonly)
2359
+ # Corresponds to the JSON property `sharedTargetings`
2360
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::SharedTargeting>]
2361
+ attr_accessor :shared_targetings
2362
+
2363
+ # The state of the product. (buyer-readonly)
2364
+ # Corresponds to the JSON property `state`
2365
+ # @return [String]
2366
+ attr_accessor :state
2367
+
2368
+ # The syndication product associated with the deal. (readonly, except on create)
2369
+ # Corresponds to the JSON property `syndicationProduct`
2370
+ # @return [String]
2371
+ attr_accessor :syndication_product
2372
+
2373
+ # The negotiable terms of the deal (buyer-readonly)
2374
+ # Corresponds to the JSON property `terms`
2375
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTerms]
2376
+ attr_accessor :terms
2377
+
2378
+ #
2379
+ # Corresponds to the JSON property `webPropertyCode`
2380
+ # @return [String]
2381
+ attr_accessor :web_property_code
2382
+
2383
+ def initialize(**args)
2384
+ update!(**args)
2385
+ end
2386
+
2387
+ # Update properties of this object
2388
+ def update!(**args)
2389
+ @creation_time_ms = args[:creation_time_ms] if args.key?(:creation_time_ms)
2390
+ @creator_contacts = args[:creator_contacts] if args.key?(:creator_contacts)
2391
+ @flight_end_time_ms = args[:flight_end_time_ms] if args.key?(:flight_end_time_ms)
2392
+ @flight_start_time_ms = args[:flight_start_time_ms] if args.key?(:flight_start_time_ms)
2393
+ @has_creator_signed_off = args[:has_creator_signed_off] if args.key?(:has_creator_signed_off)
2394
+ @inventory_source = args[:inventory_source] if args.key?(:inventory_source)
2395
+ @kind = args[:kind] if args.key?(:kind)
2396
+ @labels = args[:labels] if args.key?(:labels)
2397
+ @last_update_time_ms = args[:last_update_time_ms] if args.key?(:last_update_time_ms)
2398
+ @name = args[:name] if args.key?(:name)
2399
+ @product_id = args[:product_id] if args.key?(:product_id)
2400
+ @revision_number = args[:revision_number] if args.key?(:revision_number)
2401
+ @seller = args[:seller] if args.key?(:seller)
2402
+ @shared_targetings = args[:shared_targetings] if args.key?(:shared_targetings)
2403
+ @state = args[:state] if args.key?(:state)
2404
+ @syndication_product = args[:syndication_product] if args.key?(:syndication_product)
2405
+ @terms = args[:terms] if args.key?(:terms)
2406
+ @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
2407
+ end
2408
+ end
2409
+
2410
+ # Represents a proposal in the marketplace. A proposal is the unit of
2411
+ # negotiation between a seller and a buyer and contains deals which are served.
2412
+ # Each field in a proposal can have one of the following setting:
2413
+ # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only
2414
+ # the seller can set this field. (seller-readonly) - Only the buyer can set this
2415
+ # field. (updatable) - The field is updatable at all times by either buyer or
2416
+ # the seller.
2417
+ class Proposal
2418
+ include Google::Apis::Core::Hashable
2419
+
2420
+ # Reference to the buyer that will get billed for this proposal. (readonly)
2421
+ # Corresponds to the JSON property `billedBuyer`
2422
+ # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
2423
+ attr_accessor :billed_buyer
2424
+
2425
+ # Reference to the buyer on the proposal. (readonly, except on create)
2426
+ # Corresponds to the JSON property `buyer`
2427
+ # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
2428
+ attr_accessor :buyer
2429
+
2430
+ # Optional contact information fort the buyer. (seller-readonly)
2431
+ # Corresponds to the JSON property `buyerContacts`
2432
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
2433
+ attr_accessor :buyer_contacts
2434
+
2435
+ # Private data for buyer. (hidden from seller).
2436
+ # Corresponds to the JSON property `buyerPrivateData`
2437
+ # @return [Google::Apis::AdexchangebuyerV1_4::PrivateData]
2438
+ attr_accessor :buyer_private_data
2439
+
2440
+ # When an proposal is in an accepted state, indicates whether the buyer has
2441
+ # signed off Once both sides have signed off on a deal, the proposal can be
2442
+ # finalized by the seller. (seller-readonly)
2443
+ # Corresponds to the JSON property `hasBuyerSignedOff`
2444
+ # @return [Boolean]
2445
+ attr_accessor :has_buyer_signed_off
2446
+ alias_method :has_buyer_signed_off?, :has_buyer_signed_off
2447
+
2448
+ # When an proposal is in an accepted state, indicates whether the buyer has
2449
+ # signed off Once both sides have signed off on a deal, the proposal can be
2450
+ # finalized by the seller. (buyer-readonly)
2451
+ # Corresponds to the JSON property `hasSellerSignedOff`
2452
+ # @return [Boolean]
2453
+ attr_accessor :has_seller_signed_off
2454
+ alias_method :has_seller_signed_off?, :has_seller_signed_off
2455
+
2456
+ # What exchange will provide this inventory (readonly, except on create).
2457
+ # Corresponds to the JSON property `inventorySource`
2458
+ # @return [String]
2459
+ attr_accessor :inventory_source
2460
+
2461
+ # True if the proposal is being renegotiated (readonly).
2462
+ # Corresponds to the JSON property `isRenegotiating`
2463
+ # @return [Boolean]
2464
+ attr_accessor :is_renegotiating
2465
+ alias_method :is_renegotiating?, :is_renegotiating
2466
+
2467
+ # True, if the buyside inventory setup is complete for this proposal. (readonly)
2468
+ # Corresponds to the JSON property `isSetupComplete`
2469
+ # @return [Boolean]
2470
+ attr_accessor :is_setup_complete
2471
+ alias_method :is_setup_complete?, :is_setup_complete
2472
+
2473
+ # Identifies what kind of resource this is. Value: the fixed string "
2474
+ # adexchangebuyer#proposal".
2475
+ # Corresponds to the JSON property `kind`
2476
+ # @return [String]
2477
+ attr_accessor :kind
2478
+
2479
+ # List of labels associated with the proposal. (readonly)
2480
+ # Corresponds to the JSON property `labels`
2481
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceLabel>]
2482
+ attr_accessor :labels
2483
+
2484
+ # The role of the last user that either updated the proposal or left a comment. (
2485
+ # readonly)
2486
+ # Corresponds to the JSON property `lastUpdaterOrCommentorRole`
2487
+ # @return [String]
2488
+ attr_accessor :last_updater_or_commentor_role
2489
+
2490
+ #
2491
+ # Corresponds to the JSON property `lastUpdaterRole`
2492
+ # @return [String]
2493
+ attr_accessor :last_updater_role
2494
+
2495
+ # The name for the proposal (updatable)
2496
+ # Corresponds to the JSON property `name`
2497
+ # @return [String]
2498
+ attr_accessor :name
2499
+
2500
+ # Indicates whether the buyer/seller created the proposal.(readonly)
2501
+ # Corresponds to the JSON property `originatorRole`
2502
+ # @return [String]
2503
+ attr_accessor :originator_role
2504
+
2505
+ # The unique id of the proposal. (readonly).
2506
+ # Corresponds to the JSON property `proposalId`
2507
+ # @return [String]
2508
+ attr_accessor :proposal_id
2509
+
2510
+ # The current state of the proposal. (readonly)
2511
+ # Corresponds to the JSON property `proposalState`
2512
+ # @return [String]
2513
+ attr_accessor :proposal_state
2514
+
2515
+ # The revision number for the proposal (readonly).
2516
+ # Corresponds to the JSON property `revisionNumber`
2517
+ # @return [String]
2518
+ attr_accessor :revision_number
2519
+
2520
+ # The time (ms since epoch) when the proposal was last revised (readonly).
2521
+ # Corresponds to the JSON property `revisionTimeMs`
2522
+ # @return [String]
2523
+ attr_accessor :revision_time_ms
2524
+
2525
+ # Reference to the seller on the proposal. (readonly, except on create)
2526
+ # Corresponds to the JSON property `seller`
2527
+ # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
2528
+ attr_accessor :seller
2529
+
2530
+ # Optional contact information for the seller (buyer-readonly).
2531
+ # Corresponds to the JSON property `sellerContacts`
2532
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
2533
+ attr_accessor :seller_contacts
2534
+
2535
+ def initialize(**args)
2536
+ update!(**args)
2537
+ end
2538
+
2539
+ # Update properties of this object
2540
+ def update!(**args)
2541
+ @billed_buyer = args[:billed_buyer] if args.key?(:billed_buyer)
2542
+ @buyer = args[:buyer] if args.key?(:buyer)
2543
+ @buyer_contacts = args[:buyer_contacts] if args.key?(:buyer_contacts)
2544
+ @buyer_private_data = args[:buyer_private_data] if args.key?(:buyer_private_data)
2545
+ @has_buyer_signed_off = args[:has_buyer_signed_off] if args.key?(:has_buyer_signed_off)
2546
+ @has_seller_signed_off = args[:has_seller_signed_off] if args.key?(:has_seller_signed_off)
2547
+ @inventory_source = args[:inventory_source] if args.key?(:inventory_source)
2548
+ @is_renegotiating = args[:is_renegotiating] if args.key?(:is_renegotiating)
2549
+ @is_setup_complete = args[:is_setup_complete] if args.key?(:is_setup_complete)
2550
+ @kind = args[:kind] if args.key?(:kind)
2551
+ @labels = args[:labels] if args.key?(:labels)
2552
+ @last_updater_or_commentor_role = args[:last_updater_or_commentor_role] if args.key?(:last_updater_or_commentor_role)
2553
+ @last_updater_role = args[:last_updater_role] if args.key?(:last_updater_role)
2554
+ @name = args[:name] if args.key?(:name)
2555
+ @originator_role = args[:originator_role] if args.key?(:originator_role)
2556
+ @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
2557
+ @proposal_state = args[:proposal_state] if args.key?(:proposal_state)
2558
+ @revision_number = args[:revision_number] if args.key?(:revision_number)
2559
+ @revision_time_ms = args[:revision_time_ms] if args.key?(:revision_time_ms)
2560
+ @seller = args[:seller] if args.key?(:seller)
2561
+ @seller_contacts = args[:seller_contacts] if args.key?(:seller_contacts)
2562
+ end
2563
+ end
2564
+
2565
+ #
2566
+ class Seller
2567
+ include Google::Apis::Core::Hashable
2568
+
2569
+ # The unique id for the seller. The seller fills in this field. The seller
2570
+ # account id is then available to buyer in the product.
2571
+ # Corresponds to the JSON property `accountId`
2572
+ # @return [String]
2573
+ attr_accessor :account_id
2574
+
2575
+ # Optional sub-account id for the seller.
2576
+ # Corresponds to the JSON property `subAccountId`
2577
+ # @return [String]
2578
+ attr_accessor :sub_account_id
2579
+
2580
+ def initialize(**args)
2581
+ update!(**args)
2582
+ end
2583
+
2584
+ # Update properties of this object
2585
+ def update!(**args)
2586
+ @account_id = args[:account_id] if args.key?(:account_id)
2587
+ @sub_account_id = args[:sub_account_id] if args.key?(:sub_account_id)
2588
+ end
2589
+ end
2590
+
2591
+ #
2592
+ class SharedTargeting
2593
+ include Google::Apis::Core::Hashable
2594
+
2595
+ # The list of values to exclude from targeting.
2596
+ # Corresponds to the JSON property `exclusions`
2597
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValue>]
2598
+ attr_accessor :exclusions
2599
+
2600
+ # The list of value to include as part of the targeting.
2601
+ # Corresponds to the JSON property `inclusions`
2602
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValue>]
2603
+ attr_accessor :inclusions
2604
+
2605
+ # The key representing the shared targeting criterion.
2606
+ # Corresponds to the JSON property `key`
2607
+ # @return [String]
2608
+ attr_accessor :key
2609
+
2610
+ def initialize(**args)
2611
+ update!(**args)
2612
+ end
2613
+
2614
+ # Update properties of this object
2615
+ def update!(**args)
2616
+ @exclusions = args[:exclusions] if args.key?(:exclusions)
2617
+ @inclusions = args[:inclusions] if args.key?(:inclusions)
2618
+ @key = args[:key] if args.key?(:key)
2619
+ end
2620
+ end
2621
+
2622
+ #
2623
+ class TargetingValue
2624
+ include Google::Apis::Core::Hashable
2625
+
2626
+ # The creative size value to exclude/include.
2627
+ # Corresponds to the JSON property `creativeSizeValue`
2628
+ # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueCreativeSize]
2629
+ attr_accessor :creative_size_value
2630
+
2631
+ # The daypart targeting to include / exclude. Filled in when the key is
2632
+ # GOOG_DAYPART_TARGETING.
2633
+ # Corresponds to the JSON property `dayPartTargetingValue`
2634
+ # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueDayPartTargeting]
2635
+ attr_accessor :day_part_targeting_value
2636
+
2637
+ # The long value to exclude/include.
2638
+ # Corresponds to the JSON property `longValue`
2639
+ # @return [String]
2640
+ attr_accessor :long_value
2641
+
2642
+ # The string value to exclude/include.
2643
+ # Corresponds to the JSON property `stringValue`
2644
+ # @return [String]
2645
+ attr_accessor :string_value
2646
+
2647
+ def initialize(**args)
2648
+ update!(**args)
2649
+ end
2650
+
2651
+ # Update properties of this object
2652
+ def update!(**args)
2653
+ @creative_size_value = args[:creative_size_value] if args.key?(:creative_size_value)
2654
+ @day_part_targeting_value = args[:day_part_targeting_value] if args.key?(:day_part_targeting_value)
2655
+ @long_value = args[:long_value] if args.key?(:long_value)
2656
+ @string_value = args[:string_value] if args.key?(:string_value)
2657
+ end
2658
+ end
2659
+
2660
+ #
2661
+ class TargetingValueCreativeSize
2662
+ include Google::Apis::Core::Hashable
2663
+
2664
+ # For video size type, the list of companion sizes.
2665
+ # Corresponds to the JSON property `companionSizes`
2666
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValueSize>]
2667
+ attr_accessor :companion_sizes
2668
+
2669
+ # The Creative size type.
2670
+ # Corresponds to the JSON property `creativeSizeType`
2671
+ # @return [String]
2672
+ attr_accessor :creative_size_type
2673
+
2674
+ # For regular or video creative size type, specifies the size of the creative.
2675
+ # Corresponds to the JSON property `size`
2676
+ # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueSize]
2677
+ attr_accessor :size
2678
+
2679
+ def initialize(**args)
2680
+ update!(**args)
2681
+ end
2682
+
2683
+ # Update properties of this object
2684
+ def update!(**args)
2685
+ @companion_sizes = args[:companion_sizes] if args.key?(:companion_sizes)
2686
+ @creative_size_type = args[:creative_size_type] if args.key?(:creative_size_type)
2687
+ @size = args[:size] if args.key?(:size)
2688
+ end
2689
+ end
2690
+
2691
+ #
2692
+ class TargetingValueDayPartTargeting
2693
+ include Google::Apis::Core::Hashable
2694
+
2695
+ #
2696
+ # Corresponds to the JSON property `dayParts`
2697
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValueDayPartTargetingDayPart>]
2698
+ attr_accessor :day_parts
2699
+
2700
+ #
2701
+ # Corresponds to the JSON property `timeZoneType`
2702
+ # @return [String]
2703
+ attr_accessor :time_zone_type
2704
+
2705
+ def initialize(**args)
2706
+ update!(**args)
2707
+ end
2708
+
2709
+ # Update properties of this object
2710
+ def update!(**args)
2711
+ @day_parts = args[:day_parts] if args.key?(:day_parts)
2712
+ @time_zone_type = args[:time_zone_type] if args.key?(:time_zone_type)
2713
+ end
2714
+ end
2715
+
2716
+ #
2717
+ class TargetingValueDayPartTargetingDayPart
2718
+ include Google::Apis::Core::Hashable
2719
+
2720
+ #
2721
+ # Corresponds to the JSON property `dayOfWeek`
2722
+ # @return [String]
2723
+ attr_accessor :day_of_week
2724
+
2725
+ #
2726
+ # Corresponds to the JSON property `endHour`
2727
+ # @return [Fixnum]
2728
+ attr_accessor :end_hour
2729
+
2730
+ #
2731
+ # Corresponds to the JSON property `endMinute`
2732
+ # @return [Fixnum]
2733
+ attr_accessor :end_minute
2734
+
2735
+ #
2736
+ # Corresponds to the JSON property `startHour`
2737
+ # @return [Fixnum]
2738
+ attr_accessor :start_hour
2739
+
2740
+ #
2741
+ # Corresponds to the JSON property `startMinute`
2742
+ # @return [Fixnum]
2743
+ attr_accessor :start_minute
2744
+
2745
+ def initialize(**args)
2746
+ update!(**args)
2747
+ end
2748
+
2749
+ # Update properties of this object
2750
+ def update!(**args)
2751
+ @day_of_week = args[:day_of_week] if args.key?(:day_of_week)
2752
+ @end_hour = args[:end_hour] if args.key?(:end_hour)
2753
+ @end_minute = args[:end_minute] if args.key?(:end_minute)
2754
+ @start_hour = args[:start_hour] if args.key?(:start_hour)
2755
+ @start_minute = args[:start_minute] if args.key?(:start_minute)
2756
+ end
2757
+ end
2758
+
2759
+ #
2760
+ class TargetingValueSize
2761
+ include Google::Apis::Core::Hashable
2762
+
2763
+ # The height of the creative.
2764
+ # Corresponds to the JSON property `height`
2765
+ # @return [Fixnum]
2766
+ attr_accessor :height
2767
+
2768
+ # The width of the creative.
2769
+ # Corresponds to the JSON property `width`
2770
+ # @return [Fixnum]
2771
+ attr_accessor :width
2772
+
2773
+ def initialize(**args)
2774
+ update!(**args)
2775
+ end
2776
+
2777
+ # Update properties of this object
2778
+ def update!(**args)
2779
+ @height = args[:height] if args.key?(:height)
2780
+ @width = args[:width] if args.key?(:width)
2781
+ end
2782
+ end
2783
+ end
2784
+ end
2785
+ end