google-api-client 0.23.9 → 0.24.0

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