@@ -697,6 +697,109 @@ def update!(**args)
697697 end
698698 end
699699
700+ # Common proto for Live and VOD geo-restrictions
701+ class AvailabilityConfig
702+ include Google ::Apis ::Core ::Hashable
703+
704+ # Video is available in all regions except the ones specified in the
705+ # excluded_region_codes list.
706+ # Corresponds to the JSON property `globalConfig`
707+ # @return [Google::Apis::YoutubeV3::AvailabilityConfigGlobalConfig]
708+ attr_accessor :global_config
709+
710+ # Video is available in the specified regions only.
711+ # Corresponds to the JSON property `regionsConfig`
712+ # @return [Google::Apis::YoutubeV3::AvailabilityConfigRegionsConfig]
713+ attr_accessor :regions_config
714+
715+ def initialize ( **args )
716+ update! ( **args )
717+ end
718+
719+ # Update properties of this object
720+ def update! ( **args )
721+ @global_config = args [ :global_config ] if args . key? ( :global_config )
722+ @regions_config = args [ :regions_config ] if args . key? ( :regions_config )
723+ end
724+ end
725+
726+ # Video is available in all regions except the ones specified in the
727+ # excluded_region_codes list.
728+ class AvailabilityConfigGlobalConfig
729+ include Google ::Apis ::Core ::Hashable
730+
731+ # Optional. Regions where video is blocked
732+ # Corresponds to the JSON property `excludedRegionCodes`
733+ # @return [Array<String>]
734+ attr_accessor :excluded_region_codes
735+
736+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
737+ # Timestamp end (exclusive). The start must be less than or equal to the end.
738+ # When the start equals the end, the interval is empty (matches no time). When
739+ # both start and end are unspecified, the interval matches any time.
740+ # Corresponds to the JSON property `interval`
741+ # @return [Google::Apis::YoutubeV3::Interval]
742+ attr_accessor :interval
743+
744+ def initialize ( **args )
745+ update! ( **args )
746+ end
747+
748+ # Update properties of this object
749+ def update! ( **args )
750+ @excluded_region_codes = args [ :excluded_region_codes ] if args . key? ( :excluded_region_codes )
751+ @interval = args [ :interval ] if args . key? ( :interval )
752+ end
753+ end
754+
755+ # Video is available in the specified regions only.
756+ class AvailabilityConfigRegionsConfig
757+ include Google ::Apis ::Core ::Hashable
758+
759+ # Required. List of regions and time windows where video is available. If a
760+ # region is specified multiple times, the union of all intervals is used.
761+ # Corresponds to the JSON property `regionIntervals`
762+ # @return [Array<Google::Apis::YoutubeV3::AvailabilityConfigRegionsConfigRegionInterval>]
763+ attr_accessor :region_intervals
764+
765+ def initialize ( **args )
766+ update! ( **args )
767+ end
768+
769+ # Update properties of this object
770+ def update! ( **args )
771+ @region_intervals = args [ :region_intervals ] if args . key? ( :region_intervals )
772+ end
773+ end
774+
775+ # Region and time window where video is available for the region.
776+ class AvailabilityConfigRegionsConfigRegionInterval
777+ include Google ::Apis ::Core ::Hashable
778+
779+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
780+ # Timestamp end (exclusive). The start must be less than or equal to the end.
781+ # When the start equals the end, the interval is empty (matches no time). When
782+ # both start and end are unspecified, the interval matches any time.
783+ # Corresponds to the JSON property `interval`
784+ # @return [Google::Apis::YoutubeV3::Interval]
785+ attr_accessor :interval
786+
787+ # Required. Region where video is available
788+ # Corresponds to the JSON property `regionCode`
789+ # @return [String]
790+ attr_accessor :region_code
791+
792+ def initialize ( **args )
793+ update! ( **args )
794+ end
795+
796+ # Update properties of this object
797+ def update! ( **args )
798+ @interval = args [ :interval ] if args . key? ( :interval )
799+ @region_code = args [ :region_code ] if args . key? ( :region_code )
800+ end
801+ end
802+
700803 # Response for the Videos.stats API. Returns VideoStat information about a batch
701804 # of videos. VideoStat contains a subset of the information in Video that is
702805 # relevant to statistics and content details. BatchGetStats is intentionally not
@@ -3609,6 +3712,36 @@ def update!(**args)
36093712 end
36103713 end
36113714
3715+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
3716+ # Timestamp end (exclusive). The start must be less than or equal to the end.
3717+ # When the start equals the end, the interval is empty (matches no time). When
3718+ # both start and end are unspecified, the interval matches any time.
3719+ class Interval
3720+ include Google ::Apis ::Core ::Hashable
3721+
3722+ # Optional. Exclusive end of the interval. If specified, a Timestamp matching
3723+ # this interval will have to be before the end.
3724+ # Corresponds to the JSON property `endTime`
3725+ # @return [String]
3726+ attr_accessor :end_time
3727+
3728+ # Optional. Inclusive start of the interval. If specified, a Timestamp matching
3729+ # this interval will have to be the same or after the start.
3730+ # Corresponds to the JSON property `startTime`
3731+ # @return [String]
3732+ attr_accessor :start_time
3733+
3734+ def initialize ( **args )
3735+ update! ( **args )
3736+ end
3737+
3738+ # Update properties of this object
3739+ def update! ( **args )
3740+ @end_time = args [ :end_time ] if args . key? ( :end_time )
3741+ @start_time = args [ :start_time ] if args . key? ( :start_time )
3742+ end
3743+ end
3744+
36123745 # Describes an invideo branding.
36133746 class InvideoBranding
36143747 include Google ::Apis ::Core ::Hashable
@@ -3824,6 +3957,11 @@ def update!(**args)
38243957 class LiveBroadcastContentDetails
38253958 include Google ::Apis ::Core ::Hashable
38263959
3960+ # Common proto for Live and VOD geo-restrictions
3961+ # Corresponds to the JSON property `availabilityConfig`
3962+ # @return [Google::Apis::YoutubeV3::AvailabilityConfig]
3963+ attr_accessor :availability_config
3964+
38273965 # This value uniquely identifies the live stream bound to the broadcast.
38283966 # Corresponds to the JSON property `boundStreamId`
38293967 # @return [String]
@@ -3958,6 +4096,7 @@ def initialize(**args)
39584096
39594097 # Update properties of this object
39604098 def update! ( **args )
4099+ @availability_config = args [ :availability_config ] if args . key? ( :availability_config )
39614100 @bound_stream_id = args [ :bound_stream_id ] if args . key? ( :bound_stream_id )
39624101 @bound_stream_last_update_time_ms = args [ :bound_stream_last_update_time_ms ] if args . key? ( :bound_stream_last_update_time_ms )
39634102 @closed_captions_type = args [ :closed_captions_type ] if args . key? ( :closed_captions_type )
0 commit comments