google-apis-displayvideo_v4 0.12.0 → 0.13.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.
@@ -73,6 +73,49 @@ module Google
73
73
  end
74
74
  end
75
75
 
76
+ # A single ad asset. Next ID: 6
77
+ class AdAsset
78
+ include Google::Apis::Core::Hashable
79
+
80
+ # Output only. Asset ID of the ad asset.
81
+ # Corresponds to the JSON property `adAssetId`
82
+ # @return [Fixnum]
83
+ attr_accessor :ad_asset_id
84
+
85
+ # Required. The type of the ad asset.
86
+ # Corresponds to the JSON property `adAssetType`
87
+ # @return [String]
88
+ attr_accessor :ad_asset_type
89
+
90
+ # Output only. The entity status of the ad asset.
91
+ # Corresponds to the JSON property `entityStatus`
92
+ # @return [String]
93
+ attr_accessor :entity_status
94
+
95
+ # Identifier. The resource name of the ad asset.
96
+ # Corresponds to the JSON property `name`
97
+ # @return [String]
98
+ attr_accessor :name
99
+
100
+ # The youtube video asset data of the ad asset.
101
+ # Corresponds to the JSON property `youtubeVideoAsset`
102
+ # @return [Google::Apis::DisplayvideoV4::YoutubeVideoAsset]
103
+ attr_accessor :youtube_video_asset
104
+
105
+ def initialize(**args)
106
+ update!(**args)
107
+ end
108
+
109
+ # Update properties of this object
110
+ def update!(**args)
111
+ @ad_asset_id = args[:ad_asset_id] if args.key?(:ad_asset_id)
112
+ @ad_asset_type = args[:ad_asset_type] if args.key?(:ad_asset_type)
113
+ @entity_status = args[:entity_status] if args.key?(:entity_status)
114
+ @name = args[:name] if args.key?(:name)
115
+ @youtube_video_asset = args[:youtube_video_asset] if args.key?(:youtube_video_asset)
116
+ end
117
+ end
118
+
76
119
  # A single ad group associated with a line item.
77
120
  class AdGroup
78
121
  include Google::Apis::Core::Hashable
@@ -164,6 +207,11 @@ module Google
164
207
  # @return [Fixnum]
165
208
  attr_accessor :ad_group_id
166
209
 
210
+ # A single ad policy associated with an ad group ad.
211
+ # Corresponds to the JSON property `adPolicy`
212
+ # @return [Google::Apis::DisplayvideoV4::AdPolicy]
213
+ attr_accessor :ad_policy
214
+
167
215
  # List of URLs used by the ad.
168
216
  # Corresponds to the JSON property `adUrls`
169
217
  # @return [Array<Google::Apis::DisplayvideoV4::AdUrl>]
@@ -238,6 +286,7 @@ module Google
238
286
  def update!(**args)
239
287
  @ad_group_ad_id = args[:ad_group_ad_id] if args.key?(:ad_group_ad_id)
240
288
  @ad_group_id = args[:ad_group_id] if args.key?(:ad_group_id)
289
+ @ad_policy = args[:ad_policy] if args.key?(:ad_policy)
241
290
  @ad_urls = args[:ad_urls] if args.key?(:ad_urls)
242
291
  @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
243
292
  @audio_ad = args[:audio_ad] if args.key?(:audio_ad)
@@ -254,21 +303,680 @@ module Google
254
303
  end
255
304
  end
256
305
 
257
- # Wrapper object associating an AssignedTargetingOption resource and the ad
258
- # group it is assigned to.
259
- class AdGroupAssignedTargetingOption
306
+ # Wrapper object associating an AssignedTargetingOption resource and the ad
307
+ # group it is assigned to.
308
+ class AdGroupAssignedTargetingOption
309
+ include Google::Apis::Core::Hashable
310
+
311
+ # The ID of the ad group the assigned targeting option is assigned to.
312
+ # Corresponds to the JSON property `adGroupId`
313
+ # @return [Fixnum]
314
+ attr_accessor :ad_group_id
315
+
316
+ # A single assigned targeting option, which defines the state of a targeting
317
+ # option for an entity with targeting settings.
318
+ # Corresponds to the JSON property `assignedTargetingOption`
319
+ # @return [Google::Apis::DisplayvideoV4::AssignedTargetingOption]
320
+ attr_accessor :assigned_targeting_option
321
+
322
+ def initialize(**args)
323
+ update!(**args)
324
+ end
325
+
326
+ # Update properties of this object
327
+ def update!(**args)
328
+ @ad_group_id = args[:ad_group_id] if args.key?(:ad_group_id)
329
+ @assigned_targeting_option = args[:assigned_targeting_option] if args.key?(:assigned_targeting_option)
330
+ end
331
+ end
332
+
333
+ # A single ad policy associated with an ad group ad.
334
+ class AdPolicy
335
+ include Google::Apis::Core::Hashable
336
+
337
+ # The policy approval status of an ad. Indicating the ad policy approval
338
+ # decision.
339
+ # Corresponds to the JSON property `adPolicyApprovalStatus`
340
+ # @return [String]
341
+ attr_accessor :ad_policy_approval_status
342
+
343
+ # The policy review status of an ad. Indicating where the review process the ad
344
+ # is currently at.
345
+ # Corresponds to the JSON property `adPolicyReviewStatus`
346
+ # @return [String]
347
+ attr_accessor :ad_policy_review_status
348
+
349
+ # The policy topic entries for the ad, including the topic, restriction level,
350
+ # and guidance on how to fix policy issues.
351
+ # Corresponds to the JSON property `adPolicyTopicEntry`
352
+ # @return [Array<Google::Apis::DisplayvideoV4::AdPolicyTopicEntry>]
353
+ attr_accessor :ad_policy_topic_entry
354
+
355
+ def initialize(**args)
356
+ update!(**args)
357
+ end
358
+
359
+ # Update properties of this object
360
+ def update!(**args)
361
+ @ad_policy_approval_status = args[:ad_policy_approval_status] if args.key?(:ad_policy_approval_status)
362
+ @ad_policy_review_status = args[:ad_policy_review_status] if args.key?(:ad_policy_review_status)
363
+ @ad_policy_topic_entry = args[:ad_policy_topic_entry] if args.key?(:ad_policy_topic_entry)
364
+ end
365
+ end
366
+
367
+ # Represents a criterion that is restricted. Today only used to represent a
368
+ # country restriction. Used by both policy evidence and policy constraints.
369
+ class AdPolicyCriterionRestriction
370
+ include Google::Apis::Core::Hashable
371
+
372
+ # Only used today to represent a country criterion id.
373
+ # Corresponds to the JSON property `countryCriterionId`
374
+ # @return [Fixnum]
375
+ attr_accessor :country_criterion_id
376
+
377
+ # Localized name for the country. Could be empty.
378
+ # Corresponds to the JSON property `countryLabel`
379
+ # @return [String]
380
+ attr_accessor :country_label
381
+
382
+ def initialize(**args)
383
+ update!(**args)
384
+ end
385
+
386
+ # Update properties of this object
387
+ def update!(**args)
388
+ @country_criterion_id = args[:country_criterion_id] if args.key?(:country_criterion_id)
389
+ @country_label = args[:country_label] if args.key?(:country_label)
390
+ end
391
+ end
392
+
393
+ # Appeal related information for a policy topic.
394
+ class AdPolicyTopicAppealInfo
395
+ include Google::Apis::Core::Hashable
396
+
397
+ # Only available when appeal_type is APPEAL_FORM.
398
+ # Corresponds to the JSON property `appealFormLink`
399
+ # @return [String]
400
+ attr_accessor :appeal_form_link
401
+
402
+ # Indicate whether the policy topic can be self-service appeal or appeal form.
403
+ # Corresponds to the JSON property `appealType`
404
+ # @return [String]
405
+ attr_accessor :appeal_type
406
+
407
+ def initialize(**args)
408
+ update!(**args)
409
+ end
410
+
411
+ # Update properties of this object
412
+ def update!(**args)
413
+ @appeal_form_link = args[:appeal_form_link] if args.key?(:appeal_form_link)
414
+ @appeal_type = args[:appeal_type] if args.key?(:appeal_type)
415
+ end
416
+ end
417
+
418
+ # Additional constraints information that explains restrictions applied to this
419
+ # policy.
420
+ class AdPolicyTopicConstraint
421
+ include Google::Apis::Core::Hashable
422
+
423
+ # A list of countries where the ad cannot serve due to policy constraints.
424
+ # Corresponds to the JSON property `certificateDomainMismatchCountryList`
425
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicConstraintAdPolicyCountryConstraintList]
426
+ attr_accessor :certificate_domain_mismatch_country_list
427
+
428
+ # A list of countries where the ad cannot serve due to policy constraints.
429
+ # Corresponds to the JSON property `certificateMissingCountryList`
430
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicConstraintAdPolicyCountryConstraintList]
431
+ attr_accessor :certificate_missing_country_list
432
+
433
+ # A list of countries where the ad cannot serve due to policy constraints.
434
+ # Corresponds to the JSON property `countryConstraint`
435
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicConstraintAdPolicyCountryConstraintList]
436
+ attr_accessor :country_constraint
437
+
438
+ # Certificate is required to serve in any country and the existing certificate
439
+ # does not cover the ad's domain.
440
+ # Corresponds to the JSON property `globalCertificateDomainMismatch`
441
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicConstraintAdPolicyGlobalCertificateDomainMismatchConstraint]
442
+ attr_accessor :global_certificate_domain_mismatch
443
+
444
+ # Certificate is required to serve in any country.
445
+ # Corresponds to the JSON property `globalCertificateMissing`
446
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicConstraintAdPolicyGlobalCertificateMissingConstraint]
447
+ attr_accessor :global_certificate_missing
448
+
449
+ # Link to the form to request a certificate for the policy topic constraint.
450
+ # Corresponds to the JSON property `requestCertificateFormLink`
451
+ # @return [String]
452
+ attr_accessor :request_certificate_form_link
453
+
454
+ # Policy topic was constrained due to disapproval of the website for reseller
455
+ # purposes.
456
+ # Corresponds to the JSON property `resellerConstraint`
457
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicConstraintAdPolicyResellerConstraint]
458
+ attr_accessor :reseller_constraint
459
+
460
+ def initialize(**args)
461
+ update!(**args)
462
+ end
463
+
464
+ # Update properties of this object
465
+ def update!(**args)
466
+ @certificate_domain_mismatch_country_list = args[:certificate_domain_mismatch_country_list] if args.key?(:certificate_domain_mismatch_country_list)
467
+ @certificate_missing_country_list = args[:certificate_missing_country_list] if args.key?(:certificate_missing_country_list)
468
+ @country_constraint = args[:country_constraint] if args.key?(:country_constraint)
469
+ @global_certificate_domain_mismatch = args[:global_certificate_domain_mismatch] if args.key?(:global_certificate_domain_mismatch)
470
+ @global_certificate_missing = args[:global_certificate_missing] if args.key?(:global_certificate_missing)
471
+ @request_certificate_form_link = args[:request_certificate_form_link] if args.key?(:request_certificate_form_link)
472
+ @reseller_constraint = args[:reseller_constraint] if args.key?(:reseller_constraint)
473
+ end
474
+ end
475
+
476
+ # A list of countries where the ad cannot serve due to policy constraints.
477
+ class AdPolicyTopicConstraintAdPolicyCountryConstraintList
478
+ include Google::Apis::Core::Hashable
479
+
480
+ # Countries where the ad cannot serve.
481
+ # Corresponds to the JSON property `countries`
482
+ # @return [Array<Google::Apis::DisplayvideoV4::AdPolicyCriterionRestriction>]
483
+ attr_accessor :countries
484
+
485
+ def initialize(**args)
486
+ update!(**args)
487
+ end
488
+
489
+ # Update properties of this object
490
+ def update!(**args)
491
+ @countries = args[:countries] if args.key?(:countries)
492
+ end
493
+ end
494
+
495
+ # Certificate is required to serve in any country and the existing certificate
496
+ # does not cover the ad's domain.
497
+ class AdPolicyTopicConstraintAdPolicyGlobalCertificateDomainMismatchConstraint
498
+ include Google::Apis::Core::Hashable
499
+
500
+ def initialize(**args)
501
+ update!(**args)
502
+ end
503
+
504
+ # Update properties of this object
505
+ def update!(**args)
506
+ end
507
+ end
508
+
509
+ # Certificate is required to serve in any country.
510
+ class AdPolicyTopicConstraintAdPolicyGlobalCertificateMissingConstraint
511
+ include Google::Apis::Core::Hashable
512
+
513
+ def initialize(**args)
514
+ update!(**args)
515
+ end
516
+
517
+ # Update properties of this object
518
+ def update!(**args)
519
+ end
520
+ end
521
+
522
+ # Policy topic was constrained due to disapproval of the website for reseller
523
+ # purposes.
524
+ class AdPolicyTopicConstraintAdPolicyResellerConstraint
525
+ include Google::Apis::Core::Hashable
526
+
527
+ def initialize(**args)
528
+ update!(**args)
529
+ end
530
+
531
+ # Update properties of this object
532
+ def update!(**args)
533
+ end
534
+ end
535
+
536
+ # Policy topic entry.
537
+ class AdPolicyTopicEntry
538
+ include Google::Apis::Core::Hashable
539
+
540
+ # Appeal related information for a policy topic.
541
+ # Corresponds to the JSON property `appealInfo`
542
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicAppealInfo]
543
+ attr_accessor :appeal_info
544
+
545
+ # Ad policy help center link for the policy topic.
546
+ # Corresponds to the JSON property `helpCenterLink`
547
+ # @return [String]
548
+ attr_accessor :help_center_link
549
+
550
+ # The source of the policy decision.
551
+ # Corresponds to the JSON property `policyDecisionType`
552
+ # @return [String]
553
+ attr_accessor :policy_decision_type
554
+
555
+ # The policy enforcement means used in the policy review.
556
+ # Corresponds to the JSON property `policyEnforcementMeans`
557
+ # @return [String]
558
+ attr_accessor :policy_enforcement_means
559
+
560
+ # Localized label text for policy. (Trademarks in text, Contains Alcohol, etc.)
561
+ # Corresponds to the JSON property `policyLabel`
562
+ # @return [String]
563
+ attr_accessor :policy_label
564
+
565
+ # The policy topic of an ad policy topic entry. (TRADEMARKS, ALCOHOL, etc.)
566
+ # Corresponds to the JSON property `policyTopic`
567
+ # @return [String]
568
+ attr_accessor :policy_topic
569
+
570
+ # The policy topic constraints.
571
+ # Corresponds to the JSON property `policyTopicConstraints`
572
+ # @return [Array<Google::Apis::DisplayvideoV4::AdPolicyTopicConstraint>]
573
+ attr_accessor :policy_topic_constraints
574
+
575
+ # Short summary description of the policy topic.
576
+ # Corresponds to the JSON property `policyTopicDescription`
577
+ # @return [String]
578
+ attr_accessor :policy_topic_description
579
+
580
+ # The policy topic evidences.
581
+ # Corresponds to the JSON property `policyTopicEvidences`
582
+ # @return [Array<Google::Apis::DisplayvideoV4::AdPolicyTopicEvidence>]
583
+ attr_accessor :policy_topic_evidences
584
+
585
+ # The policy topic entry type.
586
+ # Corresponds to the JSON property `policyTopicType`
587
+ # @return [String]
588
+ attr_accessor :policy_topic_type
589
+
590
+ def initialize(**args)
591
+ update!(**args)
592
+ end
593
+
594
+ # Update properties of this object
595
+ def update!(**args)
596
+ @appeal_info = args[:appeal_info] if args.key?(:appeal_info)
597
+ @help_center_link = args[:help_center_link] if args.key?(:help_center_link)
598
+ @policy_decision_type = args[:policy_decision_type] if args.key?(:policy_decision_type)
599
+ @policy_enforcement_means = args[:policy_enforcement_means] if args.key?(:policy_enforcement_means)
600
+ @policy_label = args[:policy_label] if args.key?(:policy_label)
601
+ @policy_topic = args[:policy_topic] if args.key?(:policy_topic)
602
+ @policy_topic_constraints = args[:policy_topic_constraints] if args.key?(:policy_topic_constraints)
603
+ @policy_topic_description = args[:policy_topic_description] if args.key?(:policy_topic_description)
604
+ @policy_topic_evidences = args[:policy_topic_evidences] if args.key?(:policy_topic_evidences)
605
+ @policy_topic_type = args[:policy_topic_type] if args.key?(:policy_topic_type)
606
+ end
607
+ end
608
+
609
+ # Additional evidence information that explains a policy decision.
610
+ class AdPolicyTopicEvidence
611
+ include Google::Apis::Core::Hashable
612
+
613
+ # Counterfeit enforcement that caused a policy violation.
614
+ # Corresponds to the JSON property `counterfeit`
615
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicEvidenceCounterfeit]
616
+ attr_accessor :counterfeit
617
+
618
+ # A list of destination mismatch URL types.
619
+ # Corresponds to the JSON property `destinationMismatch`
620
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicEvidenceDestinationMismatch]
621
+ attr_accessor :destination_mismatch
622
+
623
+ # Evidence details for destination not working policy violations.
624
+ # Corresponds to the JSON property `destinationNotWorking`
625
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicEvidenceDestinationNotWorking]
626
+ attr_accessor :destination_not_working
627
+
628
+ # A list of destination text that violated the policy.
629
+ # Corresponds to the JSON property `destinationTextList`
630
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicEvidenceDestinationTextList]
631
+ attr_accessor :destination_text_list
632
+
633
+ # HTTP code returned when the final URL was crawled.
634
+ # Corresponds to the JSON property `httpCode`
635
+ # @return [Fixnum]
636
+ attr_accessor :http_code
637
+
638
+ # The language the ad was detected to be written in. This is an IETF language
639
+ # tag such as "en-US".
640
+ # Corresponds to the JSON property `languageCode`
641
+ # @return [String]
642
+ attr_accessor :language_code
643
+
644
+ # Legal related regulation enforcement, either from DMCA or local legal.
645
+ # Corresponds to the JSON property `legalRemoval`
646
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicEvidenceLegalRemoval]
647
+ attr_accessor :legal_removal
648
+
649
+ # T&S proactive enforcement for policies meant to address regional requirements.
650
+ # This is considered as Google owned investigation instead of regulation notice
651
+ # since it's a T&S proactive enforcement.
652
+ # Corresponds to the JSON property `regionalRequirements`
653
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicEvidenceRegionalRequirements]
654
+ attr_accessor :regional_requirements
655
+
656
+ # A list of fragments of text that violated the policy.
657
+ # Corresponds to the JSON property `textList`
658
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicEvidenceTextList]
659
+ attr_accessor :text_list
660
+
661
+ # Trademark terms that caused a policy violation.
662
+ # Corresponds to the JSON property `trademark`
663
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicEvidenceTrademark]
664
+ attr_accessor :trademark
665
+
666
+ # A list of websites that violated the policy.
667
+ # Corresponds to the JSON property `websiteList`
668
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicEvidenceWebsiteList]
669
+ attr_accessor :website_list
670
+
671
+ def initialize(**args)
672
+ update!(**args)
673
+ end
674
+
675
+ # Update properties of this object
676
+ def update!(**args)
677
+ @counterfeit = args[:counterfeit] if args.key?(:counterfeit)
678
+ @destination_mismatch = args[:destination_mismatch] if args.key?(:destination_mismatch)
679
+ @destination_not_working = args[:destination_not_working] if args.key?(:destination_not_working)
680
+ @destination_text_list = args[:destination_text_list] if args.key?(:destination_text_list)
681
+ @http_code = args[:http_code] if args.key?(:http_code)
682
+ @language_code = args[:language_code] if args.key?(:language_code)
683
+ @legal_removal = args[:legal_removal] if args.key?(:legal_removal)
684
+ @regional_requirements = args[:regional_requirements] if args.key?(:regional_requirements)
685
+ @text_list = args[:text_list] if args.key?(:text_list)
686
+ @trademark = args[:trademark] if args.key?(:trademark)
687
+ @website_list = args[:website_list] if args.key?(:website_list)
688
+ end
689
+ end
690
+
691
+ # Counterfeit enforcement that caused a policy violation.
692
+ class AdPolicyTopicEvidenceCounterfeit
693
+ include Google::Apis::Core::Hashable
694
+
695
+ # The content or product owners that make the complainants.
696
+ # Corresponds to the JSON property `owners`
697
+ # @return [Array<String>]
698
+ attr_accessor :owners
699
+
700
+ def initialize(**args)
701
+ update!(**args)
702
+ end
703
+
704
+ # Update properties of this object
705
+ def update!(**args)
706
+ @owners = args[:owners] if args.key?(:owners)
707
+ end
708
+ end
709
+
710
+ # A list of destination mismatch URL types.
711
+ class AdPolicyTopicEvidenceDestinationMismatch
712
+ include Google::Apis::Core::Hashable
713
+
714
+ # The set of URLs that do not match each other. The list can include single or
715
+ # multiple uri types. Example 1: [DISPLAY_URL, FINAL_URL] means ad display URL
716
+ # does not match with the ad final URL. Example 2: [FINAL_URL] means ad final
717
+ # URL did not match the crawled url, which is also considered as
718
+ # destinationmismatch.
719
+ # Corresponds to the JSON property `uriTypes`
720
+ # @return [Array<String>]
721
+ attr_accessor :uri_types
722
+
723
+ def initialize(**args)
724
+ update!(**args)
725
+ end
726
+
727
+ # Update properties of this object
728
+ def update!(**args)
729
+ @uri_types = args[:uri_types] if args.key?(:uri_types)
730
+ end
731
+ end
732
+
733
+ # Evidence details for destination not working policy violations.
734
+ class AdPolicyTopicEvidenceDestinationNotWorking
735
+ include Google::Apis::Core::Hashable
736
+
737
+ # The device platform of the not working url.
738
+ # Corresponds to the JSON property `device`
739
+ # @return [String]
740
+ attr_accessor :device
741
+
742
+ # The type of DNS error.
743
+ # Corresponds to the JSON property `dnsErrorType`
744
+ # @return [String]
745
+ attr_accessor :dns_error_type
746
+
747
+ # The full URL that didn't work.
748
+ # Corresponds to the JSON property `expandedUri`
749
+ # @return [String]
750
+ attr_accessor :expanded_uri
751
+
752
+ # The HTTP error code.
753
+ # Corresponds to the JSON property `httpErrorCode`
754
+ # @return [Fixnum]
755
+ attr_accessor :http_error_code
756
+
757
+ # The last checked time of the not working url.
758
+ # Corresponds to the JSON property `lastCheckedTime`
759
+ # @return [String]
760
+ attr_accessor :last_checked_time
761
+
762
+ def initialize(**args)
763
+ update!(**args)
764
+ end
765
+
766
+ # Update properties of this object
767
+ def update!(**args)
768
+ @device = args[:device] if args.key?(:device)
769
+ @dns_error_type = args[:dns_error_type] if args.key?(:dns_error_type)
770
+ @expanded_uri = args[:expanded_uri] if args.key?(:expanded_uri)
771
+ @http_error_code = args[:http_error_code] if args.key?(:http_error_code)
772
+ @last_checked_time = args[:last_checked_time] if args.key?(:last_checked_time)
773
+ end
774
+ end
775
+
776
+ # A list of destination text that violated the policy.
777
+ class AdPolicyTopicEvidenceDestinationTextList
778
+ include Google::Apis::Core::Hashable
779
+
780
+ # Destination text that caused the policy finding.
781
+ # Corresponds to the JSON property `destinationTexts`
782
+ # @return [Array<String>]
783
+ attr_accessor :destination_texts
784
+
785
+ def initialize(**args)
786
+ update!(**args)
787
+ end
788
+
789
+ # Update properties of this object
790
+ def update!(**args)
791
+ @destination_texts = args[:destination_texts] if args.key?(:destination_texts)
792
+ end
793
+ end
794
+
795
+ # Legal related regulation enforcement, either from DMCA or local legal.
796
+ class AdPolicyTopicEvidenceLegalRemoval
797
+ include Google::Apis::Core::Hashable
798
+
799
+ # The legal removal complaint type.
800
+ # Corresponds to the JSON property `complaintType`
801
+ # @return [String]
802
+ attr_accessor :complaint_type
803
+
804
+ # The restricted countries due to the legal removal.
805
+ # Corresponds to the JSON property `countryRestrictions`
806
+ # @return [Array<Google::Apis::DisplayvideoV4::AdPolicyCriterionRestriction>]
807
+ attr_accessor :country_restrictions
808
+
809
+ # DMCA related regulation enforcement.
810
+ # Corresponds to the JSON property `dmca`
811
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicEvidenceLegalRemovalDmca]
812
+ attr_accessor :dmca
813
+
814
+ # Local legal related regulation enforcement.
815
+ # Corresponds to the JSON property `localLegal`
816
+ # @return [Google::Apis::DisplayvideoV4::AdPolicyTopicEvidenceLegalRemovalLocalLegal]
817
+ attr_accessor :local_legal
818
+
819
+ # The urls that are restricted due to the legal removal.
820
+ # Corresponds to the JSON property `restrictedUris`
821
+ # @return [Array<String>]
822
+ attr_accessor :restricted_uris
823
+
824
+ def initialize(**args)
825
+ update!(**args)
826
+ end
827
+
828
+ # Update properties of this object
829
+ def update!(**args)
830
+ @complaint_type = args[:complaint_type] if args.key?(:complaint_type)
831
+ @country_restrictions = args[:country_restrictions] if args.key?(:country_restrictions)
832
+ @dmca = args[:dmca] if args.key?(:dmca)
833
+ @local_legal = args[:local_legal] if args.key?(:local_legal)
834
+ @restricted_uris = args[:restricted_uris] if args.key?(:restricted_uris)
835
+ end
836
+ end
837
+
838
+ # DMCA related regulation enforcement.
839
+ class AdPolicyTopicEvidenceLegalRemovalDmca
840
+ include Google::Apis::Core::Hashable
841
+
842
+ # The entity who makes the legal complaint.
843
+ # Corresponds to the JSON property `complainant`
844
+ # @return [String]
845
+ attr_accessor :complainant
846
+
847
+ def initialize(**args)
848
+ update!(**args)
849
+ end
850
+
851
+ # Update properties of this object
852
+ def update!(**args)
853
+ @complainant = args[:complainant] if args.key?(:complainant)
854
+ end
855
+ end
856
+
857
+ # Local legal related regulation enforcement.
858
+ class AdPolicyTopicEvidenceLegalRemovalLocalLegal
859
+ include Google::Apis::Core::Hashable
860
+
861
+ # Type of law for the legal notice.
862
+ # Corresponds to the JSON property `lawType`
863
+ # @return [String]
864
+ attr_accessor :law_type
865
+
866
+ def initialize(**args)
867
+ update!(**args)
868
+ end
869
+
870
+ # Update properties of this object
871
+ def update!(**args)
872
+ @law_type = args[:law_type] if args.key?(:law_type)
873
+ end
874
+ end
875
+
876
+ # T&S proactive enforcement for policies meant to address regional requirements.
877
+ # This is considered as Google owned investigation instead of regulation notice
878
+ # since it's a T&S proactive enforcement.
879
+ class AdPolicyTopicEvidenceRegionalRequirements
880
+ include Google::Apis::Core::Hashable
881
+
882
+ # List of regional requirements.
883
+ # Corresponds to the JSON property `regionalRequirementsEntries`
884
+ # @return [Array<Google::Apis::DisplayvideoV4::AdPolicyTopicEvidenceRegionalRequirementsRegionalRequirementsEntry>]
885
+ attr_accessor :regional_requirements_entries
886
+
887
+ def initialize(**args)
888
+ update!(**args)
889
+ end
890
+
891
+ # Update properties of this object
892
+ def update!(**args)
893
+ @regional_requirements_entries = args[:regional_requirements_entries] if args.key?(:regional_requirements_entries)
894
+ end
895
+ end
896
+
897
+ # Policy level regional legal violation details.
898
+ class AdPolicyTopicEvidenceRegionalRequirementsRegionalRequirementsEntry
899
+ include Google::Apis::Core::Hashable
900
+
901
+ # The restricted countries due to the legal policy.
902
+ # Corresponds to the JSON property `countryRestrictions`
903
+ # @return [Array<Google::Apis::DisplayvideoV4::AdPolicyCriterionRestriction>]
904
+ attr_accessor :country_restrictions
905
+
906
+ # The legal policy that is violated.
907
+ # Corresponds to the JSON property `legalPolicy`
908
+ # @return [String]
909
+ attr_accessor :legal_policy
910
+
911
+ def initialize(**args)
912
+ update!(**args)
913
+ end
914
+
915
+ # Update properties of this object
916
+ def update!(**args)
917
+ @country_restrictions = args[:country_restrictions] if args.key?(:country_restrictions)
918
+ @legal_policy = args[:legal_policy] if args.key?(:legal_policy)
919
+ end
920
+ end
921
+
922
+ # A list of fragments of text that violated the policy.
923
+ class AdPolicyTopicEvidenceTextList
924
+ include Google::Apis::Core::Hashable
925
+
926
+ # The fragments of text from the resource that caused the policy finding.
927
+ # Corresponds to the JSON property `texts`
928
+ # @return [Array<String>]
929
+ attr_accessor :texts
930
+
931
+ def initialize(**args)
932
+ update!(**args)
933
+ end
934
+
935
+ # Update properties of this object
936
+ def update!(**args)
937
+ @texts = args[:texts] if args.key?(:texts)
938
+ end
939
+ end
940
+
941
+ # Trademark terms that caused a policy violation.
942
+ class AdPolicyTopicEvidenceTrademark
943
+ include Google::Apis::Core::Hashable
944
+
945
+ # Criteria that are geo restrictions.
946
+ # Corresponds to the JSON property `countryRestrictions`
947
+ # @return [Array<Google::Apis::DisplayvideoV4::AdPolicyCriterionRestriction>]
948
+ attr_accessor :country_restrictions
949
+
950
+ # The trademark content owner.
951
+ # Corresponds to the JSON property `owner`
952
+ # @return [String]
953
+ attr_accessor :owner
954
+
955
+ # The trademark term.
956
+ # Corresponds to the JSON property `term`
957
+ # @return [String]
958
+ attr_accessor :term
959
+
960
+ def initialize(**args)
961
+ update!(**args)
962
+ end
963
+
964
+ # Update properties of this object
965
+ def update!(**args)
966
+ @country_restrictions = args[:country_restrictions] if args.key?(:country_restrictions)
967
+ @owner = args[:owner] if args.key?(:owner)
968
+ @term = args[:term] if args.key?(:term)
969
+ end
970
+ end
971
+
972
+ # A list of websites that violated the policy.
973
+ class AdPolicyTopicEvidenceWebsiteList
260
974
  include Google::Apis::Core::Hashable
261
975
 
262
- # The ID of the ad group the assigned targeting option is assigned to.
263
- # Corresponds to the JSON property `adGroupId`
264
- # @return [Fixnum]
265
- attr_accessor :ad_group_id
266
-
267
- # A single assigned targeting option, which defines the state of a targeting
268
- # option for an entity with targeting settings.
269
- # Corresponds to the JSON property `assignedTargetingOption`
270
- # @return [Google::Apis::DisplayvideoV4::AssignedTargetingOption]
271
- attr_accessor :assigned_targeting_option
976
+ # Websites that caused the policy finding.
977
+ # Corresponds to the JSON property `websites`
978
+ # @return [Array<String>]
979
+ attr_accessor :websites
272
980
 
273
981
  def initialize(**args)
274
982
  update!(**args)
@@ -276,8 +984,7 @@ module Google
276
984
 
277
985
  # Update properties of this object
278
986
  def update!(**args)
279
- @ad_group_id = args[:ad_group_id] if args.key?(:ad_group_id)
280
- @assigned_targeting_option = args[:assigned_targeting_option] if args.key?(:assigned_targeting_option)
987
+ @websites = args[:websites] if args.key?(:websites)
281
988
  end
282
989
  end
283
990
 
@@ -2344,6 +3051,44 @@ module Google
2344
3051
  end
2345
3052
  end
2346
3053
 
3054
+ # A request message for BulkCreateAdAssets.
3055
+ class BulkCreateAdAssetsRequest
3056
+ include Google::Apis::Core::Hashable
3057
+
3058
+ # Required. Ad assets to create. Only supports youtube video assets for now.
3059
+ # Corresponds to the JSON property `adAssets`
3060
+ # @return [Array<Google::Apis::DisplayvideoV4::AdAsset>]
3061
+ attr_accessor :ad_assets
3062
+
3063
+ def initialize(**args)
3064
+ update!(**args)
3065
+ end
3066
+
3067
+ # Update properties of this object
3068
+ def update!(**args)
3069
+ @ad_assets = args[:ad_assets] if args.key?(:ad_assets)
3070
+ end
3071
+ end
3072
+
3073
+ # A response message for BulkCreateAdAssets.
3074
+ class BulkCreateAdAssetsResponse
3075
+ include Google::Apis::Core::Hashable
3076
+
3077
+ # The uploaded video ad assets, if successful.
3078
+ # Corresponds to the JSON property `adAssets`
3079
+ # @return [Array<Google::Apis::DisplayvideoV4::AdAsset>]
3080
+ attr_accessor :ad_assets
3081
+
3082
+ def initialize(**args)
3083
+ update!(**args)
3084
+ end
3085
+
3086
+ # Update properties of this object
3087
+ def update!(**args)
3088
+ @ad_assets = args[:ad_assets] if args.key?(:ad_assets)
3089
+ end
3090
+ end
3091
+
2347
3092
  # Request message for BulkEditAdvertiserAssignedTargetingOptions.
2348
3093
  class BulkEditAdvertiserAssignedTargetingOptionsRequest
2349
3094
  include Google::Apis::Core::Hashable
@@ -4302,6 +5047,25 @@ module Google
4302
5047
  end
4303
5048
  end
4304
5049
 
5050
+ # A request message for CreateAdAsset.
5051
+ class CreateAdAssetRequest
5052
+ include Google::Apis::Core::Hashable
5053
+
5054
+ # A single ad asset. Next ID: 6
5055
+ # Corresponds to the JSON property `adAsset`
5056
+ # @return [Google::Apis::DisplayvideoV4::AdAsset]
5057
+ attr_accessor :ad_asset
5058
+
5059
+ def initialize(**args)
5060
+ update!(**args)
5061
+ end
5062
+
5063
+ # Update properties of this object
5064
+ def update!(**args)
5065
+ @ad_asset = args[:ad_asset] if args.key?(:ad_asset)
5066
+ end
5067
+ end
5068
+
4305
5069
  # A request message for CreateAsset.
4306
5070
  class CreateAssetRequest
4307
5071
  include Google::Apis::Core::Hashable
@@ -8683,6 +9447,33 @@ module Google
8683
9447
  end
8684
9448
  end
8685
9449
 
9450
+ # A response message for ListAdAssets.
9451
+ class ListAdAssetsResponse
9452
+ include Google::Apis::Core::Hashable
9453
+
9454
+ # The list of ad assets. This list will be absent if empty.
9455
+ # Corresponds to the JSON property `adAssets`
9456
+ # @return [Array<Google::Apis::DisplayvideoV4::AdAsset>]
9457
+ attr_accessor :ad_assets
9458
+
9459
+ # A token to retrieve the next page of results. Pass this value in the
9460
+ # page_token field in the subsequent call to `ListAdAssets` method to retrieve
9461
+ # the next page of results.
9462
+ # Corresponds to the JSON property `nextPageToken`
9463
+ # @return [String]
9464
+ attr_accessor :next_page_token
9465
+
9466
+ def initialize(**args)
9467
+ update!(**args)
9468
+ end
9469
+
9470
+ # Update properties of this object
9471
+ def update!(**args)
9472
+ @ad_assets = args[:ad_assets] if args.key?(:ad_assets)
9473
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
9474
+ end
9475
+ end
9476
+
8686
9477
  #
8687
9478
  class ListAdGroupAdsResponse
8688
9479
  include Google::Apis::Core::Hashable
@@ -9644,6 +10435,32 @@ module Google
9644
10435
  end
9645
10436
  end
9646
10437
 
10438
+ # Response message for YoutubeAssetAssociationService.
10439
+ # ListYoutubeAssetAssociations.
10440
+ class ListYoutubeAssetAssociationsResponse
10441
+ include Google::Apis::Core::Hashable
10442
+
10443
+ # A token to retrieve the next page of results.
10444
+ # Corresponds to the JSON property `nextPageToken`
10445
+ # @return [String]
10446
+ attr_accessor :next_page_token
10447
+
10448
+ # The list of associations. This list will be absent if empty.
10449
+ # Corresponds to the JSON property `youtubeAssetAssociations`
10450
+ # @return [Array<Google::Apis::DisplayvideoV4::YoutubeAssetAssociation>]
10451
+ attr_accessor :youtube_asset_associations
10452
+
10453
+ def initialize(**args)
10454
+ update!(**args)
10455
+ end
10456
+
10457
+ # Update properties of this object
10458
+ def update!(**args)
10459
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10460
+ @youtube_asset_associations = args[:youtube_asset_associations] if args.key?(:youtube_asset_associations)
10461
+ end
10462
+ end
10463
+
9647
10464
  # A list of locations used for targeting.
9648
10465
  class LocationList
9649
10466
  include Google::Apis::Core::Hashable
@@ -12542,6 +13359,51 @@ module Google
12542
13359
  end
12543
13360
  end
12544
13361
 
13362
+ # A request message for UploadAdAsset. Next ID: 6
13363
+ class UploadAdAssetRequest
13364
+ include Google::Apis::Core::Hashable
13365
+
13366
+ # Required. The type of the ad asset. Only supports image assets for now.
13367
+ # Corresponds to the JSON property `adAssetType`
13368
+ # @return [String]
13369
+ attr_accessor :ad_asset_type
13370
+
13371
+ # Required. The filename of the ad asset, including the file extension. The
13372
+ # filename must be UTF-8 encoded with a maximum size of 240 bytes.
13373
+ # Corresponds to the JSON property `filename`
13374
+ # @return [String]
13375
+ attr_accessor :filename
13376
+
13377
+ def initialize(**args)
13378
+ update!(**args)
13379
+ end
13380
+
13381
+ # Update properties of this object
13382
+ def update!(**args)
13383
+ @ad_asset_type = args[:ad_asset_type] if args.key?(:ad_asset_type)
13384
+ @filename = args[:filename] if args.key?(:filename)
13385
+ end
13386
+ end
13387
+
13388
+ # A response message for UploadAdAsset.
13389
+ class UploadAdAssetResponse
13390
+ include Google::Apis::Core::Hashable
13391
+
13392
+ # A single ad asset. Next ID: 6
13393
+ # Corresponds to the JSON property `adAsset`
13394
+ # @return [Google::Apis::DisplayvideoV4::AdAsset]
13395
+ attr_accessor :ad_asset
13396
+
13397
+ def initialize(**args)
13398
+ update!(**args)
13399
+ end
13400
+
13401
+ # Update properties of this object
13402
+ def update!(**args)
13403
+ @ad_asset = args[:ad_asset] if args.key?(:ad_asset)
13404
+ end
13405
+ end
13406
+
12545
13407
  # Details for assigned URL targeting option. This will be populated in the
12546
13408
  # details field of an AssignedTargetingOption when targeting_type is `
12547
13409
  # TARGETING_TYPE_URL`.
@@ -13162,6 +14024,238 @@ module Google
13162
14024
  end
13163
14025
  end
13164
14026
 
14027
+ # A YouTube asset association between one linked entity and one YouTube asset.
14028
+ class YoutubeAssetAssociation
14029
+ include Google::Apis::Core::Hashable
14030
+
14031
+ # The YouTube asset linked with the entity in a YouTube asset association.
14032
+ # Corresponds to the JSON property `linkedYoutubeAsset`
14033
+ # @return [Google::Apis::DisplayvideoV4::YoutubeAssetAssociationLinkedYouTubeAsset]
14034
+ attr_accessor :linked_youtube_asset
14035
+
14036
+ # Identifier. The resource name of the association. For line item level
14037
+ # associations: The name pattern is `advertisers/`advertiser_id`/lineItems/`
14038
+ # line_item_id`/youtubeAssetTypes/`youtube_asset_type`/youtubeAssetAssociations/`
14039
+ # youtube_asset_association_id``. For ad group level associations: The name
14040
+ # pattern is `advertisers/`advertiser_id`/adGroups/`ad_group_id`/
14041
+ # youtubeAssetTypes/`youtube_asset_type`/youtubeAssetAssociations/`
14042
+ # youtube_asset_association_id``. For location and affiliate location
14043
+ # associations: `youtube_asset_association_id` is the linked asset set ID if the
14044
+ # YouTube asset type (location or affiliate location) is enabled on the linked
14045
+ # line item or ad group, 0 if disabled. For sitelink associations: `
14046
+ # youtube_asset_association_id` is the linked asset ID.
14047
+ # Corresponds to the JSON property `name`
14048
+ # @return [String]
14049
+ attr_accessor :name
14050
+
14051
+ # Required. The type of the linked YouTube asset in the association.
14052
+ # Corresponds to the JSON property `youtubeAssetType`
14053
+ # @return [String]
14054
+ attr_accessor :youtube_asset_type
14055
+
14056
+ def initialize(**args)
14057
+ update!(**args)
14058
+ end
14059
+
14060
+ # Update properties of this object
14061
+ def update!(**args)
14062
+ @linked_youtube_asset = args[:linked_youtube_asset] if args.key?(:linked_youtube_asset)
14063
+ @name = args[:name] if args.key?(:name)
14064
+ @youtube_asset_type = args[:youtube_asset_type] if args.key?(:youtube_asset_type)
14065
+ end
14066
+ end
14067
+
14068
+ # An asset filter that matches eligible affiliate location assets for serving.
14069
+ class YoutubeAssetAssociationAffiliateLocationAssetFilter
14070
+ include Google::Apis::Core::Hashable
14071
+
14072
+ # The matching function for an affiliate location asset filter.
14073
+ # Corresponds to the JSON property `affiliateLocationMatchingFunction`
14074
+ # @return [Google::Apis::DisplayvideoV4::YoutubeAssetAssociationAffiliateLocationAssetFilterAffiliateLocationMatchingFunction]
14075
+ attr_accessor :affiliate_location_matching_function
14076
+
14077
+ # Required. The matching type of this affiliate location asset filter.
14078
+ # Corresponds to the JSON property `affiliateLocationMatchingType`
14079
+ # @return [String]
14080
+ attr_accessor :affiliate_location_matching_type
14081
+
14082
+ # Output only. The ID of the asset set that matches the affiliate location
14083
+ # assets eligible for serving.
14084
+ # Corresponds to the JSON property `assetSetId`
14085
+ # @return [Fixnum]
14086
+ attr_accessor :asset_set_id
14087
+
14088
+ def initialize(**args)
14089
+ update!(**args)
14090
+ end
14091
+
14092
+ # Update properties of this object
14093
+ def update!(**args)
14094
+ @affiliate_location_matching_function = args[:affiliate_location_matching_function] if args.key?(:affiliate_location_matching_function)
14095
+ @affiliate_location_matching_type = args[:affiliate_location_matching_type] if args.key?(:affiliate_location_matching_type)
14096
+ @asset_set_id = args[:asset_set_id] if args.key?(:asset_set_id)
14097
+ end
14098
+ end
14099
+
14100
+ # A chain for affiliate locations.
14101
+ class YoutubeAssetAssociationAffiliateLocationAssetFilterAffiliateLocationChain
14102
+ include Google::Apis::Core::Hashable
14103
+
14104
+ # Required. ID of the affiliate location chain.
14105
+ # Corresponds to the JSON property `chainId`
14106
+ # @return [Fixnum]
14107
+ attr_accessor :chain_id
14108
+
14109
+ def initialize(**args)
14110
+ update!(**args)
14111
+ end
14112
+
14113
+ # Update properties of this object
14114
+ def update!(**args)
14115
+ @chain_id = args[:chain_id] if args.key?(:chain_id)
14116
+ end
14117
+ end
14118
+
14119
+ # The matching function for an affiliate location asset filter.
14120
+ class YoutubeAssetAssociationAffiliateLocationAssetFilterAffiliateLocationMatchingFunction
14121
+ include Google::Apis::Core::Hashable
14122
+
14123
+ # Optional. The chains that match the affiliate location assets for serving.
14124
+ # This is required to set when linking with affiliate location asset filters of
14125
+ # AffiliateLocationMatchingType#SELECTED_CHAINS.
14126
+ # Corresponds to the JSON property `chains`
14127
+ # @return [Array<Google::Apis::DisplayvideoV4::YoutubeAssetAssociationAffiliateLocationAssetFilterAffiliateLocationChain>]
14128
+ attr_accessor :chains
14129
+
14130
+ def initialize(**args)
14131
+ update!(**args)
14132
+ end
14133
+
14134
+ # Update properties of this object
14135
+ def update!(**args)
14136
+ @chains = args[:chains] if args.key?(:chains)
14137
+ end
14138
+ end
14139
+
14140
+ # The YouTube asset linked with the entity in a YouTube asset association.
14141
+ class YoutubeAssetAssociationLinkedYouTubeAsset
14142
+ include Google::Apis::Core::Hashable
14143
+
14144
+ # An asset filter that matches eligible affiliate location assets for serving.
14145
+ # Corresponds to the JSON property `affiliateLocationAssetFilter`
14146
+ # @return [Google::Apis::DisplayvideoV4::YoutubeAssetAssociationAffiliateLocationAssetFilter]
14147
+ attr_accessor :affiliate_location_asset_filter
14148
+
14149
+ # An asset filter that matches eligible location assets for serving.
14150
+ # Corresponds to the JSON property `locationAssetFilter`
14151
+ # @return [Google::Apis::DisplayvideoV4::YoutubeAssetAssociationLocationAssetFilter]
14152
+ attr_accessor :location_asset_filter
14153
+
14154
+ # A sitelink asset.
14155
+ # Corresponds to the JSON property `sitelinkAsset`
14156
+ # @return [Google::Apis::DisplayvideoV4::YoutubeAssetAssociationSitelinkAsset]
14157
+ attr_accessor :sitelink_asset
14158
+
14159
+ def initialize(**args)
14160
+ update!(**args)
14161
+ end
14162
+
14163
+ # Update properties of this object
14164
+ def update!(**args)
14165
+ @affiliate_location_asset_filter = args[:affiliate_location_asset_filter] if args.key?(:affiliate_location_asset_filter)
14166
+ @location_asset_filter = args[:location_asset_filter] if args.key?(:location_asset_filter)
14167
+ @sitelink_asset = args[:sitelink_asset] if args.key?(:sitelink_asset)
14168
+ end
14169
+ end
14170
+
14171
+ # An asset filter that matches eligible location assets for serving.
14172
+ class YoutubeAssetAssociationLocationAssetFilter
14173
+ include Google::Apis::Core::Hashable
14174
+
14175
+ # Output only. The ID of the asset set that matches the location assets eligible
14176
+ # for serving.
14177
+ # Corresponds to the JSON property `assetSetId`
14178
+ # @return [Fixnum]
14179
+ attr_accessor :asset_set_id
14180
+
14181
+ # The matching function for a location asset filter.
14182
+ # Corresponds to the JSON property `locationMatchingFunction`
14183
+ # @return [Google::Apis::DisplayvideoV4::YoutubeAssetAssociationLocationAssetFilterLocationMatchingFunction]
14184
+ attr_accessor :location_matching_function
14185
+
14186
+ # Required. The matching type of this location asset filter.
14187
+ # Corresponds to the JSON property `locationMatchingType`
14188
+ # @return [String]
14189
+ attr_accessor :location_matching_type
14190
+
14191
+ def initialize(**args)
14192
+ update!(**args)
14193
+ end
14194
+
14195
+ # Update properties of this object
14196
+ def update!(**args)
14197
+ @asset_set_id = args[:asset_set_id] if args.key?(:asset_set_id)
14198
+ @location_matching_function = args[:location_matching_function] if args.key?(:location_matching_function)
14199
+ @location_matching_type = args[:location_matching_type] if args.key?(:location_matching_type)
14200
+ end
14201
+ end
14202
+
14203
+ # The matching function for a location asset filter.
14204
+ class YoutubeAssetAssociationLocationAssetFilterLocationMatchingFunction
14205
+ include Google::Apis::Core::Hashable
14206
+
14207
+ # Optional. The business name filter. This can be set only when linking with
14208
+ # location asset filters of LocationMatchingType#FILTER. This is optional when
14209
+ # linking with location asset filters of LocationMatchingType#FILTER.
14210
+ # Corresponds to the JSON property `business`
14211
+ # @return [String]
14212
+ attr_accessor :business
14213
+
14214
+ # Optional. The label filters. Label filters are OR'ed together. This can be set
14215
+ # only when linking with location asset filters of LocationMatchingType#FILTER.
14216
+ # This is optional when linking with location asset filters of
14217
+ # LocationMatchingType#FILTER.
14218
+ # Corresponds to the JSON property `labels`
14219
+ # @return [Array<String>]
14220
+ attr_accessor :labels
14221
+
14222
+ # Optional. The selected location asset IDs. This is required to set when
14223
+ # linking with location asset filters of LocationMatchingType#SELECTED_ASSETS.
14224
+ # Corresponds to the JSON property `locationAssetIds`
14225
+ # @return [Array<Fixnum>]
14226
+ attr_accessor :location_asset_ids
14227
+
14228
+ def initialize(**args)
14229
+ update!(**args)
14230
+ end
14231
+
14232
+ # Update properties of this object
14233
+ def update!(**args)
14234
+ @business = args[:business] if args.key?(:business)
14235
+ @labels = args[:labels] if args.key?(:labels)
14236
+ @location_asset_ids = args[:location_asset_ids] if args.key?(:location_asset_ids)
14237
+ end
14238
+ end
14239
+
14240
+ # A sitelink asset.
14241
+ class YoutubeAssetAssociationSitelinkAsset
14242
+ include Google::Apis::Core::Hashable
14243
+
14244
+ # Required. ID of the sitelink asset.
14245
+ # Corresponds to the JSON property `assetId`
14246
+ # @return [Fixnum]
14247
+ attr_accessor :asset_id
14248
+
14249
+ def initialize(**args)
14250
+ update!(**args)
14251
+ end
14252
+
14253
+ # Update properties of this object
14254
+ def update!(**args)
14255
+ @asset_id = args[:asset_id] if args.key?(:asset_id)
14256
+ end
14257
+ end
14258
+
13165
14259
  # Details for YouTube channel assigned targeting option. This will be populated
13166
14260
  # in the youtube_channel_details field when targeting_type is `
13167
14261
  # TARGETING_TYPE_YOUTUBE_CHANNEL`.
@@ -13190,6 +14284,26 @@ module Google
13190
14284
  end
13191
14285
  end
13192
14286
 
14287
+ # The youtube video asset data of the ad asset.
14288
+ class YoutubeVideoAsset
14289
+ include Google::Apis::Core::Hashable
14290
+
14291
+ # Required. The youtube video id of the asset. This is the 11 char string value
14292
+ # used in the Youtube video URL.
14293
+ # Corresponds to the JSON property `youtubeVideoId`
14294
+ # @return [String]
14295
+ attr_accessor :youtube_video_id
14296
+
14297
+ def initialize(**args)
14298
+ update!(**args)
14299
+ end
14300
+
14301
+ # Update properties of this object
14302
+ def update!(**args)
14303
+ @youtube_video_id = args[:youtube_video_id] if args.key?(:youtube_video_id)
14304
+ end
14305
+ end
14306
+
13193
14307
  # Details for YouTube video assigned targeting option. This will be populated in
13194
14308
  # the youtube_video_details field when targeting_type is `
13195
14309
  # TARGETING_TYPE_YOUTUBE_VIDEO`.