google-api-client 0.41.2 → 0.42.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/generated/google/apis/accessapproval_v1.rb +1 -1
  4. data/generated/google/apis/accessapproval_v1/service.rb +3 -0
  5. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  6. data/generated/google/apis/accessapproval_v1beta1/service.rb +3 -0
  7. data/generated/google/apis/admob_v1.rb +1 -1
  8. data/generated/google/apis/admob_v1/service.rb +1 -1
  9. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  10. data/generated/google/apis/apigee_v1.rb +1 -1
  11. data/generated/google/apis/apigee_v1/classes.rb +1389 -105
  12. data/generated/google/apis/apigee_v1/representations.rb +543 -0
  13. data/generated/google/apis/apigee_v1/service.rb +1139 -93
  14. data/generated/google/apis/appsmarket_v2.rb +1 -1
  15. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  16. data/generated/google/apis/bigqueryreservation_v1/classes.rb +34 -0
  17. data/generated/google/apis/bigqueryreservation_v1/representations.rb +16 -0
  18. data/generated/google/apis/bigqueryreservation_v1/service.rb +60 -0
  19. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  20. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +8 -0
  21. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +1 -0
  22. data/generated/google/apis/civicinfo_v2.rb +1 -1
  23. data/generated/google/apis/civicinfo_v2/classes.rb +9 -1
  24. data/generated/google/apis/civicinfo_v2/representations.rb +1 -0
  25. data/generated/google/apis/civicinfo_v2/service.rb +1 -1
  26. data/generated/google/apis/classroom_v1.rb +1 -1
  27. data/generated/google/apis/classroom_v1/service.rb +4 -3
  28. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  29. data/generated/google/apis/cloudfunctions_v1/classes.rb +14 -0
  30. data/generated/google/apis/cloudfunctions_v1/representations.rb +2 -0
  31. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  32. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  33. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  34. data/generated/google/apis/{androidpublisher_v1.rb → customsearch_v1.rb} +8 -8
  35. data/generated/google/apis/customsearch_v1/classes.rb +1606 -0
  36. data/generated/google/apis/customsearch_v1/representations.rb +372 -0
  37. data/generated/google/apis/customsearch_v1/service.rb +608 -0
  38. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  39. data/generated/google/apis/dialogflow_v2beta1/classes.rb +4 -2
  40. data/generated/google/apis/dialogflow_v2beta1/service.rb +8 -2
  41. data/generated/google/apis/displayvideo_v1.rb +1 -1
  42. data/generated/google/apis/displayvideo_v1/classes.rb +12 -5
  43. data/generated/google/apis/dns_v1.rb +4 -4
  44. data/generated/google/apis/dns_v1/classes.rb +313 -162
  45. data/generated/google/apis/dns_v1/service.rb +247 -180
  46. data/generated/google/apis/file_v1.rb +1 -1
  47. data/generated/google/apis/file_v1beta1.rb +1 -1
  48. data/generated/google/apis/{groupsmigration_v1.rb → firebasehosting_v1.rb} +10 -12
  49. data/generated/google/apis/firebasehosting_v1/classes.rb +186 -0
  50. data/generated/google/apis/{androidpublisher_v2 → firebasehosting_v1}/representations.rb +22 -32
  51. data/generated/google/apis/firebasehosting_v1/service.rb +183 -0
  52. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  53. data/generated/google/apis/firebasehosting_v1beta1/service.rb +2 -0
  54. data/generated/google/apis/games_v1.rb +5 -3
  55. data/generated/google/apis/games_v1/classes.rb +354 -2112
  56. data/generated/google/apis/games_v1/representations.rb +12 -647
  57. data/generated/google/apis/games_v1/service.rb +212 -1154
  58. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  59. data/generated/google/apis/gameservices_v1beta/classes.rb +6 -6
  60. data/generated/google/apis/groupssettings_v1.rb +1 -1
  61. data/generated/google/apis/groupssettings_v1/classes.rb +1 -1
  62. data/generated/google/apis/ml_v1.rb +1 -1
  63. data/generated/google/apis/ml_v1/classes.rb +6 -6
  64. data/generated/google/apis/monitoring_v3.rb +1 -1
  65. data/generated/google/apis/monitoring_v3/classes.rb +10 -2
  66. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  67. data/generated/google/apis/monitoring_v3/service.rb +8 -5
  68. data/generated/google/apis/pubsub_v1.rb +1 -1
  69. data/generated/google/apis/pubsub_v1/classes.rb +24 -28
  70. data/generated/google/apis/pubsub_v1/service.rb +35 -44
  71. data/generated/google/apis/recommender_v1.rb +1 -1
  72. data/generated/google/apis/recommender_v1/classes.rb +211 -0
  73. data/generated/google/apis/recommender_v1/representations.rb +96 -0
  74. data/generated/google/apis/recommender_v1/service.rb +123 -0
  75. data/generated/google/apis/redis_v1.rb +1 -1
  76. data/generated/google/apis/redis_v1beta1.rb +1 -1
  77. data/generated/google/apis/testing_v1.rb +1 -1
  78. data/generated/google/apis/testing_v1/classes.rb +17 -6
  79. data/generated/google/apis/testing_v1/representations.rb +1 -0
  80. data/generated/google/apis/youtube_partner_v1.rb +4 -3
  81. data/generated/google/apis/youtube_partner_v1/classes.rb +1616 -1076
  82. data/generated/google/apis/youtube_partner_v1/representations.rb +357 -256
  83. data/generated/google/apis/youtube_partner_v1/service.rb +942 -1362
  84. data/generated/google/apis/youtube_v3.rb +1 -1
  85. data/generated/google/apis/youtube_v3/classes.rb +554 -0
  86. data/generated/google/apis/youtube_v3/representations.rb +281 -0
  87. data/generated/google/apis/youtube_v3/service.rb +259 -0
  88. data/lib/google/apis/version.rb +1 -1
  89. metadata +11 -19
  90. data/generated/google/apis/androidpublisher_v1/classes.rb +0 -26
  91. data/generated/google/apis/androidpublisher_v1/representations.rb +0 -26
  92. data/generated/google/apis/androidpublisher_v1/service.rb +0 -64
  93. data/generated/google/apis/androidpublisher_v1_1.rb +0 -34
  94. data/generated/google/apis/androidpublisher_v1_1/classes.rb +0 -94
  95. data/generated/google/apis/androidpublisher_v1_1/representations.rb +0 -45
  96. data/generated/google/apis/androidpublisher_v1_1/service.rb +0 -104
  97. data/generated/google/apis/androidpublisher_v2.rb +0 -34
  98. data/generated/google/apis/androidpublisher_v2/classes.rb +0 -223
  99. data/generated/google/apis/androidpublisher_v2/service.rb +0 -160
  100. data/generated/google/apis/groupsmigration_v1/classes.rb +0 -51
  101. data/generated/google/apis/groupsmigration_v1/representations.rb +0 -40
  102. data/generated/google/apis/groupsmigration_v1/service.rb +0 -100
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/youtube/
27
27
  module YoutubeV3
28
28
  VERSION = 'V3'
29
- REVISION = '20200618'
29
+ REVISION = '20200707'
30
30
 
31
31
  # Manage your YouTube account
32
32
  AUTH_YOUTUBE = 'https://www.googleapis.com/auth/youtube'
@@ -22,6 +22,62 @@ module Google
22
22
  module Apis
23
23
  module YoutubeV3
24
24
 
25
+ #
26
+ class AbuseReport
27
+ include Google::Apis::Core::Hashable
28
+
29
+ #
30
+ # Corresponds to the JSON property `abuseTypes`
31
+ # @return [Array<Google::Apis::YoutubeV3::AbuseType>]
32
+ attr_accessor :abuse_types
33
+
34
+ #
35
+ # Corresponds to the JSON property `description`
36
+ # @return [String]
37
+ attr_accessor :description
38
+
39
+ #
40
+ # Corresponds to the JSON property `relatedEntities`
41
+ # @return [Array<Google::Apis::YoutubeV3::RelatedEntity>]
42
+ attr_accessor :related_entities
43
+
44
+ #
45
+ # Corresponds to the JSON property `subject`
46
+ # @return [Google::Apis::YoutubeV3::Entity]
47
+ attr_accessor :subject
48
+
49
+ def initialize(**args)
50
+ update!(**args)
51
+ end
52
+
53
+ # Update properties of this object
54
+ def update!(**args)
55
+ @abuse_types = args[:abuse_types] if args.key?(:abuse_types)
56
+ @description = args[:description] if args.key?(:description)
57
+ @related_entities = args[:related_entities] if args.key?(:related_entities)
58
+ @subject = args[:subject] if args.key?(:subject)
59
+ end
60
+ end
61
+
62
+ #
63
+ class AbuseType
64
+ include Google::Apis::Core::Hashable
65
+
66
+ #
67
+ # Corresponds to the JSON property `id`
68
+ # @return [String]
69
+ attr_accessor :id
70
+
71
+ def initialize(**args)
72
+ update!(**args)
73
+ end
74
+
75
+ # Update properties of this object
76
+ def update!(**args)
77
+ @id = args[:id] if args.key?(:id)
78
+ end
79
+ end
80
+
25
81
  # Rights management policy for YouTube resources.
26
82
  class AccessPolicy
27
83
  include Google::Apis::Core::Hashable
@@ -1101,6 +1157,33 @@ module Google
1101
1157
  end
1102
1158
  end
1103
1159
 
1160
+ #
1161
+ class ChannelCard
1162
+ include Google::Apis::Core::Hashable
1163
+
1164
+ # External channel ID.
1165
+ # Required.
1166
+ # Corresponds to the JSON property `channelId`
1167
+ # @return [String]
1168
+ attr_accessor :channel_id
1169
+
1170
+ # Each card can have a custom message.
1171
+ # Required.
1172
+ # Corresponds to the JSON property `customMessage`
1173
+ # @return [String]
1174
+ attr_accessor :custom_message
1175
+
1176
+ def initialize(**args)
1177
+ update!(**args)
1178
+ end
1179
+
1180
+ # Update properties of this object
1181
+ def update!(**args)
1182
+ @channel_id = args[:channel_id] if args.key?(:channel_id)
1183
+ @custom_message = args[:custom_message] if args.key?(:custom_message)
1184
+ end
1185
+ end
1186
+
1104
1187
  # Details about the content of a channel.
1105
1188
  class ChannelContentDetails
1106
1189
  include Google::Apis::Core::Hashable
@@ -1894,6 +1977,32 @@ module Google
1894
1977
  end
1895
1978
  end
1896
1979
 
1980
+ # Information specific to a store on a merchandising platform linked to a
1981
+ # YouTube channel.
1982
+ class ChannelToStoreLinkDetails
1983
+ include Google::Apis::Core::Hashable
1984
+
1985
+ # Name of the store.
1986
+ # Corresponds to the JSON property `storeName`
1987
+ # @return [String]
1988
+ attr_accessor :store_name
1989
+
1990
+ # Landing page of the store.
1991
+ # Corresponds to the JSON property `storeUrl`
1992
+ # @return [String]
1993
+ attr_accessor :store_url
1994
+
1995
+ def initialize(**args)
1996
+ update!(**args)
1997
+ end
1998
+
1999
+ # Update properties of this object
2000
+ def update!(**args)
2001
+ @store_name = args[:store_name] if args.key?(:store_name)
2002
+ @store_url = args[:store_url] if args.key?(:store_url)
2003
+ end
2004
+ end
2005
+
1897
2006
  # Freebase topic information related to the channel.
1898
2007
  class ChannelTopicDetails
1899
2008
  include Google::Apis::Core::Hashable
@@ -2842,6 +2951,37 @@ module Google
2842
2951
  end
2843
2952
  end
2844
2953
 
2954
+ #
2955
+ class Entity
2956
+ include Google::Apis::Core::Hashable
2957
+
2958
+ #
2959
+ # Corresponds to the JSON property `id`
2960
+ # @return [String]
2961
+ attr_accessor :id
2962
+
2963
+ #
2964
+ # Corresponds to the JSON property `typeId`
2965
+ # @return [String]
2966
+ attr_accessor :type_id
2967
+
2968
+ #
2969
+ # Corresponds to the JSON property `url`
2970
+ # @return [String]
2971
+ attr_accessor :url
2972
+
2973
+ def initialize(**args)
2974
+ update!(**args)
2975
+ end
2976
+
2977
+ # Update properties of this object
2978
+ def update!(**args)
2979
+ @id = args[:id] if args.key?(:id)
2980
+ @type_id = args[:type_id] if args.key?(:type_id)
2981
+ @url = args[:url] if args.key?(:url)
2982
+ end
2983
+ end
2984
+
2845
2985
  # Geographical coordinates of a point, in WGS84.
2846
2986
  class GeoPoint
2847
2987
  include Google::Apis::Core::Hashable
@@ -3392,6 +3532,166 @@ module Google
3392
3532
  end
3393
3533
  end
3394
3534
 
3535
+ #
3536
+ class InfoCard
3537
+ include Google::Apis::Core::Hashable
3538
+
3539
+ # Etag of this resource.
3540
+ # Corresponds to the JSON property `etag`
3541
+ # @return [String]
3542
+ attr_accessor :etag
3543
+
3544
+ # UUID for this infocard.
3545
+ # Corresponds to the JSON property `id`
3546
+ # @return [String]
3547
+ attr_accessor :id
3548
+
3549
+ # Identifies what kind of resource this is.
3550
+ # Corresponds to the JSON property `kind`
3551
+ # @return [String]
3552
+ attr_accessor :kind
3553
+
3554
+ # The snippet object contains basic details about the infocard.
3555
+ # Corresponds to the JSON property `snippet`
3556
+ # @return [Google::Apis::YoutubeV3::InfoCardSnippet]
3557
+ attr_accessor :snippet
3558
+
3559
+ def initialize(**args)
3560
+ update!(**args)
3561
+ end
3562
+
3563
+ # Update properties of this object
3564
+ def update!(**args)
3565
+ @etag = args[:etag] if args.key?(:etag)
3566
+ @id = args[:id] if args.key?(:id)
3567
+ @kind = args[:kind] if args.key?(:kind)
3568
+ @snippet = args[:snippet] if args.key?(:snippet)
3569
+ end
3570
+ end
3571
+
3572
+ #
3573
+ class InfoCardSnippet
3574
+ include Google::Apis::Core::Hashable
3575
+
3576
+ #
3577
+ # Corresponds to the JSON property `channelInfocard`
3578
+ # @return [Google::Apis::YoutubeV3::ChannelCard]
3579
+ attr_accessor :channel_infocard
3580
+
3581
+ #
3582
+ # Corresponds to the JSON property `linkInfocard`
3583
+ # @return [Google::Apis::YoutubeV3::LinkCard]
3584
+ attr_accessor :link_infocard
3585
+
3586
+ #
3587
+ # Corresponds to the JSON property `playlistInfocard`
3588
+ # @return [Google::Apis::YoutubeV3::PlaylistCard]
3589
+ attr_accessor :playlist_infocard
3590
+
3591
+ # Each card can have a teaser.
3592
+ # Required.
3593
+ # Corresponds to the JSON property `teaser`
3594
+ # @return [Google::Apis::YoutubeV3::InfoCardSnippetTeaser]
3595
+ attr_accessor :teaser
3596
+
3597
+ #
3598
+ # Corresponds to the JSON property `videoInfocard`
3599
+ # @return [Google::Apis::YoutubeV3::VideoCard]
3600
+ attr_accessor :video_infocard
3601
+
3602
+ def initialize(**args)
3603
+ update!(**args)
3604
+ end
3605
+
3606
+ # Update properties of this object
3607
+ def update!(**args)
3608
+ @channel_infocard = args[:channel_infocard] if args.key?(:channel_infocard)
3609
+ @link_infocard = args[:link_infocard] if args.key?(:link_infocard)
3610
+ @playlist_infocard = args[:playlist_infocard] if args.key?(:playlist_infocard)
3611
+ @teaser = args[:teaser] if args.key?(:teaser)
3612
+ @video_infocard = args[:video_infocard] if args.key?(:video_infocard)
3613
+ end
3614
+ end
3615
+
3616
+ #
3617
+ class InfoCardSnippetTeaser
3618
+ include Google::Apis::Core::Hashable
3619
+
3620
+ # The offset from the video start at which the teaser should be displayed
3621
+ # (activated), in milliseconds.
3622
+ # Required.
3623
+ # Corresponds to the JSON property `teaserStartOffset`
3624
+ # @return [String]
3625
+ attr_accessor :teaser_start_offset
3626
+
3627
+ # The teaser text to show at the top of the player for the info-card.
3628
+ # Required for channel and link type cards.
3629
+ # Optional for video and playlist type cards.
3630
+ # Corresponds to the JSON property `teaserText`
3631
+ # @return [String]
3632
+ attr_accessor :teaser_text
3633
+
3634
+ def initialize(**args)
3635
+ update!(**args)
3636
+ end
3637
+
3638
+ # Update properties of this object
3639
+ def update!(**args)
3640
+ @teaser_start_offset = args[:teaser_start_offset] if args.key?(:teaser_start_offset)
3641
+ @teaser_text = args[:teaser_text] if args.key?(:teaser_text)
3642
+ end
3643
+ end
3644
+
3645
+ #
3646
+ class InfoCards
3647
+ include Google::Apis::Core::Hashable
3648
+
3649
+ # A list of infocards.
3650
+ # Corresponds to the JSON property `items`
3651
+ # @return [Array<Google::Apis::YoutubeV3::InfoCard>]
3652
+ attr_accessor :items
3653
+
3654
+ def initialize(**args)
3655
+ update!(**args)
3656
+ end
3657
+
3658
+ # Update properties of this object
3659
+ def update!(**args)
3660
+ @items = args[:items] if args.key?(:items)
3661
+ end
3662
+ end
3663
+
3664
+ #
3665
+ class InfocardListResponse
3666
+ include Google::Apis::Core::Hashable
3667
+
3668
+ # Etag of this resource.
3669
+ # Corresponds to the JSON property `etag`
3670
+ # @return [String]
3671
+ attr_accessor :etag
3672
+
3673
+ # A list of infocards.
3674
+ # Corresponds to the JSON property `items`
3675
+ # @return [Array<Google::Apis::YoutubeV3::InfoCard>]
3676
+ attr_accessor :items
3677
+
3678
+ # Identifies what kind of resource this is.
3679
+ # Corresponds to the JSON property `kind`
3680
+ # @return [String]
3681
+ attr_accessor :kind
3682
+
3683
+ def initialize(**args)
3684
+ update!(**args)
3685
+ end
3686
+
3687
+ # Update properties of this object
3688
+ def update!(**args)
3689
+ @etag = args[:etag] if args.key?(:etag)
3690
+ @items = args[:items] if args.key?(:items)
3691
+ @kind = args[:kind] if args.key?(:kind)
3692
+ end
3693
+ end
3694
+
3395
3695
  # Describes information necessary for ingesting an RTMP or an HTTP stream.
3396
3696
  class IngestionInfo
3397
3697
  include Google::Apis::Core::Hashable
@@ -3639,6 +3939,77 @@ module Google
3639
3939
  end
3640
3940
  end
3641
3941
 
3942
+ #
3943
+ class LinkCard
3944
+ include Google::Apis::Core::Hashable
3945
+
3946
+ # Custom text to show as the website link.
3947
+ # Required.
3948
+ # Corresponds to the JSON property `customLinkText`
3949
+ # @return [String]
3950
+ attr_accessor :custom_link_text
3951
+
3952
+ # URL to an externally hosted image.
3953
+ # Corresponds to the JSON property `externalImageUrl`
3954
+ # @return [String]
3955
+ attr_accessor :external_image_url
3956
+
3957
+ # The URL to which this card points.
3958
+ # Required.
3959
+ # Corresponds to the JSON property `targetUrl`
3960
+ # @return [String]
3961
+ attr_accessor :target_url
3962
+
3963
+ # The title to show on the card.
3964
+ # Required.
3965
+ # Corresponds to the JSON property `title`
3966
+ # @return [String]
3967
+ attr_accessor :title
3968
+
3969
+ # Previously uploaded image.
3970
+ # Corresponds to the JSON property `uploadedImage`
3971
+ # @return [Google::Apis::YoutubeV3::LinkCardUploadedImage]
3972
+ attr_accessor :uploaded_image
3973
+
3974
+ def initialize(**args)
3975
+ update!(**args)
3976
+ end
3977
+
3978
+ # Update properties of this object
3979
+ def update!(**args)
3980
+ @custom_link_text = args[:custom_link_text] if args.key?(:custom_link_text)
3981
+ @external_image_url = args[:external_image_url] if args.key?(:external_image_url)
3982
+ @target_url = args[:target_url] if args.key?(:target_url)
3983
+ @title = args[:title] if args.key?(:title)
3984
+ @uploaded_image = args[:uploaded_image] if args.key?(:uploaded_image)
3985
+ end
3986
+ end
3987
+
3988
+ #
3989
+ class LinkCardUploadedImage
3990
+ include Google::Apis::Core::Hashable
3991
+
3992
+ # Image reference on the thumbnail service.
3993
+ # Corresponds to the JSON property `imageFile`
3994
+ # @return [String]
3995
+ attr_accessor :image_file
3996
+
3997
+ # The version in the thumbnail service.
3998
+ # Corresponds to the JSON property `version`
3999
+ # @return [Fixnum]
4000
+ attr_accessor :version
4001
+
4002
+ def initialize(**args)
4003
+ update!(**args)
4004
+ end
4005
+
4006
+ # Update properties of this object
4007
+ def update!(**args)
4008
+ @image_file = args[:image_file] if args.key?(:image_file)
4009
+ @version = args[:version] if args.key?(:version)
4010
+ end
4011
+ end
4012
+
3642
4013
  # A <code><strong>liveBroadcast</strong></code> resource represents an event
3643
4014
  # that will be streamed, via live video, on YouTube.
3644
4015
  class LiveBroadcast
@@ -5729,6 +6100,40 @@ module Google
5729
6100
  end
5730
6101
  end
5731
6102
 
6103
+ #
6104
+ class PlaylistCard
6105
+ include Google::Apis::Core::Hashable
6106
+
6107
+ # Each card can have a custom message.
6108
+ # Optional.
6109
+ # Corresponds to the JSON property `customMessage`
6110
+ # @return [String]
6111
+ attr_accessor :custom_message
6112
+
6113
+ # External playlist ID.
6114
+ # Required.
6115
+ # Corresponds to the JSON property `playlistId`
6116
+ # @return [String]
6117
+ attr_accessor :playlist_id
6118
+
6119
+ # Starting video, if not the first.
6120
+ # Optional.
6121
+ # Corresponds to the JSON property `startVideoId`
6122
+ # @return [String]
6123
+ attr_accessor :start_video_id
6124
+
6125
+ def initialize(**args)
6126
+ update!(**args)
6127
+ end
6128
+
6129
+ # Update properties of this object
6130
+ def update!(**args)
6131
+ @custom_message = args[:custom_message] if args.key?(:custom_message)
6132
+ @playlist_id = args[:playlist_id] if args.key?(:playlist_id)
6133
+ @start_video_id = args[:start_video_id] if args.key?(:start_video_id)
6134
+ end
6135
+ end
6136
+
5732
6137
  #
5733
6138
  class PlaylistContentDetails
5734
6139
  include Google::Apis::Core::Hashable
@@ -6365,6 +6770,25 @@ module Google
6365
6770
  end
6366
6771
  end
6367
6772
 
6773
+ #
6774
+ class RelatedEntity
6775
+ include Google::Apis::Core::Hashable
6776
+
6777
+ #
6778
+ # Corresponds to the JSON property `entity`
6779
+ # @return [Google::Apis::YoutubeV3::Entity]
6780
+ attr_accessor :entity
6781
+
6782
+ def initialize(**args)
6783
+ update!(**args)
6784
+ end
6785
+
6786
+ # Update properties of this object
6787
+ def update!(**args)
6788
+ @entity = args[:entity] if args.key?(:entity)
6789
+ end
6790
+ end
6791
+
6368
6792
  # A resource id is a generic reference that points to another YouTube resource.
6369
6793
  class ResourceId
6370
6794
  include Google::Apis::Core::Hashable
@@ -7238,6 +7662,102 @@ module Google
7238
7662
  end
7239
7663
  end
7240
7664
 
7665
+ # A <code><strong>third party account link</strong></code> resource represents
7666
+ # a link between a YouTube account or a channel and an account on a
7667
+ # third-party service.
7668
+ class ThirdPartyLink
7669
+ include Google::Apis::Core::Hashable
7670
+
7671
+ # Etag of this resource
7672
+ # Corresponds to the JSON property `etag`
7673
+ # @return [String]
7674
+ attr_accessor :etag
7675
+
7676
+ # Identifies what kind of resource this is. Value: the fixed string
7677
+ # <code>"youtube#thirdPartyLink"</code>.
7678
+ # Corresponds to the JSON property `kind`
7679
+ # @return [String]
7680
+ attr_accessor :kind
7681
+
7682
+ # The <code>linking_token</code> identifies a YouTube account and
7683
+ # channel with which the third party account is linked.
7684
+ # Corresponds to the JSON property `linkingToken`
7685
+ # @return [String]
7686
+ attr_accessor :linking_token
7687
+
7688
+ # Basic information about a third party account link, including its type and
7689
+ # type-specific information.
7690
+ # Corresponds to the JSON property `snippet`
7691
+ # @return [Google::Apis::YoutubeV3::ThirdPartyLinkSnippet]
7692
+ attr_accessor :snippet
7693
+
7694
+ # The <code>third-party link status</code> object contains information about
7695
+ # the status of the link.
7696
+ # Corresponds to the JSON property `status`
7697
+ # @return [Google::Apis::YoutubeV3::ThirdPartyLinkStatus]
7698
+ attr_accessor :status
7699
+
7700
+ def initialize(**args)
7701
+ update!(**args)
7702
+ end
7703
+
7704
+ # Update properties of this object
7705
+ def update!(**args)
7706
+ @etag = args[:etag] if args.key?(:etag)
7707
+ @kind = args[:kind] if args.key?(:kind)
7708
+ @linking_token = args[:linking_token] if args.key?(:linking_token)
7709
+ @snippet = args[:snippet] if args.key?(:snippet)
7710
+ @status = args[:status] if args.key?(:status)
7711
+ end
7712
+ end
7713
+
7714
+ # Basic information about a third party account link, including its type and
7715
+ # type-specific information.
7716
+ class ThirdPartyLinkSnippet
7717
+ include Google::Apis::Core::Hashable
7718
+
7719
+ # Information specific to a store on a merchandising platform linked to a
7720
+ # YouTube channel.
7721
+ # Corresponds to the JSON property `channelToStoreLink`
7722
+ # @return [Google::Apis::YoutubeV3::ChannelToStoreLinkDetails]
7723
+ attr_accessor :channel_to_store_link
7724
+
7725
+ # Type of the link named after the entities that are being linked.
7726
+ # Corresponds to the JSON property `type`
7727
+ # @return [String]
7728
+ attr_accessor :type
7729
+
7730
+ def initialize(**args)
7731
+ update!(**args)
7732
+ end
7733
+
7734
+ # Update properties of this object
7735
+ def update!(**args)
7736
+ @channel_to_store_link = args[:channel_to_store_link] if args.key?(:channel_to_store_link)
7737
+ @type = args[:type] if args.key?(:type)
7738
+ end
7739
+ end
7740
+
7741
+ # The <code>third-party link status</code> object contains information about
7742
+ # the status of the link.
7743
+ class ThirdPartyLinkStatus
7744
+ include Google::Apis::Core::Hashable
7745
+
7746
+ #
7747
+ # Corresponds to the JSON property `linkStatus`
7748
+ # @return [String]
7749
+ attr_accessor :link_status
7750
+
7751
+ def initialize(**args)
7752
+ update!(**args)
7753
+ end
7754
+
7755
+ # Update properties of this object
7756
+ def update!(**args)
7757
+ @link_status = args[:link_status] if args.key?(:link_status)
7758
+ end
7759
+ end
7760
+
7241
7761
  # A thumbnail is an image representing a YouTube resource.
7242
7762
  class Thumbnail
7243
7763
  include Google::Apis::Core::Hashable
@@ -7719,6 +8239,40 @@ module Google
7719
8239
  end
7720
8240
  end
7721
8241
 
8242
+ #
8243
+ class VideoCard
8244
+ include Google::Apis::Core::Hashable
8245
+
8246
+ # Each card can have a custom message.
8247
+ # Optional.
8248
+ # Corresponds to the JSON property `customMessage`
8249
+ # @return [String]
8250
+ attr_accessor :custom_message
8251
+
8252
+ # Playback start time offset in milliseconds.
8253
+ # Optional.
8254
+ # Corresponds to the JSON property `playbackStartOffset`
8255
+ # @return [String]
8256
+ attr_accessor :playback_start_offset
8257
+
8258
+ # Encrypted Video ID.
8259
+ # Required.
8260
+ # Corresponds to the JSON property `videoId`
8261
+ # @return [String]
8262
+ attr_accessor :video_id
8263
+
8264
+ def initialize(**args)
8265
+ update!(**args)
8266
+ end
8267
+
8268
+ # Update properties of this object
8269
+ def update!(**args)
8270
+ @custom_message = args[:custom_message] if args.key?(:custom_message)
8271
+ @playback_start_offset = args[:playback_start_offset] if args.key?(:playback_start_offset)
8272
+ @video_id = args[:video_id] if args.key?(:video_id)
8273
+ end
8274
+ end
8275
+
7722
8276
  # A <code><strong>videoCategory</strong></code> resource identifies a
7723
8277
  # category that has been or could be associated with uploaded videos.
7724
8278
  class VideoCategory