google-api-client 0.23.9 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +42 -0
  3. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +2030 -58
  5. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +878 -43
  6. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +604 -0
  7. data/generated/google/apis/adexperiencereport_v1.rb +1 -1
  8. data/generated/google/apis/adexperiencereport_v1/classes.rb +0 -1
  9. data/generated/google/apis/admin_directory_v1.rb +1 -1
  10. data/generated/google/apis/admin_directory_v1/classes.rb +8 -2
  11. data/generated/google/apis/admin_directory_v1/representations.rb +1 -0
  12. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  13. data/generated/google/apis/androidenterprise_v1/classes.rb +108 -5
  14. data/generated/google/apis/androidenterprise_v1/representations.rb +60 -0
  15. data/generated/google/apis/appengine_v1.rb +1 -1
  16. data/generated/google/apis/appengine_v1/classes.rb +1 -1
  17. data/generated/google/apis/appengine_v1/service.rb +3 -3
  18. data/generated/google/apis/appengine_v1beta.rb +1 -1
  19. data/generated/google/apis/appengine_v1beta/classes.rb +1 -1
  20. data/generated/google/apis/appengine_v1beta/service.rb +3 -3
  21. data/generated/google/apis/classroom_v1.rb +1 -1
  22. data/generated/google/apis/classroom_v1/classes.rb +14 -14
  23. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  24. data/generated/google/apis/cloudbuild_v1/classes.rb +6 -0
  25. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  26. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  27. data/generated/google/apis/cloudtrace_v1/classes.rb +3 -2
  28. data/generated/google/apis/composer_v1.rb +1 -1
  29. data/generated/google/apis/composer_v1/classes.rb +1 -1
  30. data/generated/google/apis/composer_v1/service.rb +6 -6
  31. data/generated/google/apis/composer_v1beta1.rb +1 -1
  32. data/generated/google/apis/composer_v1beta1/classes.rb +1 -1
  33. data/generated/google/apis/dataproc_v1.rb +1 -1
  34. data/generated/google/apis/dataproc_v1/classes.rb +475 -0
  35. data/generated/google/apis/dataproc_v1/representations.rb +188 -0
  36. data/generated/google/apis/dataproc_v1/service.rb +550 -0
  37. data/generated/google/apis/dlp_v2.rb +1 -1
  38. data/generated/google/apis/dlp_v2/classes.rb +21 -21
  39. data/generated/google/apis/file_v1beta1.rb +34 -0
  40. data/generated/google/apis/file_v1beta1/classes.rb +810 -0
  41. data/generated/google/apis/file_v1beta1/representations.rb +298 -0
  42. data/generated/google/apis/file_v1beta1/service.rb +472 -0
  43. data/generated/google/apis/jobs_v3.rb +1 -1
  44. data/generated/google/apis/jobs_v3/classes.rb +16 -17
  45. data/generated/google/apis/logging_v2.rb +1 -1
  46. data/generated/google/apis/logging_v2/classes.rb +8 -9
  47. data/generated/google/apis/logging_v2/service.rb +9 -9
  48. data/generated/google/apis/logging_v2beta1.rb +1 -1
  49. data/generated/google/apis/logging_v2beta1/classes.rb +8 -9
  50. data/generated/google/apis/logging_v2beta1/service.rb +1 -1
  51. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  52. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +14 -14
  53. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  54. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +142 -98
  55. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  56. data/generated/google/apis/servicecontrol_v1/classes.rb +0 -2
  57. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  58. data/generated/google/apis/servicemanagement_v1/classes.rb +142 -98
  59. data/generated/google/apis/serviceusage_v1.rb +1 -1
  60. data/generated/google/apis/serviceusage_v1/classes.rb +142 -98
  61. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  62. data/generated/google/apis/serviceusage_v1beta1/classes.rb +142 -98
  63. data/generated/google/apis/serviceuser_v1.rb +1 -1
  64. data/generated/google/apis/serviceuser_v1/classes.rb +142 -98
  65. data/generated/google/apis/speech_v1.rb +1 -1
  66. data/generated/google/apis/speech_v1/classes.rb +91 -0
  67. data/generated/google/apis/speech_v1/representations.rb +18 -0
  68. data/generated/google/apis/speech_v1/service.rb +47 -0
  69. data/generated/google/apis/speech_v1beta1.rb +1 -1
  70. data/generated/google/apis/speech_v1beta1/classes.rb +25 -0
  71. data/generated/google/apis/speech_v1beta1/representations.rb +15 -0
  72. data/generated/google/apis/speech_v1beta1/service.rb +47 -0
  73. data/generated/google/apis/sqladmin_v1beta4.rb +3 -3
  74. data/generated/google/apis/sqladmin_v1beta4/classes.rb +34 -31
  75. data/generated/google/apis/sqladmin_v1beta4/service.rb +8 -8
  76. data/generated/google/apis/storage_v1.rb +1 -1
  77. data/generated/google/apis/storage_v1/classes.rb +3 -4
  78. data/generated/google/apis/storage_v1/service.rb +2 -1
  79. data/generated/google/apis/storage_v1beta2.rb +1 -1
  80. data/generated/google/apis/storage_v1beta2/classes.rb +1 -2
  81. data/generated/google/apis/storage_v1beta2/service.rb +2 -1
  82. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  83. data/generated/google/apis/storagetransfer_v1/classes.rb +21 -21
  84. data/generated/google/apis/testing_v1.rb +1 -1
  85. data/generated/google/apis/testing_v1/classes.rb +308 -14
  86. data/generated/google/apis/testing_v1/representations.rb +136 -0
  87. data/generated/google/apis/vision_v1.rb +1 -1
  88. data/generated/google/apis/vision_v1/classes.rb +156 -2
  89. data/generated/google/apis/vision_v1/representations.rb +60 -0
  90. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  91. data/generated/google/apis/vision_v1p1beta1/classes.rb +156 -2
  92. data/generated/google/apis/vision_v1p1beta1/representations.rb +60 -0
  93. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  94. data/generated/google/apis/vision_v1p2beta1/classes.rb +156 -2
  95. data/generated/google/apis/vision_v1p2beta1/representations.rb +60 -0
  96. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  97. data/lib/google/apis/version.rb +1 -1
  98. metadata +6 -14
  99. data/generated/google/apis/adexchangeseller_v1.rb +0 -37
  100. data/generated/google/apis/adexchangeseller_v1/classes.rb +0 -557
  101. data/generated/google/apis/adexchangeseller_v1/representations.rb +0 -248
  102. data/generated/google/apis/adexchangeseller_v1/service.rb +0 -544
  103. data/generated/google/apis/adexchangeseller_v1_1.rb +0 -37
  104. data/generated/google/apis/adexchangeseller_v1_1/classes.rb +0 -842
  105. data/generated/google/apis/adexchangeseller_v1_1/representations.rb +0 -364
  106. data/generated/google/apis/adexchangeseller_v1_1/service.rb +0 -735
  107. data/generated/google/apis/adexchangeseller_v2_0.rb +0 -37
  108. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +0 -792
  109. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +0 -347
  110. data/generated/google/apis/adexchangeseller_v2_0/service.rb +0 -638
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8cee7ffe6fc36ab143b0f40d63142fb8cfc3f90b
4
- data.tar.gz: c44b9474904d1f7e8b8f5423b0819f94b7960df1
3
+ metadata.gz: 36b47183994aa68a65ee2192bf6e120f67d7e007
4
+ data.tar.gz: a239b434907b99243aa64733c22f776140cd6115
5
5
  SHA512:
6
- metadata.gz: 0283f00953b7e7d8f107dc9f9af642ef01ddbb86089e61d2747a8496ff32e583b07e6253021d694f40979d25f1435599ed5a5155fa5eb031004726fe65733fed
7
- data.tar.gz: 9d18eb5f21b127958c00fcdf264af2db72dba7044a57d3b95cc058145251a3104e920af42d75b18f1e151bc361c669d017fd112783fdccc192315c4da0b7b0e0
6
+ metadata.gz: 640208bd7d09bbc595c80ebf9e3f04a256de76d811587b6a05f7a907d15347d618fa2cb6f913ebeebe98b8791a8ccdab828b3d8a8831483961e11c57c4e88d35
7
+ data.tar.gz: 825b07451c99386ad1309738ac9c025443cd645cf359804f29367393e38ace7320802b5da279980d54522642b57632f80f0605e01a4fde6d15489aaab572e738
@@ -1,3 +1,45 @@
1
+ # 0.24.0
2
+ * Breaking changes:
3
+ * Deleted `adexchangeseller_v1`
4
+ * Deleted `adexchangeseller_v1_1`
5
+ * Deleted `adexchangeseller_v2_0`
6
+ * Backwards compatible changes:
7
+ * Added `file_v1beta1`
8
+ * Updated `adexchangebuyer2_v2beta1`
9
+ * Updated `adexperiencereport_v1`
10
+ * Updated `admin_directory_v1`
11
+ * Updated `androidenterprise_v1`
12
+ * Updated `appengine_v1`
13
+ * Updated `appengine_v1beta`
14
+ * Updated `classroom_v1`
15
+ * Updated `cloudbuild_v1`
16
+ * Updated `cloudtrace_v1`
17
+ * Updated `composer_v1`
18
+ * Updated `composer_v1beta1`
19
+ * Updated `dataproc_v1`
20
+ * Updated `dlp_v2`
21
+ * Updated `jobs_v3`
22
+ * Updated `logging_v2`
23
+ * Updated `logging_v2beta1`
24
+ * Updated `proximitybeacon_v1beta1`
25
+ * Updated `serviceconsumermanagement_v1`
26
+ * Updated `servicecontrol_v1`
27
+ * Updated `servicemanagement_v1`
28
+ * Updated `serviceusage_v1`
29
+ * Updated `serviceusage_v1beta1`
30
+ * Updated `serviceuser_v1`
31
+ * Updated `speech_v1`
32
+ * Updated `speech_v1beta1`
33
+ * Updated `sqladmin_v1beta4`
34
+ * Updated `storage_v1`
35
+ * Updated `storage_v1beta2`
36
+ * Updated `storagetransfer_v1`
37
+ * Updated `testing_v1`
38
+ * Updated `vision_v1`
39
+ * Updated `vision_v1p1beta1`
40
+ * Updated `vision_v1p2beta1`
41
+ * Updated `youtube_partner_v1`
42
+
1
43
  # 0.23.9
2
44
  * Backwards compatible changes:
3
45
  * Updated `adexchangebuyer2_v2beta1`
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/ad-exchange/buyer-rest/reference/rest/
27
27
  module Adexchangebuyer2V2beta1
28
28
  VERSION = 'V2beta1'
29
- REVISION = '20180906'
29
+ REVISION = '20180912'
30
30
 
31
31
  # Manage your Ad Exchange buyer account configuration
32
32
  AUTH_ADEXCHANGE_BUYER = 'https://www.googleapis.com/auth/adexchange.buyer'
@@ -63,6 +63,58 @@ module Google
63
63
  end
64
64
  end
65
65
 
66
+ # Request to accept a proposal.
67
+ class AcceptProposalRequest
68
+ include Google::Apis::Core::Hashable
69
+
70
+ # The last known client revision number of the proposal.
71
+ # Corresponds to the JSON property `proposalRevision`
72
+ # @return [Fixnum]
73
+ attr_accessor :proposal_revision
74
+
75
+ def initialize(**args)
76
+ update!(**args)
77
+ end
78
+
79
+ # Update properties of this object
80
+ def update!(**args)
81
+ @proposal_revision = args[:proposal_revision] if args.key?(:proposal_revision)
82
+ end
83
+ end
84
+
85
+ # Represents size of a single ad slot, or a creative.
86
+ class AdSize
87
+ include Google::Apis::Core::Hashable
88
+
89
+ # The height of the ad slot in pixels.
90
+ # This field will be present only when size type is `PIXEL`.
91
+ # Corresponds to the JSON property `height`
92
+ # @return [Fixnum]
93
+ attr_accessor :height
94
+
95
+ # The size type of the ad slot.
96
+ # Corresponds to the JSON property `sizeType`
97
+ # @return [String]
98
+ attr_accessor :size_type
99
+
100
+ # The width of the ad slot in pixels.
101
+ # This field will be present only when size type is `PIXEL`.
102
+ # Corresponds to the JSON property `width`
103
+ # @return [Fixnum]
104
+ attr_accessor :width
105
+
106
+ def initialize(**args)
107
+ update!(**args)
108
+ end
109
+
110
+ # Update properties of this object
111
+ def update!(**args)
112
+ @height = args[:height] if args.key?(:height)
113
+ @size_type = args[:size_type] if args.key?(:size_type)
114
+ @width = args[:width] if args.key?(:width)
115
+ end
116
+ end
117
+
66
118
  # A request for associating a deal and a creative.
67
119
  class AddDealAssociationRequest
68
120
  include Google::Apis::Core::Hashable
@@ -82,6 +134,25 @@ module Google
82
134
  end
83
135
  end
84
136
 
137
+ # Request message for adding a note to a given proposal.
138
+ class AddNoteRequest
139
+ include Google::Apis::Core::Hashable
140
+
141
+ # A proposal may be associated to several notes.
142
+ # Corresponds to the JSON property `note`
143
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::Note]
144
+ attr_accessor :note
145
+
146
+ def initialize(**args)
147
+ update!(**args)
148
+ end
149
+
150
+ # Update properties of this object
151
+ def update!(**args)
152
+ @note = args[:note] if args.key?(:note)
153
+ end
154
+ end
155
+
85
156
  # @OutputOnly The app type the restriction applies to for mobile device.
86
157
  class AppContext
87
158
  include Google::Apis::Core::Hashable
@@ -219,6 +290,26 @@ module Google
219
290
  end
220
291
  end
221
292
 
293
+ # Represents a buyer of inventory. Each buyer is identified by a unique
294
+ # Ad Exchange account ID.
295
+ class Buyer
296
+ include Google::Apis::Core::Hashable
297
+
298
+ # Ad Exchange account ID of the buyer.
299
+ # Corresponds to the JSON property `accountId`
300
+ # @return [String]
301
+ attr_accessor :account_id
302
+
303
+ def initialize(**args)
304
+ update!(**args)
305
+ end
306
+
307
+ # Update properties of this object
308
+ def update!(**args)
309
+ @account_id = args[:account_id] if args.key?(:account_id)
310
+ end
311
+ end
312
+
222
313
  # The number of impressions with the specified dimension values where the
223
314
  # corresponding bid request or bid response was not successful, as described by
224
315
  # the specified callout status.
@@ -256,6 +347,19 @@ module Google
256
347
  end
257
348
  end
258
349
 
350
+ # Request to cancel an ongoing negotiation.
351
+ class CancelNegotiationRequest
352
+ include Google::Apis::Core::Hashable
353
+
354
+ def initialize(**args)
355
+ update!(**args)
356
+ end
357
+
358
+ # Update properties of this object
359
+ def update!(**args)
360
+ end
361
+ end
362
+
259
363
  # A client resource represents a client buyer—an agency,
260
364
  # a brand, or an advertiser customer of the sponsor buyer.
261
365
  # Users associated with the client buyer have restricted access to
@@ -449,6 +553,44 @@ module Google
449
553
  end
450
554
  end
451
555
 
556
+ # Request message for indicating that the proposal's setup step is complete.
557
+ class CompleteSetupRequest
558
+ include Google::Apis::Core::Hashable
559
+
560
+ def initialize(**args)
561
+ update!(**args)
562
+ end
563
+
564
+ # Update properties of this object
565
+ def update!(**args)
566
+ end
567
+ end
568
+
569
+ # Contains information on how a buyer or seller can be reached.
570
+ class ContactInformation
571
+ include Google::Apis::Core::Hashable
572
+
573
+ # Email address for the contact.
574
+ # Corresponds to the JSON property `email`
575
+ # @return [String]
576
+ attr_accessor :email
577
+
578
+ # The name of the contact.
579
+ # Corresponds to the JSON property `name`
580
+ # @return [String]
581
+ attr_accessor :name
582
+
583
+ def initialize(**args)
584
+ update!(**args)
585
+ end
586
+
587
+ # Update properties of this object
588
+ def update!(**args)
589
+ @email = args[:email] if args.key?(:email)
590
+ @name = args[:name] if args.key?(:name)
591
+ end
592
+ end
593
+
452
594
  # @OutputOnly Shows any corrections that were applied to this creative.
453
595
  class Correction
454
596
  include Google::Apis::Core::Hashable
@@ -719,6 +861,122 @@ module Google
719
861
  end
720
862
  end
721
863
 
864
+ # Represents creative restrictions associated to Programmatic Guaranteed/
865
+ # Preferred Deal in DFP.
866
+ # This doesn't apply to Private Auction and AdX Preferred Deals.
867
+ class CreativeRestrictions
868
+ include Google::Apis::Core::Hashable
869
+
870
+ # The format of the environment that the creatives will be displayed in.
871
+ # Corresponds to the JSON property `creativeFormat`
872
+ # @return [String]
873
+ attr_accessor :creative_format
874
+
875
+ #
876
+ # Corresponds to the JSON property `creativeSpecifications`
877
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::CreativeSpecification>]
878
+ attr_accessor :creative_specifications
879
+
880
+ # Skippable video ads allow viewers to skip ads after 5 seconds.
881
+ # Corresponds to the JSON property `skippableAdType`
882
+ # @return [String]
883
+ attr_accessor :skippable_ad_type
884
+
885
+ def initialize(**args)
886
+ update!(**args)
887
+ end
888
+
889
+ # Update properties of this object
890
+ def update!(**args)
891
+ @creative_format = args[:creative_format] if args.key?(:creative_format)
892
+ @creative_specifications = args[:creative_specifications] if args.key?(:creative_specifications)
893
+ @skippable_ad_type = args[:skippable_ad_type] if args.key?(:skippable_ad_type)
894
+ end
895
+ end
896
+
897
+ # Specifies the size of the creative.
898
+ class CreativeSize
899
+ include Google::Apis::Core::Hashable
900
+
901
+ # What formats are allowed by the publisher.
902
+ # If this repeated field is empty then all formats are allowed.
903
+ # E.g., if this field contains AllowedFormatType.AUDIO then the publisher
904
+ # only allows an audio ad (without any video).
905
+ # Corresponds to the JSON property `allowedFormats`
906
+ # @return [Array<String>]
907
+ attr_accessor :allowed_formats
908
+
909
+ # For video creatives specifies the sizes of companion ads (if present).
910
+ # Companion sizes may be filled in only when creative_size_type = VIDEO
911
+ # Corresponds to the JSON property `companionSizes`
912
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::Size>]
913
+ attr_accessor :companion_sizes
914
+
915
+ # The creative size type.
916
+ # Corresponds to the JSON property `creativeSizeType`
917
+ # @return [String]
918
+ attr_accessor :creative_size_type
919
+
920
+ # The native template for this creative. It will have a value only if
921
+ # creative_size_type = CreativeSizeType.NATIVE.
922
+ # @OutputOnly
923
+ # Corresponds to the JSON property `nativeTemplate`
924
+ # @return [String]
925
+ attr_accessor :native_template
926
+
927
+ # Message depicting the size of the creative. The units of width and
928
+ # height depend on the type of the targeting.
929
+ # Corresponds to the JSON property `size`
930
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::Size]
931
+ attr_accessor :size
932
+
933
+ # The type of skippable ad for this creative. It will have a value only if
934
+ # creative_size_type = CreativeSizeType.VIDEO.
935
+ # Corresponds to the JSON property `skippableAdType`
936
+ # @return [String]
937
+ attr_accessor :skippable_ad_type
938
+
939
+ def initialize(**args)
940
+ update!(**args)
941
+ end
942
+
943
+ # Update properties of this object
944
+ def update!(**args)
945
+ @allowed_formats = args[:allowed_formats] if args.key?(:allowed_formats)
946
+ @companion_sizes = args[:companion_sizes] if args.key?(:companion_sizes)
947
+ @creative_size_type = args[:creative_size_type] if args.key?(:creative_size_type)
948
+ @native_template = args[:native_template] if args.key?(:native_template)
949
+ @size = args[:size] if args.key?(:size)
950
+ @skippable_ad_type = args[:skippable_ad_type] if args.key?(:skippable_ad_type)
951
+ end
952
+ end
953
+
954
+ # Represents information for a creative that is associated with a Programmatic
955
+ # Guaranteed/Preferred Deal in DFP.
956
+ class CreativeSpecification
957
+ include Google::Apis::Core::Hashable
958
+
959
+ # Companion sizes may be filled in only when this is a video creative.
960
+ # Corresponds to the JSON property `creativeCompanionSizes`
961
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::AdSize>]
962
+ attr_accessor :creative_companion_sizes
963
+
964
+ # Represents size of a single ad slot, or a creative.
965
+ # Corresponds to the JSON property `creativeSize`
966
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::AdSize]
967
+ attr_accessor :creative_size
968
+
969
+ def initialize(**args)
970
+ update!(**args)
971
+ end
972
+
973
+ # Update properties of this object
974
+ def update!(**args)
975
+ @creative_companion_sizes = args[:creative_companion_sizes] if args.key?(:creative_companion_sizes)
976
+ @creative_size = args[:creative_size] if args.key?(:creative_size)
977
+ end
978
+ end
979
+
722
980
  # The number of bids with the specified dimension values that did not win the
723
981
  # auction (either were filtered pre-auction or lost the auction), as described
724
982
  # by the specified creative status.
@@ -756,6 +1014,32 @@ module Google
756
1014
  end
757
1015
  end
758
1016
 
1017
+ # Generic targeting used for targeting dimensions that contains a list of
1018
+ # included and excluded numeric IDs.
1019
+ class CriteriaTargeting
1020
+ include Google::Apis::Core::Hashable
1021
+
1022
+ # A list of numeric IDs to be excluded.
1023
+ # Corresponds to the JSON property `excludedCriteriaIds`
1024
+ # @return [Array<Fixnum>]
1025
+ attr_accessor :excluded_criteria_ids
1026
+
1027
+ # A list of numeric IDs to be included.
1028
+ # Corresponds to the JSON property `targetedCriteriaIds`
1029
+ # @return [Array<Fixnum>]
1030
+ attr_accessor :targeted_criteria_ids
1031
+
1032
+ def initialize(**args)
1033
+ update!(**args)
1034
+ end
1035
+
1036
+ # Update properties of this object
1037
+ def update!(**args)
1038
+ @excluded_criteria_ids = args[:excluded_criteria_ids] if args.key?(:excluded_criteria_ids)
1039
+ @targeted_criteria_ids = args[:targeted_criteria_ids] if args.key?(:targeted_criteria_ids)
1040
+ end
1041
+ end
1042
+
759
1043
  # Represents a whole calendar date, for example date of birth. The time of day
760
1044
  # and time zone are either specified elsewhere or are not significant. The date
761
1045
  # is relative to the Proleptic Gregorian Calendar. The day can be 0 to
@@ -796,19 +1080,29 @@ module Google
796
1080
  end
797
1081
  end
798
1082
 
799
- # @OutputOnly The reason and details for a disapproval.
800
- class Disapproval
1083
+ # Daypart targeting message that specifies if the ad can be shown
1084
+ # only during certain parts of a day/week.
1085
+ class DayPart
801
1086
  include Google::Apis::Core::Hashable
802
1087
 
803
- # Additional details about the reason for disapproval.
804
- # Corresponds to the JSON property `details`
805
- # @return [Array<String>]
806
- attr_accessor :details
807
-
808
- # The categorized reason for disapproval.
809
- # Corresponds to the JSON property `reason`
1088
+ # The day of the week to target. If unspecified, applicable to all days.
1089
+ # Corresponds to the JSON property `dayOfWeek`
810
1090
  # @return [String]
811
- attr_accessor :reason
1091
+ attr_accessor :day_of_week
1092
+
1093
+ # Represents a time of day. The date and time zone are either not significant
1094
+ # or are specified elsewhere. An API may choose to allow leap seconds. Related
1095
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1096
+ # Corresponds to the JSON property `endTime`
1097
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::TimeOfDay]
1098
+ attr_accessor :end_time
1099
+
1100
+ # Represents a time of day. The date and time zone are either not significant
1101
+ # or are specified elsewhere. An API may choose to allow leap seconds. Related
1102
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1103
+ # Corresponds to the JSON property `startTime`
1104
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::TimeOfDay]
1105
+ attr_accessor :start_time
812
1106
 
813
1107
  def initialize(**args)
814
1108
  update!(**args)
@@ -816,75 +1110,501 @@ module Google
816
1110
 
817
1111
  # Update properties of this object
818
1112
  def update!(**args)
819
- @details = args[:details] if args.key?(:details)
820
- @reason = args[:reason] if args.key?(:reason)
1113
+ @day_of_week = args[:day_of_week] if args.key?(:day_of_week)
1114
+ @end_time = args[:end_time] if args.key?(:end_time)
1115
+ @start_time = args[:start_time] if args.key?(:start_time)
821
1116
  end
822
1117
  end
823
1118
 
824
- # A generic empty message that you can re-use to avoid defining duplicated
825
- # empty messages in your APIs. A typical example is to use it as the request
826
- # or the response type of an API method. For instance:
827
- # service Foo `
828
- # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
829
- # `
830
- # The JSON representation for `Empty` is empty JSON object ````.
831
- class Empty
1119
+ # Specifies the day part targeting criteria.
1120
+ class DayPartTargeting
832
1121
  include Google::Apis::Core::Hashable
833
1122
 
1123
+ # A list of day part targeting criterion.
1124
+ # Corresponds to the JSON property `dayParts`
1125
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::DayPart>]
1126
+ attr_accessor :day_parts
1127
+
1128
+ # The timezone to use for interpreting the day part targeting.
1129
+ # Corresponds to the JSON property `timeZoneType`
1130
+ # @return [String]
1131
+ attr_accessor :time_zone_type
1132
+
834
1133
  def initialize(**args)
835
1134
  update!(**args)
836
1135
  end
837
1136
 
838
1137
  # Update properties of this object
839
1138
  def update!(**args)
1139
+ @day_parts = args[:day_parts] if args.key?(:day_parts)
1140
+ @time_zone_type = args[:time_zone_type] if args.key?(:time_zone_type)
840
1141
  end
841
1142
  end
842
1143
 
843
- # A set of filters that is applied to a request for data.
844
- # Within a filter set, an AND operation is performed across the filters
845
- # represented by each field. An OR operation is performed across the filters
846
- # represented by the multiple values of a repeated field. E.g.
847
- # "format=VIDEO AND deal_id=12 AND (seller_network_id=34 OR
848
- # seller_network_id=56)"
849
- class FilterSet
1144
+ # A deal represents a segment of inventory for displaying ads on.
1145
+ # A proposal can contain multiple deals. A deal contains the terms and targeting
1146
+ # information that
1147
+ # is used for serving.
1148
+ class Deal
850
1149
  include Google::Apis::Core::Hashable
851
1150
 
852
- # An absolute date range, specified by its start date and end date.
853
- # The supported range of dates begins 30 days before today and ends today.
854
- # Validity checked upon filter set creation. If a filter set with an absolute
855
- # date range is run at a later date more than 30 days after start_date, it will
856
- # fail.
857
- # Corresponds to the JSON property `absoluteDateRange`
858
- # @return [Google::Apis::Adexchangebuyer2V2beta1::AbsoluteDateRange]
859
- attr_accessor :absolute_date_range
1151
+ # Proposed flight end time of the deal.
1152
+ # This will generally be stored in a granularity of a second.
1153
+ # A value is not required for Private Auction deals or Preferred Deals.
1154
+ # Corresponds to the JSON property `availableEndTime`
1155
+ # @return [String]
1156
+ attr_accessor :available_end_time
1157
+
1158
+ # Optional proposed flight start time of the deal.
1159
+ # This will generally be stored in the granularity of one second since deal
1160
+ # serving
1161
+ # starts at seconds boundary. Any time specified with more granularity
1162
+ # (e.g., in milliseconds) will be truncated towards the start of time in seconds.
1163
+ # Corresponds to the JSON property `availableStartTime`
1164
+ # @return [String]
1165
+ attr_accessor :available_start_time
860
1166
 
861
- # The ID of the creative on which to filter; optional. This field may be set
862
- # only for a filter set that accesses account-level troubleshooting data,
863
- # i.e. one whose name matches the `bidders/*/accounts/*/filterSets/*`
864
- # pattern.
865
- # Corresponds to the JSON property `creativeId`
1167
+ # Buyers are allowed to store certain types of private data in a proposal/deal.
1168
+ # Corresponds to the JSON property `buyerPrivateData`
1169
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::PrivateData]
1170
+ attr_accessor :buyer_private_data
1171
+
1172
+ # The product ID from which this deal was created.
1173
+ # Note: This field may be set only when creating the resource. Modifying
1174
+ # this field while updating the resource will result in an error.
1175
+ # Corresponds to the JSON property `createProductId`
866
1176
  # @return [String]
867
- attr_accessor :creative_id
1177
+ attr_accessor :create_product_id
1178
+
1179
+ # Optional revision number of the product that the deal was created from.
1180
+ # If present on create, and the server `product_revision` has advanced sinced
1181
+ # the passed-in `create_product_revision`, an `ABORTED` error will be
1182
+ # returned.
1183
+ # Note: This field may be set only when creating the resource. Modifying
1184
+ # this field while updating the resource will result in an error.
1185
+ # Corresponds to the JSON property `createProductRevision`
1186
+ # @return [Fixnum]
1187
+ attr_accessor :create_product_revision
868
1188
 
869
- # The ID of the deal on which to filter; optional. This field may be set
870
- # only for a filter set that accesses account-level troubleshooting data,
871
- # i.e. one whose name matches the `bidders/*/accounts/*/filterSets/*`
872
- # pattern.
1189
+ # The time of the deal creation.
1190
+ # @OutputOnly
1191
+ # Corresponds to the JSON property `createTime`
1192
+ # @return [String]
1193
+ attr_accessor :create_time
1194
+
1195
+ # Specifies the creative pre-approval policy.
1196
+ # @OutputOnly
1197
+ # Corresponds to the JSON property `creativePreApprovalPolicy`
1198
+ # @return [String]
1199
+ attr_accessor :creative_pre_approval_policy
1200
+
1201
+ # Represents creative restrictions associated to Programmatic Guaranteed/
1202
+ # Preferred Deal in DFP.
1203
+ # This doesn't apply to Private Auction and AdX Preferred Deals.
1204
+ # Corresponds to the JSON property `creativeRestrictions`
1205
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::CreativeRestrictions]
1206
+ attr_accessor :creative_restrictions
1207
+
1208
+ # Specifies whether the creative is safeFrame compatible.
1209
+ # @OutputOnly
1210
+ # Corresponds to the JSON property `creativeSafeFrameCompatibility`
1211
+ # @return [String]
1212
+ attr_accessor :creative_safe_frame_compatibility
1213
+
1214
+ # A unique deal ID for the deal (server-assigned).
1215
+ # @OutputOnly
873
1216
  # Corresponds to the JSON property `dealId`
874
- # @return [Fixnum]
1217
+ # @return [String]
875
1218
  attr_accessor :deal_id
876
1219
 
877
- # The environment on which to filter; optional.
878
- # Corresponds to the JSON property `environment`
1220
+ # Message captures metadata about the serving status of a deal.
1221
+ # Corresponds to the JSON property `dealServingMetadata`
1222
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::DealServingMetadata]
1223
+ attr_accessor :deal_serving_metadata
1224
+
1225
+ # The deal terms specify the details of a Product/deal. They specify things
1226
+ # like price per buyer, the type of pricing model (e.g., fixed price, auction)
1227
+ # and expected impressions from the publisher.
1228
+ # Corresponds to the JSON property `dealTerms`
1229
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::DealTerms]
1230
+ attr_accessor :deal_terms
1231
+
1232
+ # Message contains details about how the deals will be paced.
1233
+ # Corresponds to the JSON property `deliveryControl`
1234
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::DeliveryControl]
1235
+ attr_accessor :delivery_control
1236
+
1237
+ # Description for the deal terms.
1238
+ # Corresponds to the JSON property `description`
879
1239
  # @return [String]
880
- attr_accessor :environment
1240
+ attr_accessor :description
881
1241
 
882
- # The list of formats on which to filter; may be empty. The filters
883
- # represented by multiple formats are ORed together (i.e. if non-empty,
884
- # results must match any one of the formats).
885
- # Corresponds to the JSON property `formats`
886
- # @return [Array<String>]
887
- attr_accessor :formats
1242
+ # The name of the deal.
1243
+ # Corresponds to the JSON property `displayName`
1244
+ # @return [String]
1245
+ attr_accessor :display_name
1246
+
1247
+ # The external deal ID assigned to this deal once the deal is finalized.
1248
+ # This is the deal ID that shows up in serving/reporting etc.
1249
+ # @OutputOnly
1250
+ # Corresponds to the JSON property `externalDealId`
1251
+ # @return [String]
1252
+ attr_accessor :external_deal_id
1253
+
1254
+ # True, if the buyside inventory setup is complete for this deal.
1255
+ # @OutputOnly
1256
+ # Corresponds to the JSON property `isSetupComplete`
1257
+ # @return [Boolean]
1258
+ attr_accessor :is_setup_complete
1259
+ alias_method :is_setup_complete?, :is_setup_complete
1260
+
1261
+ # Specifies the creative source for programmatic deals. PUBLISHER means
1262
+ # creative is provided by seller and ADVERTISER means creative is
1263
+ # provided by buyer.
1264
+ # @OutputOnly
1265
+ # Corresponds to the JSON property `programmaticCreativeSource`
1266
+ # @return [String]
1267
+ attr_accessor :programmatic_creative_source
1268
+
1269
+ # ID of the proposal that this deal is part of.
1270
+ # @OutputOnly
1271
+ # Corresponds to the JSON property `proposalId`
1272
+ # @return [String]
1273
+ attr_accessor :proposal_id
1274
+
1275
+ # Seller contact information for the deal.
1276
+ # @OutputOnly
1277
+ # Corresponds to the JSON property `sellerContacts`
1278
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::ContactInformation>]
1279
+ attr_accessor :seller_contacts
1280
+
1281
+ # The syndication product associated with the deal.
1282
+ # Note: This field may be set only when creating the resource. Modifying
1283
+ # this field while updating the resource will result in an error.
1284
+ # Corresponds to the JSON property `syndicationProduct`
1285
+ # @return [String]
1286
+ attr_accessor :syndication_product
1287
+
1288
+ # Targeting represents different criteria that can be used by advertisers to
1289
+ # target ad inventory. For example, they can choose to target ad requests only
1290
+ # if the user is in the US.
1291
+ # Multiple types of targeting are always applied as a logical AND, unless noted
1292
+ # otherwise.
1293
+ # Corresponds to the JSON property `targeting`
1294
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::MarketplaceTargeting]
1295
+ attr_accessor :targeting
1296
+
1297
+ # The shared targeting visible to buyers and sellers. Each shared
1298
+ # targeting entity is AND'd together.
1299
+ # Corresponds to the JSON property `targetingCriterion`
1300
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::TargetingCriteria>]
1301
+ attr_accessor :targeting_criterion
1302
+
1303
+ # The time when the deal was last updated.
1304
+ # @OutputOnly
1305
+ # Corresponds to the JSON property `updateTime`
1306
+ # @return [String]
1307
+ attr_accessor :update_time
1308
+
1309
+ # The web property code for the seller copied over from the product.
1310
+ # Corresponds to the JSON property `webPropertyCode`
1311
+ # @return [String]
1312
+ attr_accessor :web_property_code
1313
+
1314
+ def initialize(**args)
1315
+ update!(**args)
1316
+ end
1317
+
1318
+ # Update properties of this object
1319
+ def update!(**args)
1320
+ @available_end_time = args[:available_end_time] if args.key?(:available_end_time)
1321
+ @available_start_time = args[:available_start_time] if args.key?(:available_start_time)
1322
+ @buyer_private_data = args[:buyer_private_data] if args.key?(:buyer_private_data)
1323
+ @create_product_id = args[:create_product_id] if args.key?(:create_product_id)
1324
+ @create_product_revision = args[:create_product_revision] if args.key?(:create_product_revision)
1325
+ @create_time = args[:create_time] if args.key?(:create_time)
1326
+ @creative_pre_approval_policy = args[:creative_pre_approval_policy] if args.key?(:creative_pre_approval_policy)
1327
+ @creative_restrictions = args[:creative_restrictions] if args.key?(:creative_restrictions)
1328
+ @creative_safe_frame_compatibility = args[:creative_safe_frame_compatibility] if args.key?(:creative_safe_frame_compatibility)
1329
+ @deal_id = args[:deal_id] if args.key?(:deal_id)
1330
+ @deal_serving_metadata = args[:deal_serving_metadata] if args.key?(:deal_serving_metadata)
1331
+ @deal_terms = args[:deal_terms] if args.key?(:deal_terms)
1332
+ @delivery_control = args[:delivery_control] if args.key?(:delivery_control)
1333
+ @description = args[:description] if args.key?(:description)
1334
+ @display_name = args[:display_name] if args.key?(:display_name)
1335
+ @external_deal_id = args[:external_deal_id] if args.key?(:external_deal_id)
1336
+ @is_setup_complete = args[:is_setup_complete] if args.key?(:is_setup_complete)
1337
+ @programmatic_creative_source = args[:programmatic_creative_source] if args.key?(:programmatic_creative_source)
1338
+ @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
1339
+ @seller_contacts = args[:seller_contacts] if args.key?(:seller_contacts)
1340
+ @syndication_product = args[:syndication_product] if args.key?(:syndication_product)
1341
+ @targeting = args[:targeting] if args.key?(:targeting)
1342
+ @targeting_criterion = args[:targeting_criterion] if args.key?(:targeting_criterion)
1343
+ @update_time = args[:update_time] if args.key?(:update_time)
1344
+ @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
1345
+ end
1346
+ end
1347
+
1348
+ # Tracks which parties (if any) have paused a deal.
1349
+ # The deal is considered paused if either hasBuyerPaused or
1350
+ # hasSellPaused is true.
1351
+ class DealPauseStatus
1352
+ include Google::Apis::Core::Hashable
1353
+
1354
+ # The buyer's reason for pausing, if the buyer paused the deal.
1355
+ # Corresponds to the JSON property `buyerPauseReason`
1356
+ # @return [String]
1357
+ attr_accessor :buyer_pause_reason
1358
+
1359
+ # The role of the person who first paused this deal.
1360
+ # Corresponds to the JSON property `firstPausedBy`
1361
+ # @return [String]
1362
+ attr_accessor :first_paused_by
1363
+
1364
+ # True, if the buyer has paused the deal unilaterally.
1365
+ # Corresponds to the JSON property `hasBuyerPaused`
1366
+ # @return [Boolean]
1367
+ attr_accessor :has_buyer_paused
1368
+ alias_method :has_buyer_paused?, :has_buyer_paused
1369
+
1370
+ # True, if the seller has paused the deal unilaterally.
1371
+ # Corresponds to the JSON property `hasSellerPaused`
1372
+ # @return [Boolean]
1373
+ attr_accessor :has_seller_paused
1374
+ alias_method :has_seller_paused?, :has_seller_paused
1375
+
1376
+ # The seller's reason for pausing, if the seller paused the deal.
1377
+ # Corresponds to the JSON property `sellerPauseReason`
1378
+ # @return [String]
1379
+ attr_accessor :seller_pause_reason
1380
+
1381
+ def initialize(**args)
1382
+ update!(**args)
1383
+ end
1384
+
1385
+ # Update properties of this object
1386
+ def update!(**args)
1387
+ @buyer_pause_reason = args[:buyer_pause_reason] if args.key?(:buyer_pause_reason)
1388
+ @first_paused_by = args[:first_paused_by] if args.key?(:first_paused_by)
1389
+ @has_buyer_paused = args[:has_buyer_paused] if args.key?(:has_buyer_paused)
1390
+ @has_seller_paused = args[:has_seller_paused] if args.key?(:has_seller_paused)
1391
+ @seller_pause_reason = args[:seller_pause_reason] if args.key?(:seller_pause_reason)
1392
+ end
1393
+ end
1394
+
1395
+ # Message captures metadata about the serving status of a deal.
1396
+ class DealServingMetadata
1397
+ include Google::Apis::Core::Hashable
1398
+
1399
+ # Tracks which parties (if any) have paused a deal.
1400
+ # The deal is considered paused if either hasBuyerPaused or
1401
+ # hasSellPaused is true.
1402
+ # Corresponds to the JSON property `dealPauseStatus`
1403
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::DealPauseStatus]
1404
+ attr_accessor :deal_pause_status
1405
+
1406
+ def initialize(**args)
1407
+ update!(**args)
1408
+ end
1409
+
1410
+ # Update properties of this object
1411
+ def update!(**args)
1412
+ @deal_pause_status = args[:deal_pause_status] if args.key?(:deal_pause_status)
1413
+ end
1414
+ end
1415
+
1416
+ # The deal terms specify the details of a Product/deal. They specify things
1417
+ # like price per buyer, the type of pricing model (e.g., fixed price, auction)
1418
+ # and expected impressions from the publisher.
1419
+ class DealTerms
1420
+ include Google::Apis::Core::Hashable
1421
+
1422
+ # Visibility of the URL in bid requests. (default: BRANDED)
1423
+ # Corresponds to the JSON property `brandingType`
1424
+ # @return [String]
1425
+ attr_accessor :branding_type
1426
+
1427
+ # Publisher provided description for the terms.
1428
+ # Corresponds to the JSON property `description`
1429
+ # @return [String]
1430
+ attr_accessor :description
1431
+
1432
+ # Represents a price and a pricing type for a product / deal.
1433
+ # Corresponds to the JSON property `estimatedGrossSpend`
1434
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::Price]
1435
+ attr_accessor :estimated_gross_spend
1436
+
1437
+ # Non-binding estimate of the impressions served per day.
1438
+ # Can be set by buyer or seller.
1439
+ # Corresponds to the JSON property `estimatedImpressionsPerDay`
1440
+ # @return [Fixnum]
1441
+ attr_accessor :estimated_impressions_per_day
1442
+
1443
+ # Terms for Programmatic Guaranteed Deals.
1444
+ # Corresponds to the JSON property `guaranteedFixedPriceTerms`
1445
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::GuaranteedFixedPriceTerms]
1446
+ attr_accessor :guaranteed_fixed_price_terms
1447
+
1448
+ # Terms for Private Auctions. Note that Private Auctions can be created only
1449
+ # by the seller, but they can be returned in a get or list request.
1450
+ # Corresponds to the JSON property `nonGuaranteedAuctionTerms`
1451
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::NonGuaranteedAuctionTerms]
1452
+ attr_accessor :non_guaranteed_auction_terms
1453
+
1454
+ # Terms for Preferred Deals. Note that Preferred Deals cannot be created via
1455
+ # the API at this time, but can be returned in a get or list request.
1456
+ # Corresponds to the JSON property `nonGuaranteedFixedPriceTerms`
1457
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::NonGuaranteedFixedPriceTerms]
1458
+ attr_accessor :non_guaranteed_fixed_price_terms
1459
+
1460
+ # The time zone name. For deals with Cost Per Day billing, defines the
1461
+ # time zone used to mark the boundaries of a day. It should be an
1462
+ # IANA TZ name, such as "America/Los_Angeles". For more information,
1463
+ # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
1464
+ # Corresponds to the JSON property `sellerTimeZone`
1465
+ # @return [String]
1466
+ attr_accessor :seller_time_zone
1467
+
1468
+ def initialize(**args)
1469
+ update!(**args)
1470
+ end
1471
+
1472
+ # Update properties of this object
1473
+ def update!(**args)
1474
+ @branding_type = args[:branding_type] if args.key?(:branding_type)
1475
+ @description = args[:description] if args.key?(:description)
1476
+ @estimated_gross_spend = args[:estimated_gross_spend] if args.key?(:estimated_gross_spend)
1477
+ @estimated_impressions_per_day = args[:estimated_impressions_per_day] if args.key?(:estimated_impressions_per_day)
1478
+ @guaranteed_fixed_price_terms = args[:guaranteed_fixed_price_terms] if args.key?(:guaranteed_fixed_price_terms)
1479
+ @non_guaranteed_auction_terms = args[:non_guaranteed_auction_terms] if args.key?(:non_guaranteed_auction_terms)
1480
+ @non_guaranteed_fixed_price_terms = args[:non_guaranteed_fixed_price_terms] if args.key?(:non_guaranteed_fixed_price_terms)
1481
+ @seller_time_zone = args[:seller_time_zone] if args.key?(:seller_time_zone)
1482
+ end
1483
+ end
1484
+
1485
+ # Message contains details about how the deals will be paced.
1486
+ class DeliveryControl
1487
+ include Google::Apis::Core::Hashable
1488
+
1489
+ # Specified the creative blocking levels to be applied.
1490
+ # @OutputOnly
1491
+ # Corresponds to the JSON property `creativeBlockingLevel`
1492
+ # @return [String]
1493
+ attr_accessor :creative_blocking_level
1494
+
1495
+ # Specifies how the impression delivery will be paced.
1496
+ # @OutputOnly
1497
+ # Corresponds to the JSON property `deliveryRateType`
1498
+ # @return [String]
1499
+ attr_accessor :delivery_rate_type
1500
+
1501
+ # Specifies any frequency caps.
1502
+ # @OutputOnly
1503
+ # Corresponds to the JSON property `frequencyCaps`
1504
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::FrequencyCap>]
1505
+ attr_accessor :frequency_caps
1506
+
1507
+ def initialize(**args)
1508
+ update!(**args)
1509
+ end
1510
+
1511
+ # Update properties of this object
1512
+ def update!(**args)
1513
+ @creative_blocking_level = args[:creative_blocking_level] if args.key?(:creative_blocking_level)
1514
+ @delivery_rate_type = args[:delivery_rate_type] if args.key?(:delivery_rate_type)
1515
+ @frequency_caps = args[:frequency_caps] if args.key?(:frequency_caps)
1516
+ end
1517
+ end
1518
+
1519
+ # @OutputOnly The reason and details for a disapproval.
1520
+ class Disapproval
1521
+ include Google::Apis::Core::Hashable
1522
+
1523
+ # Additional details about the reason for disapproval.
1524
+ # Corresponds to the JSON property `details`
1525
+ # @return [Array<String>]
1526
+ attr_accessor :details
1527
+
1528
+ # The categorized reason for disapproval.
1529
+ # Corresponds to the JSON property `reason`
1530
+ # @return [String]
1531
+ attr_accessor :reason
1532
+
1533
+ def initialize(**args)
1534
+ update!(**args)
1535
+ end
1536
+
1537
+ # Update properties of this object
1538
+ def update!(**args)
1539
+ @details = args[:details] if args.key?(:details)
1540
+ @reason = args[:reason] if args.key?(:reason)
1541
+ end
1542
+ end
1543
+
1544
+ # A generic empty message that you can re-use to avoid defining duplicated
1545
+ # empty messages in your APIs. A typical example is to use it as the request
1546
+ # or the response type of an API method. For instance:
1547
+ # service Foo `
1548
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1549
+ # `
1550
+ # The JSON representation for `Empty` is empty JSON object ````.
1551
+ class Empty
1552
+ include Google::Apis::Core::Hashable
1553
+
1554
+ def initialize(**args)
1555
+ update!(**args)
1556
+ end
1557
+
1558
+ # Update properties of this object
1559
+ def update!(**args)
1560
+ end
1561
+ end
1562
+
1563
+ # A set of filters that is applied to a request for data.
1564
+ # Within a filter set, an AND operation is performed across the filters
1565
+ # represented by each field. An OR operation is performed across the filters
1566
+ # represented by the multiple values of a repeated field. E.g.
1567
+ # "format=VIDEO AND deal_id=12 AND (seller_network_id=34 OR
1568
+ # seller_network_id=56)"
1569
+ class FilterSet
1570
+ include Google::Apis::Core::Hashable
1571
+
1572
+ # An absolute date range, specified by its start date and end date.
1573
+ # The supported range of dates begins 30 days before today and ends today.
1574
+ # Validity checked upon filter set creation. If a filter set with an absolute
1575
+ # date range is run at a later date more than 30 days after start_date, it will
1576
+ # fail.
1577
+ # Corresponds to the JSON property `absoluteDateRange`
1578
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::AbsoluteDateRange]
1579
+ attr_accessor :absolute_date_range
1580
+
1581
+ # The ID of the creative on which to filter; optional. This field may be set
1582
+ # only for a filter set that accesses account-level troubleshooting data,
1583
+ # i.e. one whose name matches the `bidders/*/accounts/*/filterSets/*`
1584
+ # pattern.
1585
+ # Corresponds to the JSON property `creativeId`
1586
+ # @return [String]
1587
+ attr_accessor :creative_id
1588
+
1589
+ # The ID of the deal on which to filter; optional. This field may be set
1590
+ # only for a filter set that accesses account-level troubleshooting data,
1591
+ # i.e. one whose name matches the `bidders/*/accounts/*/filterSets/*`
1592
+ # pattern.
1593
+ # Corresponds to the JSON property `dealId`
1594
+ # @return [Fixnum]
1595
+ attr_accessor :deal_id
1596
+
1597
+ # The environment on which to filter; optional.
1598
+ # Corresponds to the JSON property `environment`
1599
+ # @return [String]
1600
+ attr_accessor :environment
1601
+
1602
+ # The list of formats on which to filter; may be empty. The filters
1603
+ # represented by multiple formats are ORed together (i.e. if non-empty,
1604
+ # results must match any one of the formats).
1605
+ # Corresponds to the JSON property `formats`
1606
+ # @return [Array<String>]
1607
+ attr_accessor :formats
888
1608
 
889
1609
  # A user-defined name of the filter set. Filter set names must be unique
890
1610
  # globally and match one of the patterns:
@@ -1070,6 +1790,109 @@ module Google
1070
1790
  end
1071
1791
  end
1072
1792
 
1793
+ # Represents a list of targeted and excluded mobile application IDs that
1794
+ # publishers own.
1795
+ # Mobile application IDs are from App Store and Google Play Store.
1796
+ # Android App ID, for example, com.google.android.apps.maps, can be found in
1797
+ # Google Play Store URL.
1798
+ # iOS App ID (which is a number) can be found at the end of iTunes store URL.
1799
+ # First party mobile applications is either included or excluded.
1800
+ class FirstPartyMobileApplicationTargeting
1801
+ include Google::Apis::Core::Hashable
1802
+
1803
+ # A list of application IDs to be excluded.
1804
+ # Corresponds to the JSON property `excludedAppIds`
1805
+ # @return [Array<String>]
1806
+ attr_accessor :excluded_app_ids
1807
+
1808
+ # A list of application IDs to be included.
1809
+ # Corresponds to the JSON property `targetedAppIds`
1810
+ # @return [Array<String>]
1811
+ attr_accessor :targeted_app_ids
1812
+
1813
+ def initialize(**args)
1814
+ update!(**args)
1815
+ end
1816
+
1817
+ # Update properties of this object
1818
+ def update!(**args)
1819
+ @excluded_app_ids = args[:excluded_app_ids] if args.key?(:excluded_app_ids)
1820
+ @targeted_app_ids = args[:targeted_app_ids] if args.key?(:targeted_app_ids)
1821
+ end
1822
+ end
1823
+
1824
+ # Frequency cap.
1825
+ class FrequencyCap
1826
+ include Google::Apis::Core::Hashable
1827
+
1828
+ # The maximum number of impressions that can be served to a user within the
1829
+ # specified time period.
1830
+ # Corresponds to the JSON property `maxImpressions`
1831
+ # @return [Fixnum]
1832
+ attr_accessor :max_impressions
1833
+
1834
+ # The amount of time, in the units specified by time_unit_type. Defines the
1835
+ # amount of time over which impressions per user are counted and capped.
1836
+ # Corresponds to the JSON property `numTimeUnits`
1837
+ # @return [Fixnum]
1838
+ attr_accessor :num_time_units
1839
+
1840
+ # The time unit. Along with num_time_units defines the amount of time over
1841
+ # which impressions per user are counted and capped.
1842
+ # Corresponds to the JSON property `timeUnitType`
1843
+ # @return [String]
1844
+ attr_accessor :time_unit_type
1845
+
1846
+ def initialize(**args)
1847
+ update!(**args)
1848
+ end
1849
+
1850
+ # Update properties of this object
1851
+ def update!(**args)
1852
+ @max_impressions = args[:max_impressions] if args.key?(:max_impressions)
1853
+ @num_time_units = args[:num_time_units] if args.key?(:num_time_units)
1854
+ @time_unit_type = args[:time_unit_type] if args.key?(:time_unit_type)
1855
+ end
1856
+ end
1857
+
1858
+ # Terms for Programmatic Guaranteed Deals.
1859
+ class GuaranteedFixedPriceTerms
1860
+ include Google::Apis::Core::Hashable
1861
+
1862
+ # Fixed price for the specified buyer.
1863
+ # Corresponds to the JSON property `fixedPrices`
1864
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::PricePerBuyer>]
1865
+ attr_accessor :fixed_prices
1866
+
1867
+ # Guaranteed impressions as a percentage. This is the percentage
1868
+ # of guaranteed looks that the buyer is guaranteeing to buy.
1869
+ # Corresponds to the JSON property `guaranteedImpressions`
1870
+ # @return [Fixnum]
1871
+ attr_accessor :guaranteed_impressions
1872
+
1873
+ # Count of guaranteed looks. Required for deal, optional for product.
1874
+ # Corresponds to the JSON property `guaranteedLooks`
1875
+ # @return [Fixnum]
1876
+ attr_accessor :guaranteed_looks
1877
+
1878
+ # Daily minimum looks for CPD deal types.
1879
+ # Corresponds to the JSON property `minimumDailyLooks`
1880
+ # @return [Fixnum]
1881
+ attr_accessor :minimum_daily_looks
1882
+
1883
+ def initialize(**args)
1884
+ update!(**args)
1885
+ end
1886
+
1887
+ # Update properties of this object
1888
+ def update!(**args)
1889
+ @fixed_prices = args[:fixed_prices] if args.key?(:fixed_prices)
1890
+ @guaranteed_impressions = args[:guaranteed_impressions] if args.key?(:guaranteed_impressions)
1891
+ @guaranteed_looks = args[:guaranteed_looks] if args.key?(:guaranteed_looks)
1892
+ @minimum_daily_looks = args[:minimum_daily_looks] if args.key?(:minimum_daily_looks)
1893
+ end
1894
+ end
1895
+
1073
1896
  # HTML content for a creative.
1074
1897
  class HtmlContent
1075
1898
  include Google::Apis::Core::Hashable
@@ -1190,6 +2013,34 @@ module Google
1190
2013
  end
1191
2014
  end
1192
2015
 
2016
+ # Represents the size of an ad unit that can be targeted on an ad
2017
+ # request. It only applies to Private Auction, AdX Preferred Deals and
2018
+ # Auction Packages. This targeting does not apply to Programmatic Guaranteed
2019
+ # and Preferred Deals in DFP.
2020
+ class InventorySizeTargeting
2021
+ include Google::Apis::Core::Hashable
2022
+
2023
+ # A list of inventory sizes to be excluded.
2024
+ # Corresponds to the JSON property `excludedInventorySizes`
2025
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::AdSize>]
2026
+ attr_accessor :excluded_inventory_sizes
2027
+
2028
+ # A list of inventory sizes to be included.
2029
+ # Corresponds to the JSON property `targetedInventorySizes`
2030
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::AdSize>]
2031
+ attr_accessor :targeted_inventory_sizes
2032
+
2033
+ def initialize(**args)
2034
+ update!(**args)
2035
+ end
2036
+
2037
+ # Update properties of this object
2038
+ def update!(**args)
2039
+ @excluded_inventory_sizes = args[:excluded_inventory_sizes] if args.key?(:excluded_inventory_sizes)
2040
+ @targeted_inventory_sizes = args[:targeted_inventory_sizes] if args.key?(:targeted_inventory_sizes)
2041
+ end
2042
+ end
2043
+
1193
2044
  # Response message for listing the metrics that are measured in number of bids.
1194
2045
  class ListBidMetricsResponse
1195
2046
  include Google::Apis::Core::Hashable
@@ -1680,11 +2531,86 @@ module Google
1680
2531
  end
1681
2532
  end
1682
2533
 
1683
- # @OutputOnly The Geo criteria the restriction applies to.
1684
- class LocationContext
2534
+ # Response message for listing products visible to the buyer.
2535
+ class ListProductsResponse
1685
2536
  include Google::Apis::Core::Hashable
1686
2537
 
1687
- # IDs representing the geo location for this context.
2538
+ # List pagination support.
2539
+ # Corresponds to the JSON property `nextPageToken`
2540
+ # @return [String]
2541
+ attr_accessor :next_page_token
2542
+
2543
+ # The list of matching products at their head revision number.
2544
+ # Corresponds to the JSON property `products`
2545
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::Product>]
2546
+ attr_accessor :products
2547
+
2548
+ def initialize(**args)
2549
+ update!(**args)
2550
+ end
2551
+
2552
+ # Update properties of this object
2553
+ def update!(**args)
2554
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2555
+ @products = args[:products] if args.key?(:products)
2556
+ end
2557
+ end
2558
+
2559
+ # Response message for listing proposals.
2560
+ class ListProposalsResponse
2561
+ include Google::Apis::Core::Hashable
2562
+
2563
+ # Continuation token for fetching the next page of results.
2564
+ # Corresponds to the JSON property `nextPageToken`
2565
+ # @return [String]
2566
+ attr_accessor :next_page_token
2567
+
2568
+ # The list of proposals.
2569
+ # Corresponds to the JSON property `proposals`
2570
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::Proposal>]
2571
+ attr_accessor :proposals
2572
+
2573
+ def initialize(**args)
2574
+ update!(**args)
2575
+ end
2576
+
2577
+ # Update properties of this object
2578
+ def update!(**args)
2579
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2580
+ @proposals = args[:proposals] if args.key?(:proposals)
2581
+ end
2582
+ end
2583
+
2584
+ # Response message for profiles visible to the buyer.
2585
+ class ListPublisherProfilesResponse
2586
+ include Google::Apis::Core::Hashable
2587
+
2588
+ # List pagination support
2589
+ # Corresponds to the JSON property `nextPageToken`
2590
+ # @return [String]
2591
+ attr_accessor :next_page_token
2592
+
2593
+ # The list of matching publisher profiles.
2594
+ # Corresponds to the JSON property `publisherProfiles`
2595
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::PublisherProfile>]
2596
+ attr_accessor :publisher_profiles
2597
+
2598
+ def initialize(**args)
2599
+ update!(**args)
2600
+ end
2601
+
2602
+ # Update properties of this object
2603
+ def update!(**args)
2604
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2605
+ @publisher_profiles = args[:publisher_profiles] if args.key?(:publisher_profiles)
2606
+ end
2607
+ end
2608
+
2609
+ # @OutputOnly The Geo criteria the restriction applies to.
2610
+ class LocationContext
2611
+ include Google::Apis::Core::Hashable
2612
+
2613
+ # IDs representing the geo location for this context.
1688
2614
  # Please refer to the
1689
2615
  # [geo-table.csv](https://storage.googleapis.com/adx-rtb-dictionaries/geo-table.
1690
2616
  # csv)
@@ -1703,6 +2629,59 @@ module Google
1703
2629
  end
1704
2630
  end
1705
2631
 
2632
+ # Targeting represents different criteria that can be used by advertisers to
2633
+ # target ad inventory. For example, they can choose to target ad requests only
2634
+ # if the user is in the US.
2635
+ # Multiple types of targeting are always applied as a logical AND, unless noted
2636
+ # otherwise.
2637
+ class MarketplaceTargeting
2638
+ include Google::Apis::Core::Hashable
2639
+
2640
+ # Generic targeting used for targeting dimensions that contains a list of
2641
+ # included and excluded numeric IDs.
2642
+ # Corresponds to the JSON property `geoTargeting`
2643
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::CriteriaTargeting]
2644
+ attr_accessor :geo_targeting
2645
+
2646
+ # Represents the size of an ad unit that can be targeted on an ad
2647
+ # request. It only applies to Private Auction, AdX Preferred Deals and
2648
+ # Auction Packages. This targeting does not apply to Programmatic Guaranteed
2649
+ # and Preferred Deals in DFP.
2650
+ # Corresponds to the JSON property `inventorySizeTargeting`
2651
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::InventorySizeTargeting]
2652
+ attr_accessor :inventory_size_targeting
2653
+
2654
+ # Represents targeting about where the ads can appear, e.g. certain sites or
2655
+ # mobile applications.
2656
+ # Different placement targeting types will be logically OR'ed.
2657
+ # Corresponds to the JSON property `placementTargeting`
2658
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::PlacementTargeting]
2659
+ attr_accessor :placement_targeting
2660
+
2661
+ # Represents targeting about various types of technology.
2662
+ # Corresponds to the JSON property `technologyTargeting`
2663
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::TechnologyTargeting]
2664
+ attr_accessor :technology_targeting
2665
+
2666
+ # Represents targeting information about video.
2667
+ # Corresponds to the JSON property `videoTargeting`
2668
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::VideoTargeting]
2669
+ attr_accessor :video_targeting
2670
+
2671
+ def initialize(**args)
2672
+ update!(**args)
2673
+ end
2674
+
2675
+ # Update properties of this object
2676
+ def update!(**args)
2677
+ @geo_targeting = args[:geo_targeting] if args.key?(:geo_targeting)
2678
+ @inventory_size_targeting = args[:inventory_size_targeting] if args.key?(:inventory_size_targeting)
2679
+ @placement_targeting = args[:placement_targeting] if args.key?(:placement_targeting)
2680
+ @technology_targeting = args[:technology_targeting] if args.key?(:technology_targeting)
2681
+ @video_targeting = args[:video_targeting] if args.key?(:video_targeting)
2682
+ end
2683
+ end
2684
+
1706
2685
  # A metric value, with an expected value and a variance; represents a count
1707
2686
  # that may be either exact or estimated (i.e. when sampled).
1708
2687
  class MetricValue
@@ -1735,6 +2714,68 @@ module Google
1735
2714
  end
1736
2715
  end
1737
2716
 
2717
+ # Mobile application targeting settings.
2718
+ class MobileApplicationTargeting
2719
+ include Google::Apis::Core::Hashable
2720
+
2721
+ # Represents a list of targeted and excluded mobile application IDs that
2722
+ # publishers own.
2723
+ # Mobile application IDs are from App Store and Google Play Store.
2724
+ # Android App ID, for example, com.google.android.apps.maps, can be found in
2725
+ # Google Play Store URL.
2726
+ # iOS App ID (which is a number) can be found at the end of iTunes store URL.
2727
+ # First party mobile applications is either included or excluded.
2728
+ # Corresponds to the JSON property `firstPartyTargeting`
2729
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::FirstPartyMobileApplicationTargeting]
2730
+ attr_accessor :first_party_targeting
2731
+
2732
+ def initialize(**args)
2733
+ update!(**args)
2734
+ end
2735
+
2736
+ # Update properties of this object
2737
+ def update!(**args)
2738
+ @first_party_targeting = args[:first_party_targeting] if args.key?(:first_party_targeting)
2739
+ end
2740
+ end
2741
+
2742
+ # Represents an amount of money with its currency type.
2743
+ class Money
2744
+ include Google::Apis::Core::Hashable
2745
+
2746
+ # The 3-letter currency code defined in ISO 4217.
2747
+ # Corresponds to the JSON property `currencyCode`
2748
+ # @return [String]
2749
+ attr_accessor :currency_code
2750
+
2751
+ # Number of nano (10^-9) units of the amount.
2752
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
2753
+ # If `units` is positive, `nanos` must be positive or zero.
2754
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
2755
+ # If `units` is negative, `nanos` must be negative or zero.
2756
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
2757
+ # Corresponds to the JSON property `nanos`
2758
+ # @return [Fixnum]
2759
+ attr_accessor :nanos
2760
+
2761
+ # The whole units of the amount.
2762
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
2763
+ # Corresponds to the JSON property `units`
2764
+ # @return [Fixnum]
2765
+ attr_accessor :units
2766
+
2767
+ def initialize(**args)
2768
+ update!(**args)
2769
+ end
2770
+
2771
+ # Update properties of this object
2772
+ def update!(**args)
2773
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
2774
+ @nanos = args[:nanos] if args.key?(:nanos)
2775
+ @units = args[:units] if args.key?(:units)
2776
+ end
2777
+ end
2778
+
1738
2779
  # Native content for a creative.
1739
2780
  class NativeContent
1740
2781
  include Google::Apis::Core::Hashable
@@ -1863,6 +2904,182 @@ module Google
1863
2904
  end
1864
2905
  end
1865
2906
 
2907
+ # Terms for Private Auctions. Note that Private Auctions can be created only
2908
+ # by the seller, but they can be returned in a get or list request.
2909
+ class NonGuaranteedAuctionTerms
2910
+ include Google::Apis::Core::Hashable
2911
+
2912
+ # True if open auction buyers are allowed to compete with invited buyers
2913
+ # in this private auction.
2914
+ # Corresponds to the JSON property `autoOptimizePrivateAuction`
2915
+ # @return [Boolean]
2916
+ attr_accessor :auto_optimize_private_auction
2917
+ alias_method :auto_optimize_private_auction?, :auto_optimize_private_auction
2918
+
2919
+ # Reserve price for the specified buyer.
2920
+ # Corresponds to the JSON property `reservePricesPerBuyer`
2921
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::PricePerBuyer>]
2922
+ attr_accessor :reserve_prices_per_buyer
2923
+
2924
+ def initialize(**args)
2925
+ update!(**args)
2926
+ end
2927
+
2928
+ # Update properties of this object
2929
+ def update!(**args)
2930
+ @auto_optimize_private_auction = args[:auto_optimize_private_auction] if args.key?(:auto_optimize_private_auction)
2931
+ @reserve_prices_per_buyer = args[:reserve_prices_per_buyer] if args.key?(:reserve_prices_per_buyer)
2932
+ end
2933
+ end
2934
+
2935
+ # Terms for Preferred Deals. Note that Preferred Deals cannot be created via
2936
+ # the API at this time, but can be returned in a get or list request.
2937
+ class NonGuaranteedFixedPriceTerms
2938
+ include Google::Apis::Core::Hashable
2939
+
2940
+ # Fixed price for the specified buyer.
2941
+ # Corresponds to the JSON property `fixedPrices`
2942
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::PricePerBuyer>]
2943
+ attr_accessor :fixed_prices
2944
+
2945
+ def initialize(**args)
2946
+ update!(**args)
2947
+ end
2948
+
2949
+ # Update properties of this object
2950
+ def update!(**args)
2951
+ @fixed_prices = args[:fixed_prices] if args.key?(:fixed_prices)
2952
+ end
2953
+ end
2954
+
2955
+ # A proposal may be associated to several notes.
2956
+ class Note
2957
+ include Google::Apis::Core::Hashable
2958
+
2959
+ # The timestamp for when this note was created.
2960
+ # @OutputOnly
2961
+ # Corresponds to the JSON property `createTime`
2962
+ # @return [String]
2963
+ attr_accessor :create_time
2964
+
2965
+ # The role of the person (buyer/seller) creating the note.
2966
+ # @OutputOnly
2967
+ # Corresponds to the JSON property `creatorRole`
2968
+ # @return [String]
2969
+ attr_accessor :creator_role
2970
+
2971
+ # The actual note to attach.
2972
+ # (max-length: 1024 unicode code units)
2973
+ # Note: This field may be set only when creating the resource. Modifying
2974
+ # this field while updating the resource will result in an error.
2975
+ # Corresponds to the JSON property `note`
2976
+ # @return [String]
2977
+ attr_accessor :note
2978
+
2979
+ # The unique ID for the note.
2980
+ # @OutputOnly
2981
+ # Corresponds to the JSON property `noteId`
2982
+ # @return [String]
2983
+ attr_accessor :note_id
2984
+
2985
+ # The revision number of the proposal when the note is created.
2986
+ # @OutputOnly
2987
+ # Corresponds to the JSON property `proposalRevision`
2988
+ # @return [Fixnum]
2989
+ attr_accessor :proposal_revision
2990
+
2991
+ def initialize(**args)
2992
+ update!(**args)
2993
+ end
2994
+
2995
+ # Update properties of this object
2996
+ def update!(**args)
2997
+ @create_time = args[:create_time] if args.key?(:create_time)
2998
+ @creator_role = args[:creator_role] if args.key?(:creator_role)
2999
+ @note = args[:note] if args.key?(:note)
3000
+ @note_id = args[:note_id] if args.key?(:note_id)
3001
+ @proposal_revision = args[:proposal_revision] if args.key?(:proposal_revision)
3002
+ end
3003
+ end
3004
+
3005
+ # Represents targeting information for operating systems.
3006
+ class OperatingSystemTargeting
3007
+ include Google::Apis::Core::Hashable
3008
+
3009
+ # Generic targeting used for targeting dimensions that contains a list of
3010
+ # included and excluded numeric IDs.
3011
+ # Corresponds to the JSON property `operatingSystemCriteria`
3012
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::CriteriaTargeting]
3013
+ attr_accessor :operating_system_criteria
3014
+
3015
+ # Generic targeting used for targeting dimensions that contains a list of
3016
+ # included and excluded numeric IDs.
3017
+ # Corresponds to the JSON property `operatingSystemVersionCriteria`
3018
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::CriteriaTargeting]
3019
+ attr_accessor :operating_system_version_criteria
3020
+
3021
+ def initialize(**args)
3022
+ update!(**args)
3023
+ end
3024
+
3025
+ # Update properties of this object
3026
+ def update!(**args)
3027
+ @operating_system_criteria = args[:operating_system_criteria] if args.key?(:operating_system_criteria)
3028
+ @operating_system_version_criteria = args[:operating_system_version_criteria] if args.key?(:operating_system_version_criteria)
3029
+ end
3030
+ end
3031
+
3032
+ # Request message to pause serving for an already-finalized proposal.
3033
+ class PauseProposalRequest
3034
+ include Google::Apis::Core::Hashable
3035
+
3036
+ # The reason why the proposal is being paused.
3037
+ # This human readable message will be displayed in the seller's UI.
3038
+ # (Max length: 100 unicode code units.)
3039
+ # Corresponds to the JSON property `reason`
3040
+ # @return [String]
3041
+ attr_accessor :reason
3042
+
3043
+ def initialize(**args)
3044
+ update!(**args)
3045
+ end
3046
+
3047
+ # Update properties of this object
3048
+ def update!(**args)
3049
+ @reason = args[:reason] if args.key?(:reason)
3050
+ end
3051
+ end
3052
+
3053
+ # Represents targeting about where the ads can appear, e.g. certain sites or
3054
+ # mobile applications.
3055
+ # Different placement targeting types will be logically OR'ed.
3056
+ class PlacementTargeting
3057
+ include Google::Apis::Core::Hashable
3058
+
3059
+ # Mobile application targeting settings.
3060
+ # Corresponds to the JSON property `mobileApplicationTargeting`
3061
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::MobileApplicationTargeting]
3062
+ attr_accessor :mobile_application_targeting
3063
+
3064
+ # Represents a list of targeted and excluded URLs (e.g google.com).
3065
+ # For Private Auction and AdX Preferred Deals, URLs are either included or
3066
+ # excluded.
3067
+ # For DFP Programmatic Guaranteed and Preferred Deals, this doesn't apply.
3068
+ # Corresponds to the JSON property `urlTargeting`
3069
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::UrlTargeting]
3070
+ attr_accessor :url_targeting
3071
+
3072
+ def initialize(**args)
3073
+ update!(**args)
3074
+ end
3075
+
3076
+ # Update properties of this object
3077
+ def update!(**args)
3078
+ @mobile_application_targeting = args[:mobile_application_targeting] if args.key?(:mobile_application_targeting)
3079
+ @url_targeting = args[:url_targeting] if args.key?(:url_targeting)
3080
+ end
3081
+ end
3082
+
1866
3083
  # @OutputOnly The type of platform the restriction applies to.
1867
3084
  class PlatformContext
1868
3085
  include Google::Apis::Core::Hashable
@@ -1882,6 +3099,488 @@ module Google
1882
3099
  end
1883
3100
  end
1884
3101
 
3102
+ # Represents a price and a pricing type for a product / deal.
3103
+ class Price
3104
+ include Google::Apis::Core::Hashable
3105
+
3106
+ # Represents an amount of money with its currency type.
3107
+ # Corresponds to the JSON property `amount`
3108
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::Money]
3109
+ attr_accessor :amount
3110
+
3111
+ # The pricing type for the deal/product. (default: CPM)
3112
+ # Corresponds to the JSON property `pricingType`
3113
+ # @return [String]
3114
+ attr_accessor :pricing_type
3115
+
3116
+ def initialize(**args)
3117
+ update!(**args)
3118
+ end
3119
+
3120
+ # Update properties of this object
3121
+ def update!(**args)
3122
+ @amount = args[:amount] if args.key?(:amount)
3123
+ @pricing_type = args[:pricing_type] if args.key?(:pricing_type)
3124
+ end
3125
+ end
3126
+
3127
+ # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
3128
+ # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
3129
+ # a particular buyer or buyer/advertiser pair, we look for the most specific
3130
+ # matching rule - we first look for a rule matching the buyer and advertiser,
3131
+ # next a rule with the buyer but an empty advertiser list, and otherwise look
3132
+ # for a matching rule where no buyer is set.
3133
+ class PricePerBuyer
3134
+ include Google::Apis::Core::Hashable
3135
+
3136
+ # The list of advertisers for this price when associated with this buyer.
3137
+ # If empty, all advertisers with this buyer pay this price.
3138
+ # Corresponds to the JSON property `advertiserIds`
3139
+ # @return [Array<String>]
3140
+ attr_accessor :advertiser_ids
3141
+
3142
+ # Represents a buyer of inventory. Each buyer is identified by a unique
3143
+ # Ad Exchange account ID.
3144
+ # Corresponds to the JSON property `buyer`
3145
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::Buyer]
3146
+ attr_accessor :buyer
3147
+
3148
+ # Represents a price and a pricing type for a product / deal.
3149
+ # Corresponds to the JSON property `price`
3150
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::Price]
3151
+ attr_accessor :price
3152
+
3153
+ def initialize(**args)
3154
+ update!(**args)
3155
+ end
3156
+
3157
+ # Update properties of this object
3158
+ def update!(**args)
3159
+ @advertiser_ids = args[:advertiser_ids] if args.key?(:advertiser_ids)
3160
+ @buyer = args[:buyer] if args.key?(:buyer)
3161
+ @price = args[:price] if args.key?(:price)
3162
+ end
3163
+ end
3164
+
3165
+ # Buyers are allowed to store certain types of private data in a proposal/deal.
3166
+ class PrivateData
3167
+ include Google::Apis::Core::Hashable
3168
+
3169
+ # A buyer or seller specified reference ID. This can be queried in the list
3170
+ # operations (max-length: 1024 unicode code units).
3171
+ # Corresponds to the JSON property `referenceId`
3172
+ # @return [String]
3173
+ attr_accessor :reference_id
3174
+
3175
+ def initialize(**args)
3176
+ update!(**args)
3177
+ end
3178
+
3179
+ # Update properties of this object
3180
+ def update!(**args)
3181
+ @reference_id = args[:reference_id] if args.key?(:reference_id)
3182
+ end
3183
+ end
3184
+
3185
+ # Note: this resource requires whitelisting for access. Please contact your
3186
+ # account manager for access to Marketplace resources.
3187
+ # A product is a segment of inventory that a seller wishes to sell. It is
3188
+ # associated with certain terms and targeting information which helps the buyer
3189
+ # know more about the inventory.
3190
+ class Product
3191
+ include Google::Apis::Core::Hashable
3192
+
3193
+ # The proposed end time for the deal. The field will be truncated to the order
3194
+ # of
3195
+ # seconds during serving.
3196
+ # Corresponds to the JSON property `availableEndTime`
3197
+ # @return [String]
3198
+ attr_accessor :available_end_time
3199
+
3200
+ # Inventory availability dates. The start time will be truncated to seconds
3201
+ # during serving.
3202
+ # Thus, a field specified as 3:23:34.456 (HH:mm:ss.SSS) will be truncated to 3:
3203
+ # 23:34
3204
+ # when serving.
3205
+ # Corresponds to the JSON property `availableStartTime`
3206
+ # @return [String]
3207
+ attr_accessor :available_start_time
3208
+
3209
+ # Creation time.
3210
+ # Corresponds to the JSON property `createTime`
3211
+ # @return [String]
3212
+ attr_accessor :create_time
3213
+
3214
+ # Optional contact information for the creator of this product.
3215
+ # Corresponds to the JSON property `creatorContacts`
3216
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::ContactInformation>]
3217
+ attr_accessor :creator_contacts
3218
+
3219
+ # The display name for this product as set by the seller.
3220
+ # Corresponds to the JSON property `displayName`
3221
+ # @return [String]
3222
+ attr_accessor :display_name
3223
+
3224
+ # If the creator has already signed off on the product, then the buyer can
3225
+ # finalize the deal by accepting the product as is. When copying to a
3226
+ # proposal, if any of the terms are changed, then auto_finalize is
3227
+ # automatically set to false.
3228
+ # Corresponds to the JSON property `hasCreatorSignedOff`
3229
+ # @return [Boolean]
3230
+ attr_accessor :has_creator_signed_off
3231
+ alias_method :has_creator_signed_off?, :has_creator_signed_off
3232
+
3233
+ # The unique ID for the product.
3234
+ # Corresponds to the JSON property `productId`
3235
+ # @return [String]
3236
+ attr_accessor :product_id
3237
+
3238
+ # The revision number of the product. (auto-assigned by marketplace)
3239
+ # Corresponds to the JSON property `productRevision`
3240
+ # @return [Fixnum]
3241
+ attr_accessor :product_revision
3242
+
3243
+ # An ID which can be used by the Publisher Profile API to get more
3244
+ # information about the seller that created this product.
3245
+ # Corresponds to the JSON property `publisherProfileId`
3246
+ # @return [String]
3247
+ attr_accessor :publisher_profile_id
3248
+
3249
+ # Represents a seller of inventory. Each seller is identified by a unique
3250
+ # Ad Exchange account ID.
3251
+ # Corresponds to the JSON property `seller`
3252
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::Seller]
3253
+ attr_accessor :seller
3254
+
3255
+ # The syndication product associated with the deal.
3256
+ # Corresponds to the JSON property `syndicationProduct`
3257
+ # @return [String]
3258
+ attr_accessor :syndication_product
3259
+
3260
+ # Targeting that is shared between the buyer and the seller. Each targeting
3261
+ # criterion has a specified key and for each key there is a list of inclusion
3262
+ # value or exclusion values.
3263
+ # Corresponds to the JSON property `targetingCriterion`
3264
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::TargetingCriteria>]
3265
+ attr_accessor :targeting_criterion
3266
+
3267
+ # The deal terms specify the details of a Product/deal. They specify things
3268
+ # like price per buyer, the type of pricing model (e.g., fixed price, auction)
3269
+ # and expected impressions from the publisher.
3270
+ # Corresponds to the JSON property `terms`
3271
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::DealTerms]
3272
+ attr_accessor :terms
3273
+
3274
+ # Time of last update.
3275
+ # Corresponds to the JSON property `updateTime`
3276
+ # @return [String]
3277
+ attr_accessor :update_time
3278
+
3279
+ # The web-property code for the seller. This needs to be copied as is when
3280
+ # adding a new deal to a proposal.
3281
+ # Corresponds to the JSON property `webPropertyCode`
3282
+ # @return [String]
3283
+ attr_accessor :web_property_code
3284
+
3285
+ def initialize(**args)
3286
+ update!(**args)
3287
+ end
3288
+
3289
+ # Update properties of this object
3290
+ def update!(**args)
3291
+ @available_end_time = args[:available_end_time] if args.key?(:available_end_time)
3292
+ @available_start_time = args[:available_start_time] if args.key?(:available_start_time)
3293
+ @create_time = args[:create_time] if args.key?(:create_time)
3294
+ @creator_contacts = args[:creator_contacts] if args.key?(:creator_contacts)
3295
+ @display_name = args[:display_name] if args.key?(:display_name)
3296
+ @has_creator_signed_off = args[:has_creator_signed_off] if args.key?(:has_creator_signed_off)
3297
+ @product_id = args[:product_id] if args.key?(:product_id)
3298
+ @product_revision = args[:product_revision] if args.key?(:product_revision)
3299
+ @publisher_profile_id = args[:publisher_profile_id] if args.key?(:publisher_profile_id)
3300
+ @seller = args[:seller] if args.key?(:seller)
3301
+ @syndication_product = args[:syndication_product] if args.key?(:syndication_product)
3302
+ @targeting_criterion = args[:targeting_criterion] if args.key?(:targeting_criterion)
3303
+ @terms = args[:terms] if args.key?(:terms)
3304
+ @update_time = args[:update_time] if args.key?(:update_time)
3305
+ @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
3306
+ end
3307
+ end
3308
+
3309
+ # Note: this resource requires whitelisting for access. Please contact your
3310
+ # account manager for access to Marketplace resources.
3311
+ # Represents a proposal in the marketplace. A proposal is the unit of
3312
+ # negotiation between a seller and a buyer and contains deals which
3313
+ # are served.
3314
+ # Note: you can not update, create, or otherwise modify Private
3315
+ # Auction or Preferred Deals deals through the API.
3316
+ # Fields are updatable unless noted otherwise.
3317
+ class Proposal
3318
+ include Google::Apis::Core::Hashable
3319
+
3320
+ # Represents a buyer of inventory. Each buyer is identified by a unique
3321
+ # Ad Exchange account ID.
3322
+ # Corresponds to the JSON property `billedBuyer`
3323
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::Buyer]
3324
+ attr_accessor :billed_buyer
3325
+
3326
+ # Represents a buyer of inventory. Each buyer is identified by a unique
3327
+ # Ad Exchange account ID.
3328
+ # Corresponds to the JSON property `buyer`
3329
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::Buyer]
3330
+ attr_accessor :buyer
3331
+
3332
+ # Contact information for the buyer.
3333
+ # Corresponds to the JSON property `buyerContacts`
3334
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::ContactInformation>]
3335
+ attr_accessor :buyer_contacts
3336
+
3337
+ # Buyers are allowed to store certain types of private data in a proposal/deal.
3338
+ # Corresponds to the JSON property `buyerPrivateData`
3339
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::PrivateData]
3340
+ attr_accessor :buyer_private_data
3341
+
3342
+ # The deals associated with this proposal. For Private Auction proposals (whose
3343
+ # deals have
3344
+ # NonGuaranteedAuctionTerms), there will only be one deal.
3345
+ # Corresponds to the JSON property `deals`
3346
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::Deal>]
3347
+ attr_accessor :deals
3348
+
3349
+ # The name for the proposal.
3350
+ # Corresponds to the JSON property `displayName`
3351
+ # @return [String]
3352
+ attr_accessor :display_name
3353
+
3354
+ # True if the proposal is being renegotiated.
3355
+ # @OutputOnly
3356
+ # Corresponds to the JSON property `isRenegotiating`
3357
+ # @return [Boolean]
3358
+ attr_accessor :is_renegotiating
3359
+ alias_method :is_renegotiating?, :is_renegotiating
3360
+
3361
+ # True, if the buyside inventory setup is complete for this proposal.
3362
+ # @OutputOnly
3363
+ # Corresponds to the JSON property `isSetupComplete`
3364
+ # @return [Boolean]
3365
+ attr_accessor :is_setup_complete
3366
+ alias_method :is_setup_complete?, :is_setup_complete
3367
+
3368
+ # The role of the last user that either updated the proposal or left a
3369
+ # comment.
3370
+ # @OutputOnly
3371
+ # Corresponds to the JSON property `lastUpdaterOrCommentorRole`
3372
+ # @return [String]
3373
+ attr_accessor :last_updater_or_commentor_role
3374
+
3375
+ # The notes associated with this proposal.
3376
+ # @OutputOnly
3377
+ # Corresponds to the JSON property `notes`
3378
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::Note>]
3379
+ attr_accessor :notes
3380
+
3381
+ # Indicates whether the buyer/seller created the proposal.
3382
+ # @OutputOnly
3383
+ # Corresponds to the JSON property `originatorRole`
3384
+ # @return [String]
3385
+ attr_accessor :originator_role
3386
+
3387
+ # Private auction ID if this proposal is a private auction proposal.
3388
+ # @OutputOnly
3389
+ # Corresponds to the JSON property `privateAuctionId`
3390
+ # @return [String]
3391
+ attr_accessor :private_auction_id
3392
+
3393
+ # The unique ID of the proposal.
3394
+ # @OutputOnly
3395
+ # Corresponds to the JSON property `proposalId`
3396
+ # @return [String]
3397
+ attr_accessor :proposal_id
3398
+
3399
+ # The revision number for the proposal.
3400
+ # Each update to the proposal or the deal causes the proposal revision number
3401
+ # to auto-increment. The buyer keeps track of the last revision number they
3402
+ # know of and pass it in when making an update. If the head revision number
3403
+ # on the server has since incremented, then an ABORTED error is returned
3404
+ # during the update operation to let the buyer know that a subsequent update
3405
+ # was made.
3406
+ # @OutputOnly
3407
+ # Corresponds to the JSON property `proposalRevision`
3408
+ # @return [Fixnum]
3409
+ attr_accessor :proposal_revision
3410
+
3411
+ # The current state of the proposal.
3412
+ # @OutputOnly
3413
+ # Corresponds to the JSON property `proposalState`
3414
+ # @return [String]
3415
+ attr_accessor :proposal_state
3416
+
3417
+ # Represents a seller of inventory. Each seller is identified by a unique
3418
+ # Ad Exchange account ID.
3419
+ # Corresponds to the JSON property `seller`
3420
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::Seller]
3421
+ attr_accessor :seller
3422
+
3423
+ # Contact information for the seller.
3424
+ # @OutputOnly
3425
+ # Corresponds to the JSON property `sellerContacts`
3426
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::ContactInformation>]
3427
+ attr_accessor :seller_contacts
3428
+
3429
+ # The time when the proposal was last revised.
3430
+ # @OutputOnly
3431
+ # Corresponds to the JSON property `updateTime`
3432
+ # @return [String]
3433
+ attr_accessor :update_time
3434
+
3435
+ def initialize(**args)
3436
+ update!(**args)
3437
+ end
3438
+
3439
+ # Update properties of this object
3440
+ def update!(**args)
3441
+ @billed_buyer = args[:billed_buyer] if args.key?(:billed_buyer)
3442
+ @buyer = args[:buyer] if args.key?(:buyer)
3443
+ @buyer_contacts = args[:buyer_contacts] if args.key?(:buyer_contacts)
3444
+ @buyer_private_data = args[:buyer_private_data] if args.key?(:buyer_private_data)
3445
+ @deals = args[:deals] if args.key?(:deals)
3446
+ @display_name = args[:display_name] if args.key?(:display_name)
3447
+ @is_renegotiating = args[:is_renegotiating] if args.key?(:is_renegotiating)
3448
+ @is_setup_complete = args[:is_setup_complete] if args.key?(:is_setup_complete)
3449
+ @last_updater_or_commentor_role = args[:last_updater_or_commentor_role] if args.key?(:last_updater_or_commentor_role)
3450
+ @notes = args[:notes] if args.key?(:notes)
3451
+ @originator_role = args[:originator_role] if args.key?(:originator_role)
3452
+ @private_auction_id = args[:private_auction_id] if args.key?(:private_auction_id)
3453
+ @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
3454
+ @proposal_revision = args[:proposal_revision] if args.key?(:proposal_revision)
3455
+ @proposal_state = args[:proposal_state] if args.key?(:proposal_state)
3456
+ @seller = args[:seller] if args.key?(:seller)
3457
+ @seller_contacts = args[:seller_contacts] if args.key?(:seller_contacts)
3458
+ @update_time = args[:update_time] if args.key?(:update_time)
3459
+ end
3460
+ end
3461
+
3462
+ # Note: this resource requires whitelisting for access. Please contact your
3463
+ # account manager for access to Marketplace resources.
3464
+ # Represents a publisher profile in Marketplace.
3465
+ # All fields are read only. All string fields are free-form text entered by the
3466
+ # publisher
3467
+ # unless noted otherwise.
3468
+ class PublisherProfile
3469
+ include Google::Apis::Core::Hashable
3470
+
3471
+ # Description on the publisher's audience.
3472
+ # Corresponds to the JSON property `audienceDescription`
3473
+ # @return [String]
3474
+ attr_accessor :audience_description
3475
+
3476
+ # Statement explaining what's unique about publisher's business, and why buyers
3477
+ # should
3478
+ # partner with the publisher.
3479
+ # Corresponds to the JSON property `buyerPitchStatement`
3480
+ # @return [String]
3481
+ attr_accessor :buyer_pitch_statement
3482
+
3483
+ # Contact information for direct reservation deals. This is free text entered by
3484
+ # the publisher
3485
+ # and may include information like names, phone numbers and email addresses.
3486
+ # Corresponds to the JSON property `directDealsContact`
3487
+ # @return [String]
3488
+ attr_accessor :direct_deals_contact
3489
+
3490
+ # Name of the publisher profile.
3491
+ # Corresponds to the JSON property `displayName`
3492
+ # @return [String]
3493
+ attr_accessor :display_name
3494
+
3495
+ # The list of domains represented in this publisher profile. Empty if this is a
3496
+ # parent profile.
3497
+ # These are top private domains, meaning that these will not contain a string
3498
+ # like
3499
+ # "photos.google.co.uk/123", but will instead contain "google.co.uk".
3500
+ # Corresponds to the JSON property `domains`
3501
+ # @return [Array<String>]
3502
+ attr_accessor :domains
3503
+
3504
+ # URL to publisher's Google+ page.
3505
+ # Corresponds to the JSON property `googlePlusUrl`
3506
+ # @return [String]
3507
+ attr_accessor :google_plus_url
3508
+
3509
+ # A Google public URL to the logo for this publisher profile. The logo is stored
3510
+ # as
3511
+ # a PNG, JPG, or GIF image.
3512
+ # Corresponds to the JSON property `logoUrl`
3513
+ # @return [String]
3514
+ attr_accessor :logo_url
3515
+
3516
+ # URL to additional marketing and sales materials.
3517
+ # Corresponds to the JSON property `mediaKitUrl`
3518
+ # @return [String]
3519
+ attr_accessor :media_kit_url
3520
+
3521
+ # Overview of the publisher.
3522
+ # Corresponds to the JSON property `overview`
3523
+ # @return [String]
3524
+ attr_accessor :overview
3525
+
3526
+ # Contact information for programmatic deals. This is free text entered by the
3527
+ # publisher
3528
+ # and may include information like names, phone numbers and email addresses.
3529
+ # Corresponds to the JSON property `programmaticDealsContact`
3530
+ # @return [String]
3531
+ attr_accessor :programmatic_deals_contact
3532
+
3533
+ # Unique ID for publisher profile.
3534
+ # Corresponds to the JSON property `publisherProfileId`
3535
+ # @return [String]
3536
+ attr_accessor :publisher_profile_id
3537
+
3538
+ # URL to a publisher rate card.
3539
+ # Corresponds to the JSON property `rateCardInfoUrl`
3540
+ # @return [String]
3541
+ attr_accessor :rate_card_info_url
3542
+
3543
+ # URL to a sample content page.
3544
+ # Corresponds to the JSON property `samplePageUrl`
3545
+ # @return [String]
3546
+ attr_accessor :sample_page_url
3547
+
3548
+ # Represents a seller of inventory. Each seller is identified by a unique
3549
+ # Ad Exchange account ID.
3550
+ # Corresponds to the JSON property `seller`
3551
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::Seller]
3552
+ attr_accessor :seller
3553
+
3554
+ # Up to three key metrics and rankings. Max 100 characters each.
3555
+ # For example "#1 Mobile News Site for 20 Straight Months".
3556
+ # Corresponds to the JSON property `topHeadlines`
3557
+ # @return [Array<String>]
3558
+ attr_accessor :top_headlines
3559
+
3560
+ def initialize(**args)
3561
+ update!(**args)
3562
+ end
3563
+
3564
+ # Update properties of this object
3565
+ def update!(**args)
3566
+ @audience_description = args[:audience_description] if args.key?(:audience_description)
3567
+ @buyer_pitch_statement = args[:buyer_pitch_statement] if args.key?(:buyer_pitch_statement)
3568
+ @direct_deals_contact = args[:direct_deals_contact] if args.key?(:direct_deals_contact)
3569
+ @display_name = args[:display_name] if args.key?(:display_name)
3570
+ @domains = args[:domains] if args.key?(:domains)
3571
+ @google_plus_url = args[:google_plus_url] if args.key?(:google_plus_url)
3572
+ @logo_url = args[:logo_url] if args.key?(:logo_url)
3573
+ @media_kit_url = args[:media_kit_url] if args.key?(:media_kit_url)
3574
+ @overview = args[:overview] if args.key?(:overview)
3575
+ @programmatic_deals_contact = args[:programmatic_deals_contact] if args.key?(:programmatic_deals_contact)
3576
+ @publisher_profile_id = args[:publisher_profile_id] if args.key?(:publisher_profile_id)
3577
+ @rate_card_info_url = args[:rate_card_info_url] if args.key?(:rate_card_info_url)
3578
+ @sample_page_url = args[:sample_page_url] if args.key?(:sample_page_url)
3579
+ @seller = args[:seller] if args.key?(:seller)
3580
+ @top_headlines = args[:top_headlines] if args.key?(:top_headlines)
3581
+ end
3582
+ end
3583
+
1885
3584
  # An open-ended realtime time range specified by the start timestamp.
1886
3585
  # For filter sets that specify a realtime time range RTB metrics continue to
1887
3586
  # be aggregated throughout the lifetime of the filter set.
@@ -1983,6 +3682,20 @@ module Google
1983
3682
  end
1984
3683
  end
1985
3684
 
3685
+ # Request message to resume (unpause) serving for an already-finalized
3686
+ # proposal.
3687
+ class ResumeProposalRequest
3688
+ include Google::Apis::Core::Hashable
3689
+
3690
+ def initialize(**args)
3691
+ update!(**args)
3692
+ end
3693
+
3694
+ # Update properties of this object
3695
+ def update!(**args)
3696
+ end
3697
+ end
3698
+
1986
3699
  # A response may include multiple rows, breaking down along various dimensions.
1987
3700
  # Encapsulates the values of all dimensions for a given row.
1988
3701
  class RowDimensions
@@ -2022,6 +3735,33 @@ module Google
2022
3735
  end
2023
3736
  end
2024
3737
 
3738
+ # Represents a seller of inventory. Each seller is identified by a unique
3739
+ # Ad Exchange account ID.
3740
+ class Seller
3741
+ include Google::Apis::Core::Hashable
3742
+
3743
+ # The unique ID for the seller. The seller fills in this field.
3744
+ # The seller account ID is then available to buyer in the product.
3745
+ # Corresponds to the JSON property `accountId`
3746
+ # @return [String]
3747
+ attr_accessor :account_id
3748
+
3749
+ # Optional sub-account ID for the seller.
3750
+ # Corresponds to the JSON property `subAccountId`
3751
+ # @return [String]
3752
+ attr_accessor :sub_account_id
3753
+
3754
+ def initialize(**args)
3755
+ update!(**args)
3756
+ end
3757
+
3758
+ # Update properties of this object
3759
+ def update!(**args)
3760
+ @account_id = args[:account_id] if args.key?(:account_id)
3761
+ @sub_account_id = args[:sub_account_id] if args.key?(:sub_account_id)
3762
+ end
3763
+ end
3764
+
2025
3765
  # The serving context for this restriction.
2026
3766
  class ServingContext
2027
3767
  include Google::Apis::Core::Hashable
@@ -2119,6 +3859,32 @@ module Google
2119
3859
  end
2120
3860
  end
2121
3861
 
3862
+ # Message depicting the size of the creative. The units of width and
3863
+ # height depend on the type of the targeting.
3864
+ class Size
3865
+ include Google::Apis::Core::Hashable
3866
+
3867
+ # The height of the creative.
3868
+ # Corresponds to the JSON property `height`
3869
+ # @return [Fixnum]
3870
+ attr_accessor :height
3871
+
3872
+ # The width of the creative
3873
+ # Corresponds to the JSON property `width`
3874
+ # @return [Fixnum]
3875
+ attr_accessor :width
3876
+
3877
+ def initialize(**args)
3878
+ update!(**args)
3879
+ end
3880
+
3881
+ # Update properties of this object
3882
+ def update!(**args)
3883
+ @height = args[:height] if args.key?(:height)
3884
+ @width = args[:width] if args.key?(:width)
3885
+ end
3886
+ end
3887
+
2122
3888
  # A request for stopping notifications for changes to creative Status.
2123
3889
  class StopWatchingCreativeRequest
2124
3890
  include Google::Apis::Core::Hashable
@@ -2132,6 +3898,115 @@ module Google
2132
3898
  end
2133
3899
  end
2134
3900
 
3901
+ # Advertisers can target different attributes of an ad slot. For example,
3902
+ # they can choose to show ads only if the user is in the U.S. Such
3903
+ # targeting criteria can be specified as part of Shared Targeting.
3904
+ class TargetingCriteria
3905
+ include Google::Apis::Core::Hashable
3906
+
3907
+ # The list of values to exclude from targeting. Each value is AND'd
3908
+ # together.
3909
+ # Corresponds to the JSON property `exclusions`
3910
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::TargetingValue>]
3911
+ attr_accessor :exclusions
3912
+
3913
+ # The list of value to include as part of the targeting. Each value is OR'd
3914
+ # together.
3915
+ # Corresponds to the JSON property `inclusions`
3916
+ # @return [Array<Google::Apis::Adexchangebuyer2V2beta1::TargetingValue>]
3917
+ attr_accessor :inclusions
3918
+
3919
+ # The key representing the shared targeting criterion.
3920
+ # Targeting criteria defined by Google ad servers will begin with GOOG_.
3921
+ # Third parties may define their own keys.
3922
+ # A list of permissible keys along with the acceptable values will be
3923
+ # provided as part of the external documentation.
3924
+ # Corresponds to the JSON property `key`
3925
+ # @return [String]
3926
+ attr_accessor :key
3927
+
3928
+ def initialize(**args)
3929
+ update!(**args)
3930
+ end
3931
+
3932
+ # Update properties of this object
3933
+ def update!(**args)
3934
+ @exclusions = args[:exclusions] if args.key?(:exclusions)
3935
+ @inclusions = args[:inclusions] if args.key?(:inclusions)
3936
+ @key = args[:key] if args.key?(:key)
3937
+ end
3938
+ end
3939
+
3940
+ # A polymorphic targeting value used as part of Shared Targeting.
3941
+ class TargetingValue
3942
+ include Google::Apis::Core::Hashable
3943
+
3944
+ # Specifies the size of the creative.
3945
+ # Corresponds to the JSON property `creativeSizeValue`
3946
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::CreativeSize]
3947
+ attr_accessor :creative_size_value
3948
+
3949
+ # Specifies the day part targeting criteria.
3950
+ # Corresponds to the JSON property `dayPartTargetingValue`
3951
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::DayPartTargeting]
3952
+ attr_accessor :day_part_targeting_value
3953
+
3954
+ # The long value to include/exclude.
3955
+ # Corresponds to the JSON property `longValue`
3956
+ # @return [Fixnum]
3957
+ attr_accessor :long_value
3958
+
3959
+ # The string value to include/exclude.
3960
+ # Corresponds to the JSON property `stringValue`
3961
+ # @return [String]
3962
+ attr_accessor :string_value
3963
+
3964
+ def initialize(**args)
3965
+ update!(**args)
3966
+ end
3967
+
3968
+ # Update properties of this object
3969
+ def update!(**args)
3970
+ @creative_size_value = args[:creative_size_value] if args.key?(:creative_size_value)
3971
+ @day_part_targeting_value = args[:day_part_targeting_value] if args.key?(:day_part_targeting_value)
3972
+ @long_value = args[:long_value] if args.key?(:long_value)
3973
+ @string_value = args[:string_value] if args.key?(:string_value)
3974
+ end
3975
+ end
3976
+
3977
+ # Represents targeting about various types of technology.
3978
+ class TechnologyTargeting
3979
+ include Google::Apis::Core::Hashable
3980
+
3981
+ # Generic targeting used for targeting dimensions that contains a list of
3982
+ # included and excluded numeric IDs.
3983
+ # Corresponds to the JSON property `deviceCapabilityTargeting`
3984
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::CriteriaTargeting]
3985
+ attr_accessor :device_capability_targeting
3986
+
3987
+ # Generic targeting used for targeting dimensions that contains a list of
3988
+ # included and excluded numeric IDs.
3989
+ # Corresponds to the JSON property `deviceCategoryTargeting`
3990
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::CriteriaTargeting]
3991
+ attr_accessor :device_category_targeting
3992
+
3993
+ # Represents targeting information for operating systems.
3994
+ # Corresponds to the JSON property `operatingSystemTargeting`
3995
+ # @return [Google::Apis::Adexchangebuyer2V2beta1::OperatingSystemTargeting]
3996
+ attr_accessor :operating_system_targeting
3997
+
3998
+ def initialize(**args)
3999
+ update!(**args)
4000
+ end
4001
+
4002
+ # Update properties of this object
4003
+ def update!(**args)
4004
+ @device_capability_targeting = args[:device_capability_targeting] if args.key?(:device_capability_targeting)
4005
+ @device_category_targeting = args[:device_category_targeting] if args.key?(:device_category_targeting)
4006
+ @operating_system_targeting = args[:operating_system_targeting] if args.key?(:operating_system_targeting)
4007
+ end
4008
+ end
4009
+
2135
4010
  # An interval of time, with an absolute start and end.
2136
4011
  class TimeInterval
2137
4012
  include Google::Apis::Core::Hashable
@@ -2159,6 +4034,75 @@ module Google
2159
4034
  end
2160
4035
  end
2161
4036
 
4037
+ # Represents a time of day. The date and time zone are either not significant
4038
+ # or are specified elsewhere. An API may choose to allow leap seconds. Related
4039
+ # types are google.type.Date and `google.protobuf.Timestamp`.
4040
+ class TimeOfDay
4041
+ include Google::Apis::Core::Hashable
4042
+
4043
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
4044
+ # to allow the value "24:00:00" for scenarios like business closing time.
4045
+ # Corresponds to the JSON property `hours`
4046
+ # @return [Fixnum]
4047
+ attr_accessor :hours
4048
+
4049
+ # Minutes of hour of day. Must be from 0 to 59.
4050
+ # Corresponds to the JSON property `minutes`
4051
+ # @return [Fixnum]
4052
+ attr_accessor :minutes
4053
+
4054
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
4055
+ # Corresponds to the JSON property `nanos`
4056
+ # @return [Fixnum]
4057
+ attr_accessor :nanos
4058
+
4059
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
4060
+ # allow the value 60 if it allows leap-seconds.
4061
+ # Corresponds to the JSON property `seconds`
4062
+ # @return [Fixnum]
4063
+ attr_accessor :seconds
4064
+
4065
+ def initialize(**args)
4066
+ update!(**args)
4067
+ end
4068
+
4069
+ # Update properties of this object
4070
+ def update!(**args)
4071
+ @hours = args[:hours] if args.key?(:hours)
4072
+ @minutes = args[:minutes] if args.key?(:minutes)
4073
+ @nanos = args[:nanos] if args.key?(:nanos)
4074
+ @seconds = args[:seconds] if args.key?(:seconds)
4075
+ end
4076
+ end
4077
+
4078
+ # Represents a list of targeted and excluded URLs (e.g google.com).
4079
+ # For Private Auction and AdX Preferred Deals, URLs are either included or
4080
+ # excluded.
4081
+ # For DFP Programmatic Guaranteed and Preferred Deals, this doesn't apply.
4082
+ class UrlTargeting
4083
+ include Google::Apis::Core::Hashable
4084
+
4085
+ # A list of URLs to be excluded.
4086
+ # Corresponds to the JSON property `excludedUrls`
4087
+ # @return [Array<String>]
4088
+ attr_accessor :excluded_urls
4089
+
4090
+ # A list of URLs to be included.
4091
+ # Corresponds to the JSON property `targetedUrls`
4092
+ # @return [Array<String>]
4093
+ attr_accessor :targeted_urls
4094
+
4095
+ def initialize(**args)
4096
+ update!(**args)
4097
+ end
4098
+
4099
+ # Update properties of this object
4100
+ def update!(**args)
4101
+ @excluded_urls = args[:excluded_urls] if args.key?(:excluded_urls)
4102
+ @targeted_urls = args[:targeted_urls] if args.key?(:targeted_urls)
4103
+ end
4104
+ end
4105
+
2162
4106
  # Video content for a creative.
2163
4107
  class VideoContent
2164
4108
  include Google::Apis::Core::Hashable
@@ -2185,6 +4129,34 @@ module Google
2185
4129
  end
2186
4130
  end
2187
4131
 
4132
+ # Represents targeting information about video.
4133
+ class VideoTargeting
4134
+ include Google::Apis::Core::Hashable
4135
+
4136
+ # A list of video positions to be excluded.
4137
+ # Position types can either be included or excluded (XOR).
4138
+ # Corresponds to the JSON property `excludedPositionTypes`
4139
+ # @return [Array<String>]
4140
+ attr_accessor :excluded_position_types
4141
+
4142
+ # A list of video positions to be included.
4143
+ # When the included list is present, the excluded list must be empty.
4144
+ # When the excluded list is present, the included list must be empty.
4145
+ # Corresponds to the JSON property `targetedPositionTypes`
4146
+ # @return [Array<String>]
4147
+ attr_accessor :targeted_position_types
4148
+
4149
+ def initialize(**args)
4150
+ update!(**args)
4151
+ end
4152
+
4153
+ # Update properties of this object
4154
+ def update!(**args)
4155
+ @excluded_position_types = args[:excluded_position_types] if args.key?(:excluded_position_types)
4156
+ @targeted_position_types = args[:targeted_position_types] if args.key?(:targeted_position_types)
4157
+ end
4158
+ end
4159
+
2188
4160
  # A request for watching changes to creative Status.
2189
4161
  class WatchCreativeRequest
2190
4162
  include Google::Apis::Core::Hashable