google-api-client 0.41.0 → 0.41.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +72 -0
  3. data/generated/google/apis/admin_directory_v1.rb +1 -1
  4. data/generated/google/apis/admin_directory_v1/classes.rb +31 -0
  5. data/generated/google/apis/admin_directory_v1/representations.rb +16 -0
  6. data/generated/google/apis/admin_directory_v1/service.rb +3 -5
  7. data/generated/google/apis/apigee_v1.rb +1 -1
  8. data/generated/google/apis/apigee_v1/classes.rb +132 -42
  9. data/generated/google/apis/apigee_v1/representations.rb +16 -0
  10. data/generated/google/apis/apigee_v1/service.rb +23 -24
  11. data/generated/google/apis/bigquery_v2.rb +1 -1
  12. data/generated/google/apis/bigquery_v2/classes.rb +36 -6
  13. data/generated/google/apis/bigquery_v2/representations.rb +4 -0
  14. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  15. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -6
  16. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  17. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  18. data/generated/google/apis/civicinfo_v2.rb +2 -2
  19. data/generated/google/apis/civicinfo_v2/classes.rb +12 -800
  20. data/generated/google/apis/civicinfo_v2/representations.rb +0 -295
  21. data/generated/google/apis/civicinfo_v2/service.rb +27 -62
  22. data/generated/google/apis/cloudasset_v1.rb +1 -1
  23. data/generated/google/apis/cloudasset_v1/classes.rb +391 -3
  24. data/generated/google/apis/cloudasset_v1/representations.rb +101 -0
  25. data/generated/google/apis/cloudasset_v1/service.rb +178 -0
  26. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  27. data/generated/google/apis/cloudbilling_v1/classes.rb +38 -6
  28. data/generated/google/apis/cloudbilling_v1/representations.rb +16 -0
  29. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  30. data/generated/google/apis/cloudbuild_v1/service.rb +0 -42
  31. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  32. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  33. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  34. data/generated/google/apis/cloudfunctions_v1/classes.rb +6 -6
  35. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  36. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  37. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  38. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +2 -3
  39. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  40. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +2 -3
  41. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  42. data/generated/google/apis/cloudscheduler_v1/classes.rb +2 -1
  43. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  44. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +2 -1
  45. data/generated/google/apis/composer_v1beta1.rb +1 -1
  46. data/generated/google/apis/composer_v1beta1/classes.rb +4 -3
  47. data/generated/google/apis/composer_v1beta1/service.rb +13 -0
  48. data/generated/google/apis/compute_alpha.rb +1 -1
  49. data/generated/google/apis/compute_alpha/classes.rb +45 -31
  50. data/generated/google/apis/compute_alpha/service.rb +9 -4
  51. data/generated/google/apis/compute_beta.rb +1 -1
  52. data/generated/google/apis/compute_beta/classes.rb +262 -31
  53. data/generated/google/apis/compute_beta/representations.rb +70 -0
  54. data/generated/google/apis/compute_beta/service.rb +233 -4
  55. data/generated/google/apis/compute_v1.rb +1 -1
  56. data/generated/google/apis/compute_v1/classes.rb +592 -29
  57. data/generated/google/apis/compute_v1/representations.rb +182 -0
  58. data/generated/google/apis/compute_v1/service.rb +501 -4
  59. data/generated/google/apis/container_v1.rb +1 -1
  60. data/generated/google/apis/container_v1/classes.rb +29 -3
  61. data/generated/google/apis/container_v1/representations.rb +15 -0
  62. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  63. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +1 -1
  64. data/generated/google/apis/content_v2_1.rb +1 -1
  65. data/generated/google/apis/content_v2_1/classes.rb +172 -0
  66. data/generated/google/apis/content_v2_1/representations.rb +71 -0
  67. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  68. data/generated/google/apis/datacatalog_v1beta1/classes.rb +34 -10
  69. data/generated/google/apis/datacatalog_v1beta1/representations.rb +13 -0
  70. data/generated/google/apis/datacatalog_v1beta1/service.rb +37 -0
  71. data/generated/google/apis/dialogflow_v2.rb +1 -1
  72. data/generated/google/apis/dialogflow_v2/classes.rb +194 -20
  73. data/generated/google/apis/dialogflow_v2/representations.rb +77 -0
  74. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  75. data/generated/google/apis/dialogflow_v2beta1/classes.rb +194 -20
  76. data/generated/google/apis/dialogflow_v2beta1/representations.rb +77 -0
  77. data/generated/google/apis/displayvideo_v1.rb +1 -1
  78. data/generated/google/apis/displayvideo_v1/classes.rb +105 -2
  79. data/generated/google/apis/displayvideo_v1/representations.rb +11 -0
  80. data/generated/google/apis/displayvideo_v1/service.rb +78 -1
  81. data/generated/google/apis/dlp_v2.rb +1 -1
  82. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  83. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  84. data/generated/google/apis/doubleclicksearch_v2.rb +4 -4
  85. data/generated/google/apis/doubleclicksearch_v2/classes.rb +127 -111
  86. data/generated/google/apis/doubleclicksearch_v2/representations.rb +4 -6
  87. data/generated/google/apis/doubleclicksearch_v2/service.rb +47 -78
  88. data/generated/google/apis/fcm_v1.rb +1 -1
  89. data/generated/google/apis/healthcare_v1.rb +1 -1
  90. data/generated/google/apis/healthcare_v1/classes.rb +6 -6
  91. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  92. data/generated/google/apis/healthcare_v1beta1/classes.rb +6 -6
  93. data/generated/google/apis/logging_v2.rb +1 -1
  94. data/generated/google/apis/logging_v2/classes.rb +69 -21
  95. data/generated/google/apis/ml_v1.rb +1 -1
  96. data/generated/google/apis/ml_v1/classes.rb +8 -0
  97. data/generated/google/apis/ml_v1/representations.rb +1 -0
  98. data/generated/google/apis/monitoring_v3.rb +1 -1
  99. data/generated/google/apis/monitoring_v3/classes.rb +2 -2
  100. data/generated/google/apis/people_v1.rb +4 -1
  101. data/generated/google/apis/playablelocations_v3.rb +31 -0
  102. data/generated/google/apis/playablelocations_v3/classes.rb +633 -0
  103. data/generated/google/apis/playablelocations_v3/representations.rb +273 -0
  104. data/generated/google/apis/playablelocations_v3/service.rb +157 -0
  105. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  106. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +19 -0
  107. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +14 -0
  108. data/generated/google/apis/pubsub_v1.rb +1 -1
  109. data/generated/google/apis/pubsub_v1/classes.rb +4 -2
  110. data/generated/google/apis/realtimebidding_v1.rb +40 -0
  111. data/generated/google/apis/realtimebidding_v1/classes.rb +1436 -0
  112. data/generated/google/apis/realtimebidding_v1/representations.rb +565 -0
  113. data/generated/google/apis/realtimebidding_v1/service.rb +661 -0
  114. data/generated/google/apis/redis_v1.rb +1 -1
  115. data/generated/google/apis/redis_v1/classes.rb +1 -1
  116. data/generated/google/apis/redis_v1/service.rb +1 -1
  117. data/generated/google/apis/redis_v1beta1.rb +1 -1
  118. data/generated/google/apis/redis_v1beta1/classes.rb +1 -1
  119. data/generated/google/apis/redis_v1beta1/service.rb +1 -1
  120. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  121. data/generated/google/apis/remotebuildexecution_v1/classes.rb +1 -1
  122. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  123. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +1 -1
  124. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  125. data/generated/google/apis/remotebuildexecution_v2/classes.rb +1 -1
  126. data/generated/google/apis/run_v1.rb +2 -2
  127. data/generated/google/apis/run_v1/classes.rb +4 -1
  128. data/generated/google/apis/run_v1/service.rb +1 -1
  129. data/generated/google/apis/run_v1alpha1.rb +2 -2
  130. data/generated/google/apis/run_v1alpha1/service.rb +1 -1
  131. data/generated/google/apis/run_v1beta1.rb +2 -2
  132. data/generated/google/apis/run_v1beta1/service.rb +1 -1
  133. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  134. data/generated/google/apis/sasportal_v1alpha1/classes.rb +19 -0
  135. data/generated/google/apis/sasportal_v1alpha1/representations.rb +14 -0
  136. data/generated/google/apis/secretmanager_v1.rb +1 -1
  137. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  138. data/generated/google/apis/securitycenter_v1.rb +1 -1
  139. data/generated/google/apis/securitycenter_v1/service.rb +4 -5
  140. data/generated/google/apis/securitycenter_v1p1beta1.rb +1 -1
  141. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +2 -5
  142. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  143. data/generated/google/apis/servicecontrol_v1/classes.rb +6 -0
  144. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -0
  145. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  146. data/generated/google/apis/servicemanagement_v1/classes.rb +1 -0
  147. data/generated/google/apis/sheets_v4.rb +1 -1
  148. data/generated/google/apis/sheets_v4/classes.rb +90 -0
  149. data/generated/google/apis/spanner_v1.rb +1 -1
  150. data/generated/google/apis/spanner_v1/classes.rb +25 -20
  151. data/generated/google/apis/spanner_v1/service.rb +2 -0
  152. data/generated/google/apis/speech_v1.rb +1 -1
  153. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  154. data/generated/google/apis/storage_v1.rb +1 -1
  155. data/generated/google/apis/storage_v1/service.rb +2 -3
  156. data/generated/google/apis/texttospeech_v1.rb +1 -1
  157. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  158. data/generated/google/apis/vectortile_v1.rb +31 -0
  159. data/generated/google/apis/vectortile_v1/classes.rb +881 -0
  160. data/generated/google/apis/vectortile_v1/representations.rb +329 -0
  161. data/generated/google/apis/vectortile_v1/service.rb +268 -0
  162. data/generated/google/apis/webfonts_v1.rb +5 -5
  163. data/generated/google/apis/webfonts_v1/classes.rb +4 -3
  164. data/generated/google/apis/webfonts_v1/representations.rb +1 -2
  165. data/generated/google/apis/webfonts_v1/service.rb +14 -21
  166. data/lib/google/apis/version.rb +1 -1
  167. metadata +15 -3
@@ -76,6 +76,12 @@ module Google
76
76
  include Google::Apis::Core::JsonObjectSupport
77
77
  end
78
78
 
79
+ class SasPortalDeviceMetadata
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
79
85
  class SasPortalDeviceModel
80
86
  class Representation < Google::Apis::Core::JsonRepresentation; end
81
87
 
@@ -265,6 +271,8 @@ module Google
265
271
  class Representation < Google::Apis::Core::JsonRepresentation
266
272
  property :active_config, as: 'activeConfig', class: Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceConfig, decorator: Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceConfig::Representation
267
273
 
274
+ property :device_metadata, as: 'deviceMetadata', class: Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceMetadata, decorator: Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceMetadata::Representation
275
+
268
276
  property :display_name, as: 'displayName'
269
277
  property :fcc_id, as: 'fccId'
270
278
  collection :grants, as: 'grants', class: Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceGrant, decorator: Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceGrant::Representation
@@ -319,6 +327,12 @@ module Google
319
327
  end
320
328
  end
321
329
 
330
+ class SasPortalDeviceMetadata
331
+ # @private
332
+ class Representation < Google::Apis::Core::JsonRepresentation
333
+ end
334
+ end
335
+
322
336
  class SasPortalDeviceModel
323
337
  # @private
324
338
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/pubsub/docs
26
26
  module PubsubV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200603'
28
+ REVISION = '20200616'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -742,7 +742,8 @@ module Google
742
742
  include Google::Apis::Core::Hashable
743
743
 
744
744
  # Attributes for this message. If this field is empty, the message must
745
- # contain non-empty data.
745
+ # contain non-empty data. This can be used to filter messages on the
746
+ # subscription.
746
747
  # Corresponds to the JSON property `attributes`
747
748
  # @return [Hash<String,String>]
748
749
  attr_accessor :attributes
@@ -1191,7 +1192,8 @@ module Google
1191
1192
  # @return [Google::Apis::PubsubV1::ExpirationPolicy]
1192
1193
  attr_accessor :expiration_policy
1193
1194
 
1194
- # An expression written in the Cloud Pub/Sub filter language. If non-empty,
1195
+ # An expression written in the Pub/Sub [filter
1196
+ # language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
1195
1197
  # then only `PubsubMessage`s whose `attributes` field matches the filter are
1196
1198
  # delivered on this subscription. If empty, then no messages are filtered
1197
1199
  # out.
@@ -0,0 +1,40 @@
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/realtimebidding_v1/service.rb'
16
+ require 'google/apis/realtimebidding_v1/classes.rb'
17
+ require 'google/apis/realtimebidding_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Real-time Bidding API
22
+ #
23
+ # Allows external bidders to manage their RTB integration with Google. This
24
+ # includes managing bidder endpoints, QPS quotas, configuring what ad inventory
25
+ # to receive via pretargeting, submitting creatives for verification, and
26
+ # accessing creative metadata such as approval status.
27
+ #
28
+ # @see https://developers.google.com/authorized-buyers/apis/realtimebidding/reference/rest/
29
+ module RealtimebiddingV1
30
+ VERSION = 'V1'
31
+ REVISION = '20200623'
32
+
33
+ # Manage your Ad Exchange buyer account configuration
34
+ AUTH_ADEXCHANGE_BUYER = 'https://www.googleapis.com/auth/adexchange.buyer'
35
+
36
+ # See, create, edit, and delete your Authorized Buyers and Open Bidding account entities
37
+ AUTH_REALTIME_BIDDING = 'https://www.googleapis.com/auth/realtime-bidding'
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,1436 @@
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 RealtimebiddingV1
24
+
25
+ # Detected ad technology provider information.
26
+ class AdTechnologyProviders
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The detected ad technology provider IDs for this creative.
30
+ # See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for
31
+ # mapping of provider ID to provided name, a privacy policy URL, and a list
32
+ # of domains which can be attributed to the provider.
33
+ # If the creative contains provider IDs that are outside of those listed in
34
+ # the `BidRequest.adslot.consented_providers_settings.consented_providers`
35
+ # field on the [Google bid
36
+ # protocol](https://developers.google.com/authorized-buyers/rtb/downloads/
37
+ # realtime-bidding-proto)
38
+ # and the
39
+ # `BidRequest.user.ext.consented_providers_settings.consented_providers`
40
+ # field on the [OpenRTB
41
+ # protocol](https://developers.google.com/authorized-buyers/rtb/downloads/
42
+ # openrtb-adx-proto),
43
+ # and a bid is submitted with that creative for an impression
44
+ # that will serve to an EEA user, the bid will be filtered before the
45
+ # auction.
46
+ # Corresponds to the JSON property `detectedProviderIds`
47
+ # @return [Array<Fixnum>]
48
+ attr_accessor :detected_provider_ids
49
+
50
+ # Whether the creative contains an unidentified ad technology provider.
51
+ # If true for a given creative, any bid submitted with that creative for an
52
+ # impression that will serve to an EEA user will be filtered before the
53
+ # auction.
54
+ # Corresponds to the JSON property `hasUnidentifiedProvider`
55
+ # @return [Boolean]
56
+ attr_accessor :has_unidentified_provider
57
+ alias_method :has_unidentified_provider?, :has_unidentified_provider
58
+
59
+ def initialize(**args)
60
+ update!(**args)
61
+ end
62
+
63
+ # Update properties of this object
64
+ def update!(**args)
65
+ @detected_provider_ids = args[:detected_provider_ids] if args.key?(:detected_provider_ids)
66
+ @has_unidentified_provider = args[:has_unidentified_provider] if args.key?(:has_unidentified_provider)
67
+ end
68
+ end
69
+
70
+ # Detected advertiser and brand information.
71
+ class AdvertiserAndBrand
72
+ include Google::Apis::Core::Hashable
73
+
74
+ # See https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt
75
+ # for the list of possible values.
76
+ # Can be used to filter the response of the
77
+ # creatives.list
78
+ # method.
79
+ # Corresponds to the JSON property `advertiserId`
80
+ # @return [Fixnum]
81
+ attr_accessor :advertiser_id
82
+
83
+ # Advertiser name.
84
+ # Can be used to filter the response of the
85
+ # creatives.list
86
+ # method.
87
+ # Corresponds to the JSON property `advertiserName`
88
+ # @return [String]
89
+ attr_accessor :advertiser_name
90
+
91
+ # Detected brand ID or zero if no brand has been detected.
92
+ # See https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt for
93
+ # the list of possible values.
94
+ # Can be used to filter the response of the
95
+ # creatives.list
96
+ # method.
97
+ # Corresponds to the JSON property `brandId`
98
+ # @return [Fixnum]
99
+ attr_accessor :brand_id
100
+
101
+ # Brand name.
102
+ # Can be used to filter the response of the
103
+ # creatives.list
104
+ # method.
105
+ # Corresponds to the JSON property `brandName`
106
+ # @return [String]
107
+ attr_accessor :brand_name
108
+
109
+ def initialize(**args)
110
+ update!(**args)
111
+ end
112
+
113
+ # Update properties of this object
114
+ def update!(**args)
115
+ @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
116
+ @advertiser_name = args[:advertiser_name] if args.key?(:advertiser_name)
117
+ @brand_id = args[:brand_id] if args.key?(:brand_id)
118
+ @brand_name = args[:brand_name] if args.key?(:brand_name)
119
+ end
120
+ end
121
+
122
+ # A request to close a specified user list.
123
+ class CloseUserListRequest
124
+ include Google::Apis::Core::Hashable
125
+
126
+ def initialize(**args)
127
+ update!(**args)
128
+ end
129
+
130
+ # Update properties of this object
131
+ def update!(**args)
132
+ end
133
+ end
134
+
135
+ # A creative and its classification data.
136
+ class Creative
137
+ include Google::Apis::Core::Hashable
138
+
139
+ # Output only. ID of the buyer account that this creative is owned by.
140
+ # Can be used to filter the response of the
141
+ # creatives.list
142
+ # method with equality and inequality check.
143
+ # Corresponds to the JSON property `accountId`
144
+ # @return [Fixnum]
145
+ attr_accessor :account_id
146
+
147
+ # The link to AdChoices destination page. This is only supported for native
148
+ # ads.
149
+ # Corresponds to the JSON property `adChoicesDestinationUrl`
150
+ # @return [String]
151
+ attr_accessor :ad_choices_destination_url
152
+
153
+ # The name of the company being advertised in the creative.
154
+ # Can be used to filter the response of the
155
+ # creatives.list
156
+ # method.
157
+ # Corresponds to the JSON property `advertiserName`
158
+ # @return [String]
159
+ attr_accessor :advertiser_name
160
+
161
+ # The agency ID for this creative.
162
+ # Corresponds to the JSON property `agencyId`
163
+ # @return [Fixnum]
164
+ attr_accessor :agency_id
165
+
166
+ # Output only. The last update timestamp of the creative via API.
167
+ # Corresponds to the JSON property `apiUpdateTime`
168
+ # @return [String]
169
+ attr_accessor :api_update_time
170
+
171
+ # Output only. The format of this creative.
172
+ # Can be used to filter the response of the
173
+ # creatives.list
174
+ # method.
175
+ # Corresponds to the JSON property `creativeFormat`
176
+ # @return [String]
177
+ attr_accessor :creative_format
178
+
179
+ # Buyer-specific creative ID that references this creative in bid responses.
180
+ # This field is Ignored in update operations. Can be used to filter the
181
+ # response of the
182
+ # creatives.list
183
+ # method.
184
+ # The maximum length of the creative ID is 128 bytes.
185
+ # Corresponds to the JSON property `creativeId`
186
+ # @return [String]
187
+ attr_accessor :creative_id
188
+
189
+ # Top level status and detected attributes of a creative.
190
+ # Corresponds to the JSON property `creativeServingDecision`
191
+ # @return [Google::Apis::RealtimebiddingV1::CreativeServingDecision]
192
+ attr_accessor :creative_serving_decision
193
+
194
+ # Output only. IDs of all of the deals with which this creative has been used
195
+ # in bidding.
196
+ # Can be used to filter the response of the
197
+ # creatives.list
198
+ # method.
199
+ # Corresponds to the JSON property `dealIds`
200
+ # @return [Array<String>]
201
+ attr_accessor :deal_ids
202
+
203
+ # All declared attributes for the ads that may be shown from this creative.
204
+ # Can be used to filter the response of the
205
+ # creatives.list
206
+ # method.
207
+ # If the `excluded_attribute` field of a [bid
208
+ # request](https://developers.google.com/authorized-buyers/rtb/downloads/
209
+ # realtime-bidding-proto")
210
+ # contains one of the attributes that were declared or detected for a given
211
+ # creative, and a bid is submitted with that creative, the bid will be
212
+ # filtered before the auction.
213
+ # Corresponds to the JSON property `declaredAttributes`
214
+ # @return [Array<String>]
215
+ attr_accessor :declared_attributes
216
+
217
+ # The set of declared destination URLs for the creative.
218
+ # Can be used to filter the response of the
219
+ # creatives.list
220
+ # method.
221
+ # Corresponds to the JSON property `declaredClickThroughUrls`
222
+ # @return [Array<String>]
223
+ attr_accessor :declared_click_through_urls
224
+
225
+ # All declared restricted categories for the ads that may be shown from this
226
+ # creative. Can be used to filter the response of the
227
+ # creatives.list
228
+ # method.
229
+ # Corresponds to the JSON property `declaredRestrictedCategories`
230
+ # @return [Array<String>]
231
+ attr_accessor :declared_restricted_categories
232
+
233
+ # IDs for the declared ad technology vendors that may be used by this
234
+ # creative. See
235
+ # https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt for
236
+ # possible values.
237
+ # Can be used to filter the response of the
238
+ # creatives.list
239
+ # method.
240
+ # Corresponds to the JSON property `declaredVendorIds`
241
+ # @return [Array<Fixnum>]
242
+ attr_accessor :declared_vendor_ids
243
+
244
+ # HTML content for a creative.
245
+ # Corresponds to the JSON property `html`
246
+ # @return [Google::Apis::RealtimebiddingV1::HtmlContent]
247
+ attr_accessor :html
248
+
249
+ # The set of URLs to be called to record an impression.
250
+ # Corresponds to the JSON property `impressionTrackingUrls`
251
+ # @return [Array<String>]
252
+ attr_accessor :impression_tracking_urls
253
+
254
+ # Output only. Name of the creative.
255
+ # Follows the pattern `buyers/`buyer`/creatives/`creative``, where
256
+ # ``buyer`` represents the account ID of the buyer who owns the creative,
257
+ # and ``creative`` is the buyer-specific creative ID that references this
258
+ # creative in the bid response.
259
+ # Corresponds to the JSON property `name`
260
+ # @return [String]
261
+ attr_accessor :name
262
+
263
+ # Native content for a creative.
264
+ # Corresponds to the JSON property `native`
265
+ # @return [Google::Apis::RealtimebiddingV1::NativeContent]
266
+ attr_accessor :native
267
+
268
+ # All restricted categories for the ads that may be shown from this creative.
269
+ # Corresponds to the JSON property `restrictedCategories`
270
+ # @return [Array<String>]
271
+ attr_accessor :restricted_categories
272
+
273
+ # Output only. The version of this creative.
274
+ # Version for a new creative is 1 and it increments during subsequent
275
+ # creative updates.
276
+ # Corresponds to the JSON property `version`
277
+ # @return [Fixnum]
278
+ attr_accessor :version
279
+
280
+ # Video content for a creative.
281
+ # Corresponds to the JSON property `video`
282
+ # @return [Google::Apis::RealtimebiddingV1::VideoContent]
283
+ attr_accessor :video
284
+
285
+ def initialize(**args)
286
+ update!(**args)
287
+ end
288
+
289
+ # Update properties of this object
290
+ def update!(**args)
291
+ @account_id = args[:account_id] if args.key?(:account_id)
292
+ @ad_choices_destination_url = args[:ad_choices_destination_url] if args.key?(:ad_choices_destination_url)
293
+ @advertiser_name = args[:advertiser_name] if args.key?(:advertiser_name)
294
+ @agency_id = args[:agency_id] if args.key?(:agency_id)
295
+ @api_update_time = args[:api_update_time] if args.key?(:api_update_time)
296
+ @creative_format = args[:creative_format] if args.key?(:creative_format)
297
+ @creative_id = args[:creative_id] if args.key?(:creative_id)
298
+ @creative_serving_decision = args[:creative_serving_decision] if args.key?(:creative_serving_decision)
299
+ @deal_ids = args[:deal_ids] if args.key?(:deal_ids)
300
+ @declared_attributes = args[:declared_attributes] if args.key?(:declared_attributes)
301
+ @declared_click_through_urls = args[:declared_click_through_urls] if args.key?(:declared_click_through_urls)
302
+ @declared_restricted_categories = args[:declared_restricted_categories] if args.key?(:declared_restricted_categories)
303
+ @declared_vendor_ids = args[:declared_vendor_ids] if args.key?(:declared_vendor_ids)
304
+ @html = args[:html] if args.key?(:html)
305
+ @impression_tracking_urls = args[:impression_tracking_urls] if args.key?(:impression_tracking_urls)
306
+ @name = args[:name] if args.key?(:name)
307
+ @native = args[:native] if args.key?(:native)
308
+ @restricted_categories = args[:restricted_categories] if args.key?(:restricted_categories)
309
+ @version = args[:version] if args.key?(:version)
310
+ @video = args[:video] if args.key?(:video)
311
+ end
312
+ end
313
+
314
+ # Top level status and detected attributes of a creative.
315
+ class CreativeServingDecision
316
+ include Google::Apis::Core::Hashable
317
+
318
+ # Detected ad technology provider information.
319
+ # Corresponds to the JSON property `adTechnologyProviders`
320
+ # @return [Google::Apis::RealtimebiddingV1::AdTechnologyProviders]
321
+ attr_accessor :ad_technology_providers
322
+
323
+ # Serving status of the creative for a transaction type or a region.
324
+ # Corresponds to the JSON property `chinaServingStatus`
325
+ # @return [Google::Apis::RealtimebiddingV1::ServingStatus]
326
+ attr_accessor :china_serving_status
327
+
328
+ # Serving status of the creative for a transaction type or a region.
329
+ # Corresponds to the JSON property `dealsServingStatus`
330
+ # @return [Google::Apis::RealtimebiddingV1::ServingStatus]
331
+ attr_accessor :deals_serving_status
332
+
333
+ # Detected advertisers and brands.
334
+ # Corresponds to the JSON property `detectedAdvertisers`
335
+ # @return [Array<Google::Apis::RealtimebiddingV1::AdvertiserAndBrand>]
336
+ attr_accessor :detected_advertisers
337
+
338
+ # Publisher-excludable attributes that were detected for this creative.
339
+ # Can be used to filter the response of the
340
+ # creatives.list
341
+ # method.
342
+ # If the `excluded_attribute` field of a [bid
343
+ # request](https://developers.google.com/authorized-buyers/rtb/downloads/
344
+ # realtime-bidding-proto)
345
+ # contains one of the attributes that were declared or detected for a given
346
+ # creative, and a bid is submitted with that creative, the bid will be
347
+ # filtered before the auction.
348
+ # Corresponds to the JSON property `detectedAttributes`
349
+ # @return [Array<String>]
350
+ attr_accessor :detected_attributes
351
+
352
+ # The set of detected destination URLs for the creative.
353
+ # Can be used to filter the response of the
354
+ # creatives.list
355
+ # method.
356
+ # Corresponds to the JSON property `detectedClickThroughUrls`
357
+ # @return [Array<String>]
358
+ attr_accessor :detected_click_through_urls
359
+
360
+ # The detected domains for this creative.
361
+ # Corresponds to the JSON property `detectedDomains`
362
+ # @return [Array<String>]
363
+ attr_accessor :detected_domains
364
+
365
+ # The detected languages for this creative. The order is
366
+ # arbitrary. The codes are 2 or 5 characters and are documented at
367
+ # https://developers.google.com/adwords/api/docs/appendix/languagecodes.
368
+ # Can be used to filter the response of the
369
+ # creatives.list
370
+ # method.
371
+ # Corresponds to the JSON property `detectedLanguages`
372
+ # @return [Array<String>]
373
+ attr_accessor :detected_languages
374
+
375
+ # Detected product categories, if any.
376
+ # See the ad-product-categories.txt file in the technical documentation
377
+ # for a list of IDs.
378
+ # Can be used to filter the response of the
379
+ # creatives.list
380
+ # method.
381
+ # Corresponds to the JSON property `detectedProductCategories`
382
+ # @return [Array<Fixnum>]
383
+ attr_accessor :detected_product_categories
384
+
385
+ # Detected sensitive categories, if any.
386
+ # Can be used to filter the response of the
387
+ # creatives.list
388
+ # method.
389
+ # See the ad-sensitive-categories.txt file in the technical documentation
390
+ # for a list of IDs. You should use these IDs along with the
391
+ # excluded-sensitive-category field in the bid request to filter your bids.
392
+ # Corresponds to the JSON property `detectedSensitiveCategories`
393
+ # @return [Array<Fixnum>]
394
+ attr_accessor :detected_sensitive_categories
395
+
396
+ # IDs of the ad technology vendors that were detected to be
397
+ # used by this creative. See
398
+ # https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt for
399
+ # possible values.
400
+ # Can be used to filter the response of the
401
+ # creatives.list
402
+ # method.
403
+ # If the `allowed_vendor_type` field of a [bid
404
+ # request](https://developers.google.com/authorized-buyers/rtb/downloads/
405
+ # realtime-bidding-proto)
406
+ # does not contain one of the vendor type IDs that were declared or
407
+ # detected for a given creative, and a bid is submitted with that creative,
408
+ # the bid will be filtered before the auction.
409
+ # Corresponds to the JSON property `detectedVendorIds`
410
+ # @return [Array<Fixnum>]
411
+ attr_accessor :detected_vendor_ids
412
+
413
+ # The last time the creative status was updated.
414
+ # Can be used to filter the response of the
415
+ # creatives.list
416
+ # method.
417
+ # Corresponds to the JSON property `lastStatusUpdate`
418
+ # @return [String]
419
+ attr_accessor :last_status_update
420
+
421
+ # Serving status of the creative for a transaction type or a region.
422
+ # Corresponds to the JSON property `openAuctionServingStatus`
423
+ # @return [Google::Apis::RealtimebiddingV1::ServingStatus]
424
+ attr_accessor :open_auction_serving_status
425
+
426
+ # Serving status of the creative for a transaction type or a region.
427
+ # Corresponds to the JSON property `russiaServingStatus`
428
+ # @return [Google::Apis::RealtimebiddingV1::ServingStatus]
429
+ attr_accessor :russia_serving_status
430
+
431
+ def initialize(**args)
432
+ update!(**args)
433
+ end
434
+
435
+ # Update properties of this object
436
+ def update!(**args)
437
+ @ad_technology_providers = args[:ad_technology_providers] if args.key?(:ad_technology_providers)
438
+ @china_serving_status = args[:china_serving_status] if args.key?(:china_serving_status)
439
+ @deals_serving_status = args[:deals_serving_status] if args.key?(:deals_serving_status)
440
+ @detected_advertisers = args[:detected_advertisers] if args.key?(:detected_advertisers)
441
+ @detected_attributes = args[:detected_attributes] if args.key?(:detected_attributes)
442
+ @detected_click_through_urls = args[:detected_click_through_urls] if args.key?(:detected_click_through_urls)
443
+ @detected_domains = args[:detected_domains] if args.key?(:detected_domains)
444
+ @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
445
+ @detected_product_categories = args[:detected_product_categories] if args.key?(:detected_product_categories)
446
+ @detected_sensitive_categories = args[:detected_sensitive_categories] if args.key?(:detected_sensitive_categories)
447
+ @detected_vendor_ids = args[:detected_vendor_ids] if args.key?(:detected_vendor_ids)
448
+ @last_status_update = args[:last_status_update] if args.key?(:last_status_update)
449
+ @open_auction_serving_status = args[:open_auction_serving_status] if args.key?(:open_auction_serving_status)
450
+ @russia_serving_status = args[:russia_serving_status] if args.key?(:russia_serving_status)
451
+ end
452
+ end
453
+
454
+ # Represents a whole or partial calendar date, e.g. a birthday. The time of day
455
+ # and time zone are either specified elsewhere or are not significant. The date
456
+ # is relative to the Proleptic Gregorian Calendar. This can represent:
457
+ # * A full date, with non-zero year, month and day values
458
+ # * A month and day value, with a zero year, e.g. an anniversary
459
+ # * A year on its own, with zero month and day values
460
+ # * A year and month value, with a zero day, e.g. a credit card expiration date
461
+ # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
462
+ class Date
463
+ include Google::Apis::Core::Hashable
464
+
465
+ # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
466
+ # if specifying a year by itself or a year and month where the day is not
467
+ # significant.
468
+ # Corresponds to the JSON property `day`
469
+ # @return [Fixnum]
470
+ attr_accessor :day
471
+
472
+ # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
473
+ # month and day.
474
+ # Corresponds to the JSON property `month`
475
+ # @return [Fixnum]
476
+ attr_accessor :month
477
+
478
+ # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
479
+ # a year.
480
+ # Corresponds to the JSON property `year`
481
+ # @return [Fixnum]
482
+ attr_accessor :year
483
+
484
+ def initialize(**args)
485
+ update!(**args)
486
+ end
487
+
488
+ # Update properties of this object
489
+ def update!(**args)
490
+ @day = args[:day] if args.key?(:day)
491
+ @month = args[:month] if args.key?(:month)
492
+ @year = args[:year] if args.key?(:year)
493
+ end
494
+ end
495
+
496
+ # Evidence that the creative's destination URL was not crawlable by Google.
497
+ class DestinationNotCrawlableEvidence
498
+ include Google::Apis::Core::Hashable
499
+
500
+ # Approximate time of the crawl.
501
+ # Corresponds to the JSON property `crawlTime`
502
+ # @return [String]
503
+ attr_accessor :crawl_time
504
+
505
+ # Destination URL that was attempted to be crawled.
506
+ # Corresponds to the JSON property `crawledUrl`
507
+ # @return [String]
508
+ attr_accessor :crawled_url
509
+
510
+ # Reason of destination not crawlable.
511
+ # Corresponds to the JSON property `reason`
512
+ # @return [String]
513
+ attr_accessor :reason
514
+
515
+ def initialize(**args)
516
+ update!(**args)
517
+ end
518
+
519
+ # Update properties of this object
520
+ def update!(**args)
521
+ @crawl_time = args[:crawl_time] if args.key?(:crawl_time)
522
+ @crawled_url = args[:crawled_url] if args.key?(:crawled_url)
523
+ @reason = args[:reason] if args.key?(:reason)
524
+ end
525
+ end
526
+
527
+ # Evidence of the creative's destination URL not functioning properly or
528
+ # having been incorrectly set up.
529
+ class DestinationNotWorkingEvidence
530
+ include Google::Apis::Core::Hashable
531
+
532
+ # DNS lookup errors.
533
+ # Corresponds to the JSON property `dnsError`
534
+ # @return [String]
535
+ attr_accessor :dns_error
536
+
537
+ # The full non-working URL.
538
+ # Corresponds to the JSON property `expandedUrl`
539
+ # @return [String]
540
+ attr_accessor :expanded_url
541
+
542
+ # HTTP error code (e.g. 404 or 5xx)
543
+ # Corresponds to the JSON property `httpError`
544
+ # @return [Fixnum]
545
+ attr_accessor :http_error
546
+
547
+ # Page was crawled successfully, but was detected as either a page with
548
+ # no content or an error page.
549
+ # Corresponds to the JSON property `invalidPage`
550
+ # @return [String]
551
+ attr_accessor :invalid_page
552
+
553
+ # Approximate time when the ad destination was last checked.
554
+ # Corresponds to the JSON property `lastCheckTime`
555
+ # @return [String]
556
+ attr_accessor :last_check_time
557
+
558
+ # Platform of the non-working URL.
559
+ # Corresponds to the JSON property `platform`
560
+ # @return [String]
561
+ attr_accessor :platform
562
+
563
+ # HTTP redirect chain error.
564
+ # Corresponds to the JSON property `redirectionError`
565
+ # @return [String]
566
+ attr_accessor :redirection_error
567
+
568
+ # Rejected because of malformed URLs or invalid requests.
569
+ # Corresponds to the JSON property `urlRejected`
570
+ # @return [String]
571
+ attr_accessor :url_rejected
572
+
573
+ def initialize(**args)
574
+ update!(**args)
575
+ end
576
+
577
+ # Update properties of this object
578
+ def update!(**args)
579
+ @dns_error = args[:dns_error] if args.key?(:dns_error)
580
+ @expanded_url = args[:expanded_url] if args.key?(:expanded_url)
581
+ @http_error = args[:http_error] if args.key?(:http_error)
582
+ @invalid_page = args[:invalid_page] if args.key?(:invalid_page)
583
+ @last_check_time = args[:last_check_time] if args.key?(:last_check_time)
584
+ @platform = args[:platform] if args.key?(:platform)
585
+ @redirection_error = args[:redirection_error] if args.key?(:redirection_error)
586
+ @url_rejected = args[:url_rejected] if args.key?(:url_rejected)
587
+ end
588
+ end
589
+
590
+ # The full landing page URL of the destination.
591
+ class DestinationUrlEvidence
592
+ include Google::Apis::Core::Hashable
593
+
594
+ # The full landing page URL of the destination.
595
+ # Corresponds to the JSON property `destinationUrl`
596
+ # @return [String]
597
+ attr_accessor :destination_url
598
+
599
+ def initialize(**args)
600
+ update!(**args)
601
+ end
602
+
603
+ # Update properties of this object
604
+ def update!(**args)
605
+ @destination_url = args[:destination_url] if args.key?(:destination_url)
606
+ end
607
+ end
608
+
609
+ # Number of HTTP calls made by a creative, broken down by domain.
610
+ class DomainCallEvidence
611
+ include Google::Apis::Core::Hashable
612
+
613
+ # Breakdown of the most frequent domains called via HTTP by the creative.
614
+ # Corresponds to the JSON property `topHttpCallDomains`
615
+ # @return [Array<Google::Apis::RealtimebiddingV1::DomainCalls>]
616
+ attr_accessor :top_http_call_domains
617
+
618
+ # The total number of HTTP calls made by the creative, including but not
619
+ # limited to the number of calls in the top_http_call_domains.
620
+ # Corresponds to the JSON property `totalHttpCallCount`
621
+ # @return [Fixnum]
622
+ attr_accessor :total_http_call_count
623
+
624
+ def initialize(**args)
625
+ update!(**args)
626
+ end
627
+
628
+ # Update properties of this object
629
+ def update!(**args)
630
+ @top_http_call_domains = args[:top_http_call_domains] if args.key?(:top_http_call_domains)
631
+ @total_http_call_count = args[:total_http_call_count] if args.key?(:total_http_call_count)
632
+ end
633
+ end
634
+
635
+ # The number of HTTP calls made to the given domain.
636
+ class DomainCalls
637
+ include Google::Apis::Core::Hashable
638
+
639
+ # The domain name.
640
+ # Corresponds to the JSON property `domain`
641
+ # @return [String]
642
+ attr_accessor :domain
643
+
644
+ # Number of HTTP calls made to the domain.
645
+ # Corresponds to the JSON property `httpCallCount`
646
+ # @return [Fixnum]
647
+ attr_accessor :http_call_count
648
+
649
+ def initialize(**args)
650
+ update!(**args)
651
+ end
652
+
653
+ # Update properties of this object
654
+ def update!(**args)
655
+ @domain = args[:domain] if args.key?(:domain)
656
+ @http_call_count = args[:http_call_count] if args.key?(:http_call_count)
657
+ end
658
+ end
659
+
660
+ # Total download size and URL-level download size breakdown for resources in
661
+ # a creative.
662
+ class DownloadSizeEvidence
663
+ include Google::Apis::Core::Hashable
664
+
665
+ # Download size broken down by URLs with the top download size.
666
+ # Corresponds to the JSON property `topUrlDownloadSizeBreakdowns`
667
+ # @return [Array<Google::Apis::RealtimebiddingV1::UrlDownloadSize>]
668
+ attr_accessor :top_url_download_size_breakdowns
669
+
670
+ # Total download size (in kilobytes) for all the resources in the creative.
671
+ # Corresponds to the JSON property `totalDownloadSizeKb`
672
+ # @return [Fixnum]
673
+ attr_accessor :total_download_size_kb
674
+
675
+ def initialize(**args)
676
+ update!(**args)
677
+ end
678
+
679
+ # Update properties of this object
680
+ def update!(**args)
681
+ @top_url_download_size_breakdowns = args[:top_url_download_size_breakdowns] if args.key?(:top_url_download_size_breakdowns)
682
+ @total_download_size_kb = args[:total_download_size_kb] if args.key?(:total_download_size_kb)
683
+ end
684
+ end
685
+
686
+ # Response for a request to get remarketing tag.
687
+ class GetRemarketingTagResponse
688
+ include Google::Apis::Core::Hashable
689
+
690
+ # A HTML tag that can be placed on the advertiser's page to add users to a
691
+ # user list. For more information and code samples on using snippet on your
692
+ # website refer to [Tag your site for remarketing](
693
+ # https://support.google.com/google-ads/answer/2476688).
694
+ # Corresponds to the JSON property `snippet`
695
+ # @return [String]
696
+ attr_accessor :snippet
697
+
698
+ def initialize(**args)
699
+ update!(**args)
700
+ end
701
+
702
+ # Update properties of this object
703
+ def update!(**args)
704
+ @snippet = args[:snippet] if args.key?(:snippet)
705
+ end
706
+ end
707
+
708
+ # HTML content for a creative.
709
+ class HtmlContent
710
+ include Google::Apis::Core::Hashable
711
+
712
+ # The height of the HTML snippet in pixels.
713
+ # Can be used to filter the response of the
714
+ # creatives.list
715
+ # method.
716
+ # Corresponds to the JSON property `height`
717
+ # @return [Fixnum]
718
+ attr_accessor :height
719
+
720
+ # The HTML snippet that displays the ad when inserted in the web page.
721
+ # Corresponds to the JSON property `snippet`
722
+ # @return [String]
723
+ attr_accessor :snippet
724
+
725
+ # The width of the HTML snippet in pixels.
726
+ # Can be used to filter the response of the
727
+ # creatives.list
728
+ # method.
729
+ # Corresponds to the JSON property `width`
730
+ # @return [Fixnum]
731
+ attr_accessor :width
732
+
733
+ def initialize(**args)
734
+ update!(**args)
735
+ end
736
+
737
+ # Update properties of this object
738
+ def update!(**args)
739
+ @height = args[:height] if args.key?(:height)
740
+ @snippet = args[:snippet] if args.key?(:snippet)
741
+ @width = args[:width] if args.key?(:width)
742
+ end
743
+ end
744
+
745
+ # HTTP calls made by a creative that resulted in policy violations.
746
+ class HttpCallEvidence
747
+ include Google::Apis::Core::Hashable
748
+
749
+ # URLs of HTTP calls made by the creative.
750
+ # Corresponds to the JSON property `urls`
751
+ # @return [Array<String>]
752
+ attr_accessor :urls
753
+
754
+ def initialize(**args)
755
+ update!(**args)
756
+ end
757
+
758
+ # Update properties of this object
759
+ def update!(**args)
760
+ @urls = args[:urls] if args.key?(:urls)
761
+ end
762
+ end
763
+
764
+ # Evidence for HTTP cookie-related policy violations.
765
+ class HttpCookieEvidence
766
+ include Google::Apis::Core::Hashable
767
+
768
+ # Names of cookies that violate Google policies.
769
+ # For TOO_MANY_COOKIES policy, this will be the cookie names of top domains
770
+ # with the largest number of cookies. For other policies, this will be all
771
+ # the cookie names that violate the policy.
772
+ # Corresponds to the JSON property `cookieNames`
773
+ # @return [Array<String>]
774
+ attr_accessor :cookie_names
775
+
776
+ # The largest number of cookies set by a creative. If this field is set,
777
+ # cookie_names above will be set to the cookie names of top domains with
778
+ # the largest number of cookies.
779
+ # This field will only be set for TOO_MANY_COOKIES policy.
780
+ # Corresponds to the JSON property `maxCookieCount`
781
+ # @return [Fixnum]
782
+ attr_accessor :max_cookie_count
783
+
784
+ def initialize(**args)
785
+ update!(**args)
786
+ end
787
+
788
+ # Update properties of this object
789
+ def update!(**args)
790
+ @cookie_names = args[:cookie_names] if args.key?(:cookie_names)
791
+ @max_cookie_count = args[:max_cookie_count] if args.key?(:max_cookie_count)
792
+ end
793
+ end
794
+
795
+ # An image resource. You may provide a larger image than was requested,
796
+ # so long as the aspect ratio is preserved.
797
+ class Image
798
+ include Google::Apis::Core::Hashable
799
+
800
+ # Image height in pixels.
801
+ # Corresponds to the JSON property `height`
802
+ # @return [Fixnum]
803
+ attr_accessor :height
804
+
805
+ # The URL of the image.
806
+ # Corresponds to the JSON property `url`
807
+ # @return [String]
808
+ attr_accessor :url
809
+
810
+ # Image width in pixels.
811
+ # Corresponds to the JSON property `width`
812
+ # @return [Fixnum]
813
+ attr_accessor :width
814
+
815
+ def initialize(**args)
816
+ update!(**args)
817
+ end
818
+
819
+ # Update properties of this object
820
+ def update!(**args)
821
+ @height = args[:height] if args.key?(:height)
822
+ @url = args[:url] if args.key?(:url)
823
+ @width = args[:width] if args.key?(:width)
824
+ end
825
+ end
826
+
827
+ # A response for listing creatives.
828
+ class ListCreativesResponse
829
+ include Google::Apis::Core::Hashable
830
+
831
+ # The list of creatives.
832
+ # Corresponds to the JSON property `creatives`
833
+ # @return [Array<Google::Apis::RealtimebiddingV1::Creative>]
834
+ attr_accessor :creatives
835
+
836
+ # A token to retrieve the next page of results.
837
+ # Pass this value in the
838
+ # ListCreativesRequest.pageToken
839
+ # field in the subsequent call to the `ListCreatives` method to retrieve the
840
+ # next page of results.
841
+ # Corresponds to the JSON property `nextPageToken`
842
+ # @return [String]
843
+ attr_accessor :next_page_token
844
+
845
+ def initialize(**args)
846
+ update!(**args)
847
+ end
848
+
849
+ # Update properties of this object
850
+ def update!(**args)
851
+ @creatives = args[:creatives] if args.key?(:creatives)
852
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
853
+ end
854
+ end
855
+
856
+ # The list user list response.
857
+ class ListUserListsResponse
858
+ include Google::Apis::Core::Hashable
859
+
860
+ # The continuation page token to send back to the server in a subsequent
861
+ # request.
862
+ # Due to a currently known issue, it is recommended that the caller keep
863
+ # invoking the list method till the time a next page token is not returned
864
+ # (even if the result set is empty).
865
+ # Corresponds to the JSON property `nextPageToken`
866
+ # @return [String]
867
+ attr_accessor :next_page_token
868
+
869
+ # List of user lists from the search.
870
+ # Corresponds to the JSON property `userLists`
871
+ # @return [Array<Google::Apis::RealtimebiddingV1::UserList>]
872
+ attr_accessor :user_lists
873
+
874
+ def initialize(**args)
875
+ update!(**args)
876
+ end
877
+
878
+ # Update properties of this object
879
+ def update!(**args)
880
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
881
+ @user_lists = args[:user_lists] if args.key?(:user_lists)
882
+ end
883
+ end
884
+
885
+ # Information about each media file in the VAST.
886
+ class MediaFile
887
+ include Google::Apis::Core::Hashable
888
+
889
+ # Bitrate of the video file, in Kbps.
890
+ # Can be used to filter the response of the
891
+ # creatives.list
892
+ # method.
893
+ # Corresponds to the JSON property `bitrate`
894
+ # @return [Fixnum]
895
+ attr_accessor :bitrate
896
+
897
+ # The MIME type of this media file.
898
+ # Can be used to filter the response of the
899
+ # creatives.list
900
+ # method.
901
+ # Corresponds to the JSON property `mimeType`
902
+ # @return [String]
903
+ attr_accessor :mime_type
904
+
905
+ def initialize(**args)
906
+ update!(**args)
907
+ end
908
+
909
+ # Update properties of this object
910
+ def update!(**args)
911
+ @bitrate = args[:bitrate] if args.key?(:bitrate)
912
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
913
+ end
914
+ end
915
+
916
+ # Native content for a creative.
917
+ class NativeContent
918
+ include Google::Apis::Core::Hashable
919
+
920
+ # The name of the advertiser or sponsor, to be displayed in the ad creative.
921
+ # Corresponds to the JSON property `advertiserName`
922
+ # @return [String]
923
+ attr_accessor :advertiser_name
924
+
925
+ # An image resource. You may provide a larger image than was requested,
926
+ # so long as the aspect ratio is preserved.
927
+ # Corresponds to the JSON property `appIcon`
928
+ # @return [Google::Apis::RealtimebiddingV1::Image]
929
+ attr_accessor :app_icon
930
+
931
+ # A long description of the ad.
932
+ # Corresponds to the JSON property `body`
933
+ # @return [String]
934
+ attr_accessor :body
935
+
936
+ # A label for the button that the user is supposed to click.
937
+ # Corresponds to the JSON property `callToAction`
938
+ # @return [String]
939
+ attr_accessor :call_to_action
940
+
941
+ # The URL that the browser/SDK will load when the user clicks the ad.
942
+ # Corresponds to the JSON property `clickLinkUrl`
943
+ # @return [String]
944
+ attr_accessor :click_link_url
945
+
946
+ # The URL to use for click tracking.
947
+ # Corresponds to the JSON property `clickTrackingUrl`
948
+ # @return [String]
949
+ attr_accessor :click_tracking_url
950
+
951
+ # A short title for the ad.
952
+ # Corresponds to the JSON property `headline`
953
+ # @return [String]
954
+ attr_accessor :headline
955
+
956
+ # An image resource. You may provide a larger image than was requested,
957
+ # so long as the aspect ratio is preserved.
958
+ # Corresponds to the JSON property `image`
959
+ # @return [Google::Apis::RealtimebiddingV1::Image]
960
+ attr_accessor :image
961
+
962
+ # An image resource. You may provide a larger image than was requested,
963
+ # so long as the aspect ratio is preserved.
964
+ # Corresponds to the JSON property `logo`
965
+ # @return [Google::Apis::RealtimebiddingV1::Image]
966
+ attr_accessor :logo
967
+
968
+ # The price of the promoted app including currency info.
969
+ # Corresponds to the JSON property `priceDisplayText`
970
+ # @return [String]
971
+ attr_accessor :price_display_text
972
+
973
+ # The app rating in the app store. Must be in the range [0-5].
974
+ # Corresponds to the JSON property `starRating`
975
+ # @return [Float]
976
+ attr_accessor :star_rating
977
+
978
+ # The URL to fetch a native video ad.
979
+ # Corresponds to the JSON property `videoUrl`
980
+ # @return [String]
981
+ attr_accessor :video_url
982
+
983
+ def initialize(**args)
984
+ update!(**args)
985
+ end
986
+
987
+ # Update properties of this object
988
+ def update!(**args)
989
+ @advertiser_name = args[:advertiser_name] if args.key?(:advertiser_name)
990
+ @app_icon = args[:app_icon] if args.key?(:app_icon)
991
+ @body = args[:body] if args.key?(:body)
992
+ @call_to_action = args[:call_to_action] if args.key?(:call_to_action)
993
+ @click_link_url = args[:click_link_url] if args.key?(:click_link_url)
994
+ @click_tracking_url = args[:click_tracking_url] if args.key?(:click_tracking_url)
995
+ @headline = args[:headline] if args.key?(:headline)
996
+ @image = args[:image] if args.key?(:image)
997
+ @logo = args[:logo] if args.key?(:logo)
998
+ @price_display_text = args[:price_display_text] if args.key?(:price_display_text)
999
+ @star_rating = args[:star_rating] if args.key?(:star_rating)
1000
+ @video_url = args[:video_url] if args.key?(:video_url)
1001
+ end
1002
+ end
1003
+
1004
+ # A request to open a specified user list.
1005
+ class OpenUserListRequest
1006
+ include Google::Apis::Core::Hashable
1007
+
1008
+ def initialize(**args)
1009
+ update!(**args)
1010
+ end
1011
+
1012
+ # Update properties of this object
1013
+ def update!(**args)
1014
+ end
1015
+ end
1016
+
1017
+ # Each policy topic entry will represent a violation of a policy topic for a
1018
+ # creative, with the policy topic information and optional evidence for the
1019
+ # policy violation.
1020
+ class PolicyTopicEntry
1021
+ include Google::Apis::Core::Hashable
1022
+
1023
+ # Pieces of evidence associated with this policy topic entry.
1024
+ # Corresponds to the JSON property `evidences`
1025
+ # @return [Array<Google::Apis::RealtimebiddingV1::PolicyTopicEvidence>]
1026
+ attr_accessor :evidences
1027
+
1028
+ # URL of the help center article describing this policy topic.
1029
+ # Corresponds to the JSON property `helpCenterUrl`
1030
+ # @return [String]
1031
+ attr_accessor :help_center_url
1032
+
1033
+ # Policy topic this entry refers to. For example, "ALCOHOL",
1034
+ # "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible
1035
+ # policy topics is not fixed for a particular API version and may change at
1036
+ # any time.
1037
+ # Can be used to filter the response of the
1038
+ # creatives.list
1039
+ # method
1040
+ # Corresponds to the JSON property `policyTopic`
1041
+ # @return [String]
1042
+ attr_accessor :policy_topic
1043
+
1044
+ def initialize(**args)
1045
+ update!(**args)
1046
+ end
1047
+
1048
+ # Update properties of this object
1049
+ def update!(**args)
1050
+ @evidences = args[:evidences] if args.key?(:evidences)
1051
+ @help_center_url = args[:help_center_url] if args.key?(:help_center_url)
1052
+ @policy_topic = args[:policy_topic] if args.key?(:policy_topic)
1053
+ end
1054
+ end
1055
+
1056
+ # Evidence associated with a policy topic entry.
1057
+ class PolicyTopicEvidence
1058
+ include Google::Apis::Core::Hashable
1059
+
1060
+ # Evidence that the creative's destination URL was not crawlable by Google.
1061
+ # Corresponds to the JSON property `destinationNotCrawlable`
1062
+ # @return [Google::Apis::RealtimebiddingV1::DestinationNotCrawlableEvidence]
1063
+ attr_accessor :destination_not_crawlable
1064
+
1065
+ # Evidence of the creative's destination URL not functioning properly or
1066
+ # having been incorrectly set up.
1067
+ # Corresponds to the JSON property `destinationNotWorking`
1068
+ # @return [Google::Apis::RealtimebiddingV1::DestinationNotWorkingEvidence]
1069
+ attr_accessor :destination_not_working
1070
+
1071
+ # The full landing page URL of the destination.
1072
+ # Corresponds to the JSON property `destinationUrl`
1073
+ # @return [Google::Apis::RealtimebiddingV1::DestinationUrlEvidence]
1074
+ attr_accessor :destination_url
1075
+
1076
+ # Number of HTTP calls made by a creative, broken down by domain.
1077
+ # Corresponds to the JSON property `domainCall`
1078
+ # @return [Google::Apis::RealtimebiddingV1::DomainCallEvidence]
1079
+ attr_accessor :domain_call
1080
+
1081
+ # Total download size and URL-level download size breakdown for resources in
1082
+ # a creative.
1083
+ # Corresponds to the JSON property `downloadSize`
1084
+ # @return [Google::Apis::RealtimebiddingV1::DownloadSizeEvidence]
1085
+ attr_accessor :download_size
1086
+
1087
+ # HTTP calls made by a creative that resulted in policy violations.
1088
+ # Corresponds to the JSON property `httpCall`
1089
+ # @return [Google::Apis::RealtimebiddingV1::HttpCallEvidence]
1090
+ attr_accessor :http_call
1091
+
1092
+ # Evidence for HTTP cookie-related policy violations.
1093
+ # Corresponds to the JSON property `httpCookie`
1094
+ # @return [Google::Apis::RealtimebiddingV1::HttpCookieEvidence]
1095
+ attr_accessor :http_cookie
1096
+
1097
+ def initialize(**args)
1098
+ update!(**args)
1099
+ end
1100
+
1101
+ # Update properties of this object
1102
+ def update!(**args)
1103
+ @destination_not_crawlable = args[:destination_not_crawlable] if args.key?(:destination_not_crawlable)
1104
+ @destination_not_working = args[:destination_not_working] if args.key?(:destination_not_working)
1105
+ @destination_url = args[:destination_url] if args.key?(:destination_url)
1106
+ @domain_call = args[:domain_call] if args.key?(:domain_call)
1107
+ @download_size = args[:download_size] if args.key?(:download_size)
1108
+ @http_call = args[:http_call] if args.key?(:http_call)
1109
+ @http_cookie = args[:http_cookie] if args.key?(:http_cookie)
1110
+ end
1111
+ end
1112
+
1113
+ # Serving status of the creative for a transaction type or a region.
1114
+ class ServingStatus
1115
+ include Google::Apis::Core::Hashable
1116
+
1117
+ # Serving status for the given transaction type (e.g., open auction,
1118
+ # deals) or region (e.g., China, Russia).
1119
+ # Can be used to filter the response of the
1120
+ # creatives.list
1121
+ # method.
1122
+ # Corresponds to the JSON property `status`
1123
+ # @return [String]
1124
+ attr_accessor :status
1125
+
1126
+ # Policy topics related to the serving decision for this transaction type
1127
+ # (e.g., open auction, deals) or region (e.g., China, Russia).
1128
+ # Topics may be present only if status is DISAPPROVED.
1129
+ # Corresponds to the JSON property `topics`
1130
+ # @return [Array<Google::Apis::RealtimebiddingV1::PolicyTopicEntry>]
1131
+ attr_accessor :topics
1132
+
1133
+ def initialize(**args)
1134
+ update!(**args)
1135
+ end
1136
+
1137
+ # Update properties of this object
1138
+ def update!(**args)
1139
+ @status = args[:status] if args.key?(:status)
1140
+ @topics = args[:topics] if args.key?(:topics)
1141
+ end
1142
+ end
1143
+
1144
+ # The URL-level breakdown for the download size.
1145
+ class UrlDownloadSize
1146
+ include Google::Apis::Core::Hashable
1147
+
1148
+ # Download size of the URL in kilobytes.
1149
+ # Corresponds to the JSON property `downloadSizeKb`
1150
+ # @return [Fixnum]
1151
+ attr_accessor :download_size_kb
1152
+
1153
+ # The normalized URL with query parameters and fragment removed.
1154
+ # Corresponds to the JSON property `normalizedUrl`
1155
+ # @return [String]
1156
+ attr_accessor :normalized_url
1157
+
1158
+ def initialize(**args)
1159
+ update!(**args)
1160
+ end
1161
+
1162
+ # Update properties of this object
1163
+ def update!(**args)
1164
+ @download_size_kb = args[:download_size_kb] if args.key?(:download_size_kb)
1165
+ @normalized_url = args[:normalized_url] if args.key?(:normalized_url)
1166
+ end
1167
+ end
1168
+
1169
+ # Represents the URL restriction (for the URL captured by the pixel callback)
1170
+ # for a user list.
1171
+ class UrlRestriction
1172
+ include Google::Apis::Core::Hashable
1173
+
1174
+ # Represents a whole or partial calendar date, e.g. a birthday. The time of day
1175
+ # and time zone are either specified elsewhere or are not significant. The date
1176
+ # is relative to the Proleptic Gregorian Calendar. This can represent:
1177
+ # * A full date, with non-zero year, month and day values
1178
+ # * A month and day value, with a zero year, e.g. an anniversary
1179
+ # * A year on its own, with zero month and day values
1180
+ # * A year and month value, with a zero day, e.g. a credit card expiration date
1181
+ # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
1182
+ # Corresponds to the JSON property `endDate`
1183
+ # @return [Google::Apis::RealtimebiddingV1::Date]
1184
+ attr_accessor :end_date
1185
+
1186
+ # The restriction type for the specified URL.
1187
+ # Corresponds to the JSON property `restrictionType`
1188
+ # @return [String]
1189
+ attr_accessor :restriction_type
1190
+
1191
+ # Represents a whole or partial calendar date, e.g. a birthday. The time of day
1192
+ # and time zone are either specified elsewhere or are not significant. The date
1193
+ # is relative to the Proleptic Gregorian Calendar. This can represent:
1194
+ # * A full date, with non-zero year, month and day values
1195
+ # * A month and day value, with a zero year, e.g. an anniversary
1196
+ # * A year on its own, with zero month and day values
1197
+ # * A year and month value, with a zero day, e.g. a credit card expiration date
1198
+ # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
1199
+ # Corresponds to the JSON property `startDate`
1200
+ # @return [Google::Apis::RealtimebiddingV1::Date]
1201
+ attr_accessor :start_date
1202
+
1203
+ # Required. The URL to use for applying the restriction on the user list.
1204
+ # Corresponds to the JSON property `url`
1205
+ # @return [String]
1206
+ attr_accessor :url
1207
+
1208
+ def initialize(**args)
1209
+ update!(**args)
1210
+ end
1211
+
1212
+ # Update properties of this object
1213
+ def update!(**args)
1214
+ @end_date = args[:end_date] if args.key?(:end_date)
1215
+ @restriction_type = args[:restriction_type] if args.key?(:restriction_type)
1216
+ @start_date = args[:start_date] if args.key?(:start_date)
1217
+ @url = args[:url] if args.key?(:url)
1218
+ end
1219
+ end
1220
+
1221
+ # Represents an Authorized Buyers user list. Authorized Buyers can
1222
+ # create/update/list user lists. Once a user list is created
1223
+ # in the system, Authorized Buyers can add users to the user list using
1224
+ # the bulk uploader API. Alternatively, users can be added by hosting a
1225
+ # tag on the advertiser's page.
1226
+ class UserList
1227
+ include Google::Apis::Core::Hashable
1228
+
1229
+ # The description for the user list.
1230
+ # Corresponds to the JSON property `description`
1231
+ # @return [String]
1232
+ attr_accessor :description
1233
+
1234
+ # Required. Display name of the user list. This must be unique across all user
1235
+ # lists
1236
+ # for a given account.
1237
+ # Corresponds to the JSON property `displayName`
1238
+ # @return [String]
1239
+ attr_accessor :display_name
1240
+
1241
+ # Required. The number of days a user's cookie stays on the user list.
1242
+ # The field must be between 0 and 540 inclusive.
1243
+ # Corresponds to the JSON property `membershipDurationDays`
1244
+ # @return [Fixnum]
1245
+ attr_accessor :membership_duration_days
1246
+
1247
+ # Output only. Name of the user list that must follow the pattern
1248
+ # `buyers/`buyer`/userLists/`user_list``, where ``buyer`` represents
1249
+ # the account ID of the buyer who owns the user list. For a bidder accessing
1250
+ # user lists on behalf of a child seat buyer, ``buyer`` represents
1251
+ # the account ID of the child seat buyer. ``user_list`` is an int64
1252
+ # identifier assigned by Google to uniquely identify a user list.
1253
+ # Corresponds to the JSON property `name`
1254
+ # @return [String]
1255
+ attr_accessor :name
1256
+
1257
+ # Output only. The status of the user list. A new user list starts out as open.
1258
+ # Corresponds to the JSON property `status`
1259
+ # @return [String]
1260
+ attr_accessor :status
1261
+
1262
+ # Represents the URL restriction (for the URL captured by the pixel callback)
1263
+ # for a user list.
1264
+ # Corresponds to the JSON property `urlRestriction`
1265
+ # @return [Google::Apis::RealtimebiddingV1::UrlRestriction]
1266
+ attr_accessor :url_restriction
1267
+
1268
+ def initialize(**args)
1269
+ update!(**args)
1270
+ end
1271
+
1272
+ # Update properties of this object
1273
+ def update!(**args)
1274
+ @description = args[:description] if args.key?(:description)
1275
+ @display_name = args[:display_name] if args.key?(:display_name)
1276
+ @membership_duration_days = args[:membership_duration_days] if args.key?(:membership_duration_days)
1277
+ @name = args[:name] if args.key?(:name)
1278
+ @status = args[:status] if args.key?(:status)
1279
+ @url_restriction = args[:url_restriction] if args.key?(:url_restriction)
1280
+ end
1281
+ end
1282
+
1283
+ # Video content for a creative.
1284
+ class VideoContent
1285
+ include Google::Apis::Core::Hashable
1286
+
1287
+ # Video metadata for a creative.
1288
+ # Corresponds to the JSON property `videoMetadata`
1289
+ # @return [Google::Apis::RealtimebiddingV1::VideoMetadata]
1290
+ attr_accessor :video_metadata
1291
+
1292
+ # The URL to fetch a video ad.
1293
+ # Corresponds to the JSON property `videoUrl`
1294
+ # @return [String]
1295
+ attr_accessor :video_url
1296
+
1297
+ # The contents of a VAST document for a video ad.
1298
+ # This document should conform to the VAST 2.0 or 3.0 standard.
1299
+ # Corresponds to the JSON property `videoVastXml`
1300
+ # @return [String]
1301
+ attr_accessor :video_vast_xml
1302
+
1303
+ def initialize(**args)
1304
+ update!(**args)
1305
+ end
1306
+
1307
+ # Update properties of this object
1308
+ def update!(**args)
1309
+ @video_metadata = args[:video_metadata] if args.key?(:video_metadata)
1310
+ @video_url = args[:video_url] if args.key?(:video_url)
1311
+ @video_vast_xml = args[:video_vast_xml] if args.key?(:video_vast_xml)
1312
+ end
1313
+ end
1314
+
1315
+ # Video metadata for a creative.
1316
+ class VideoMetadata
1317
+ include Google::Apis::Core::Hashable
1318
+
1319
+ # The duration of the ad.
1320
+ # Can be used to filter the response of the
1321
+ # creatives.list
1322
+ # method.
1323
+ # Corresponds to the JSON property `duration`
1324
+ # @return [String]
1325
+ attr_accessor :duration
1326
+
1327
+ # Is this a valid VAST ad?
1328
+ # Can be used to filter the response of the
1329
+ # creatives.list
1330
+ # method.
1331
+ # Corresponds to the JSON property `isValidVast`
1332
+ # @return [Boolean]
1333
+ attr_accessor :is_valid_vast
1334
+ alias_method :is_valid_vast?, :is_valid_vast
1335
+
1336
+ # Is this a VPAID ad?
1337
+ # Can be used to filter the response of the
1338
+ # creatives.list
1339
+ # method.
1340
+ # Corresponds to the JSON property `isVpaid`
1341
+ # @return [Boolean]
1342
+ attr_accessor :is_vpaid
1343
+ alias_method :is_vpaid?, :is_vpaid
1344
+
1345
+ # The list of all media files declared in the VAST. If there are multiple
1346
+ # VASTs in a wrapper chain, this includes the media files from the deepest
1347
+ # one in the chain.
1348
+ # Corresponds to the JSON property `mediaFiles`
1349
+ # @return [Array<Google::Apis::RealtimebiddingV1::MediaFile>]
1350
+ attr_accessor :media_files
1351
+
1352
+ # The minimum duration that the user has to watch before being able to
1353
+ # skip this ad. If the field is not set, the ad is not skippable. If
1354
+ # the field is set, the ad is skippable.
1355
+ # Can be used to filter the response of the
1356
+ # creatives.list
1357
+ # method.
1358
+ # Corresponds to the JSON property `skipOffset`
1359
+ # @return [String]
1360
+ attr_accessor :skip_offset
1361
+
1362
+ # The maximum VAST version across all wrapped VAST documents.
1363
+ # Can be used to filter the response of the
1364
+ # creatives.list
1365
+ # method.
1366
+ # Corresponds to the JSON property `vastVersion`
1367
+ # @return [String]
1368
+ attr_accessor :vast_version
1369
+
1370
+ def initialize(**args)
1371
+ update!(**args)
1372
+ end
1373
+
1374
+ # Update properties of this object
1375
+ def update!(**args)
1376
+ @duration = args[:duration] if args.key?(:duration)
1377
+ @is_valid_vast = args[:is_valid_vast] if args.key?(:is_valid_vast)
1378
+ @is_vpaid = args[:is_vpaid] if args.key?(:is_vpaid)
1379
+ @media_files = args[:media_files] if args.key?(:media_files)
1380
+ @skip_offset = args[:skip_offset] if args.key?(:skip_offset)
1381
+ @vast_version = args[:vast_version] if args.key?(:vast_version)
1382
+ end
1383
+ end
1384
+
1385
+ # A request to receive push notifications when any of the creatives belonging
1386
+ # to the bidder changes status.
1387
+ class WatchCreativesRequest
1388
+ include Google::Apis::Core::Hashable
1389
+
1390
+ def initialize(**args)
1391
+ update!(**args)
1392
+ end
1393
+
1394
+ # Update properties of this object
1395
+ def update!(**args)
1396
+ end
1397
+ end
1398
+
1399
+ # A response for the request to receive push notification when a bidder's
1400
+ # creatives change status.
1401
+ class WatchCreativesResponse
1402
+ include Google::Apis::Core::Hashable
1403
+
1404
+ # The Pub/Sub subscription that can be used to pull creative status
1405
+ # notifications. This would be of the format
1406
+ # `projects/`project_id`/subscriptions/`subscription_id``.
1407
+ # Subscription is created with pull delivery. All service accounts belonging
1408
+ # to the bidder will have read access to this subscription.
1409
+ # Subscriptions that are inactive for more than 90 days will be disabled.
1410
+ # Please use
1411
+ # watchCreatives to
1412
+ # re-enable the subscription.
1413
+ # Corresponds to the JSON property `subscription`
1414
+ # @return [String]
1415
+ attr_accessor :subscription
1416
+
1417
+ # The Pub/Sub topic that will be used to publish creative serving
1418
+ # status notifications. This would be of the format
1419
+ # `projects/`project_id`/topics/`topic_id``.
1420
+ # Corresponds to the JSON property `topic`
1421
+ # @return [String]
1422
+ attr_accessor :topic
1423
+
1424
+ def initialize(**args)
1425
+ update!(**args)
1426
+ end
1427
+
1428
+ # Update properties of this object
1429
+ def update!(**args)
1430
+ @subscription = args[:subscription] if args.key?(:subscription)
1431
+ @topic = args[:topic] if args.key?(:topic)
1432
+ end
1433
+ end
1434
+ end
1435
+ end
1436
+ end