# Copyright 2015 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

require 'date'
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'

module Google
  module Apis
    module DisplayvideoV1
      
      class ActiveViewVideoViewabilityMetricConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Adloox
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Advertiser
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdvertiserAdServerConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdvertiserCreativeConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdvertiserDataAccessConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdvertiserGeneralConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdvertiserSdfConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AgeRangeAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AgeRangeTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AppAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AppCategoryAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AppCategoryTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Asset
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AssetAssociation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AssignedTargetingOption
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AudienceGroupAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AudioVideoOffset
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AuthorizedSellerStatusAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AuthorizedSellerStatusTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BiddingStrategy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BrowserAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BrowserTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BulkEditLineItemAssignedTargetingOptionsRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BulkEditLineItemAssignedTargetingOptionsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BulkListLineItemAssignedTargetingOptionsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Campaign
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CampaignFlight
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CampaignGoal
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CarrierAndIspAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CarrierAndIspTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CategoryAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CategoryTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Channel
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ChannelAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CmHybridConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CmTrackingAd
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CombinedAudience
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CombinedAudienceGroup
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CombinedAudienceTargetingSetting
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ContentInstreamPositionAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ContentInstreamPositionTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ContentOutstreamPositionAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ContentOutstreamPositionTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ConversionCountingConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CounterEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CreateAssetRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CreateAssetResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CreateAssignedTargetingOptionsRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CreateSdfDownloadTaskRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Creative
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CreativeConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomList
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomListGroup
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomListTargetingSetting
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Date
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DateRange
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DayAndTimeAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeleteAssignedTargetingOptionsRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeviceMakeModelAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeviceMakeModelTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeviceTypeAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeviceTypeTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DigitalContentLabelAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DigitalContentLabelTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Dimensions
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DoubleVerify
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DoubleVerifyAppStarRating
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DoubleVerifyBrandSafetyCategories
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DoubleVerifyDisplayViewability
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DoubleVerifyFraudInvalidTraffic
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DoubleVerifyVideoViewability
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Empty
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class EnvironmentAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class EnvironmentTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ExchangeAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ExchangeReviewStatus
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ExchangeTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ExitEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class FirstAndThirdPartyAudience
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class FirstAndThirdPartyAudienceGroup
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class FirstAndThirdPartyAudienceTargetingSetting
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class FixedBidStrategy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class FloodlightGroup
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class FrequencyCap
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GenderAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GenderTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GeoRegionAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GeoRegionTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleAudience
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleAudienceGroup
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleAudienceTargetingSetting
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleBytestreamMedia
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class HouseholdIncomeAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class HouseholdIncomeTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class IdFilter
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class InsertionOrder
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class InsertionOrderBudget
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class InsertionOrderBudgetSegment
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class IntegralAdScience
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class IntegrationDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class InventorySource
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class InventorySourceAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class InventorySourceDisplayCreativeConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class InventorySourceFilter
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class InventorySourceGroup
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class InventorySourceGroupAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class InventorySourceStatus
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class InventorySourceVideoCreativeConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class KeywordAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class LanguageAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class LanguageTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class LineItem
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class LineItemBudget
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class LineItemFlight
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListAdvertisersResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListCampaignsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListChannelsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListCombinedAudiencesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListCreativesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListCustomListsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListFirstAndThirdPartyAudiencesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListGoogleAudiencesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListInsertionOrdersResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListInventorySourceGroupsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListInventorySourcesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListLineItemAssignedTargetingOptionsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListLineItemsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListLocationListsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListNegativeKeywordListsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListTargetingOptionsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class LocationList
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class LookbackWindow
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class MaximizeSpendBidStrategy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Money
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class NegativeKeywordList
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class NegativeKeywordListAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ObaIcon
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class OnScreenPositionAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class OnScreenPositionTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class OperatingSystemAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class OperatingSystemTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Operation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Pacing
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ParentEntityFilter
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ParentalStatusAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ParentalStatusTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PartnerCost
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PartnerRevenueModel
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PerformanceGoal
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PerformanceGoalBidStrategy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ProximityLocationListAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PublisherReviewStatus
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RateDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RegionalLocationListAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ReviewStatusInfo
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SdfConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SdfDownloadTask
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SdfDownloadTaskMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SensitiveCategoryAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SensitiveCategoryTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Status
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SubExchangeAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SubExchangeTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TargetingOption
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ThirdPartyOnlyConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ThirdPartyUrl
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ThirdPartyVerifierAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TimeRange
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TimerEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TrackingFloodlightActivityConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Transcode
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class UniversalAdId
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class UrlAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class UserRewardedContentAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class UserRewardedContentTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class VideoPlayerSizeAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class VideoPlayerSizeTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ViewabilityAssignedTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ViewabilityTargetingOptionDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ActiveViewVideoViewabilityMetricConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :minimum_duration, as: 'minimumDuration'
          property :minimum_quartile, as: 'minimumQuartile'
          property :minimum_viewability, as: 'minimumViewability'
          property :minimum_volume, as: 'minimumVolume'
        end
      end
      
      class Adloox
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :excluded_adloox_categories, as: 'excludedAdlooxCategories'
        end
      end
      
      class Advertiser
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :ad_server_config, as: 'adServerConfig', class: Google::Apis::DisplayvideoV1::AdvertiserAdServerConfig, decorator: Google::Apis::DisplayvideoV1::AdvertiserAdServerConfig::Representation
      
          property :advertiser_id, :numeric_string => true, as: 'advertiserId'
          property :creative_config, as: 'creativeConfig', class: Google::Apis::DisplayvideoV1::AdvertiserCreativeConfig, decorator: Google::Apis::DisplayvideoV1::AdvertiserCreativeConfig::Representation
      
          property :data_access_config, as: 'dataAccessConfig', class: Google::Apis::DisplayvideoV1::AdvertiserDataAccessConfig, decorator: Google::Apis::DisplayvideoV1::AdvertiserDataAccessConfig::Representation
      
          property :display_name, as: 'displayName'
          property :entity_status, as: 'entityStatus'
          property :general_config, as: 'generalConfig', class: Google::Apis::DisplayvideoV1::AdvertiserGeneralConfig, decorator: Google::Apis::DisplayvideoV1::AdvertiserGeneralConfig::Representation
      
          property :integration_details, as: 'integrationDetails', class: Google::Apis::DisplayvideoV1::IntegrationDetails, decorator: Google::Apis::DisplayvideoV1::IntegrationDetails::Representation
      
          property :name, as: 'name'
          property :partner_id, :numeric_string => true, as: 'partnerId'
          property :update_time, as: 'updateTime'
        end
      end
      
      class AdvertiserAdServerConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :cm_hybrid_config, as: 'cmHybridConfig', class: Google::Apis::DisplayvideoV1::CmHybridConfig, decorator: Google::Apis::DisplayvideoV1::CmHybridConfig::Representation
      
          property :third_party_only_config, as: 'thirdPartyOnlyConfig', class: Google::Apis::DisplayvideoV1::ThirdPartyOnlyConfig, decorator: Google::Apis::DisplayvideoV1::ThirdPartyOnlyConfig::Representation
      
        end
      end
      
      class AdvertiserCreativeConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :dynamic_creative_enabled, as: 'dynamicCreativeEnabled'
          property :ias_client_id, :numeric_string => true, as: 'iasClientId'
          property :oba_compliance_disabled, as: 'obaComplianceDisabled'
          property :video_creative_data_sharing_authorized, as: 'videoCreativeDataSharingAuthorized'
        end
      end
      
      class AdvertiserDataAccessConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :sdf_config, as: 'sdfConfig', class: Google::Apis::DisplayvideoV1::AdvertiserSdfConfig, decorator: Google::Apis::DisplayvideoV1::AdvertiserSdfConfig::Representation
      
        end
      end
      
      class AdvertiserGeneralConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :currency_code, as: 'currencyCode'
          property :domain_url, as: 'domainUrl'
          property :time_zone, as: 'timeZone'
        end
      end
      
      class AdvertiserSdfConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :override_partner_sdf_config, as: 'overridePartnerSdfConfig'
          property :sdf_config, as: 'sdfConfig', class: Google::Apis::DisplayvideoV1::SdfConfig, decorator: Google::Apis::DisplayvideoV1::SdfConfig::Representation
      
        end
      end
      
      class AgeRangeAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :age_range, as: 'ageRange'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class AgeRangeTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :age_range, as: 'ageRange'
        end
      end
      
      class AppAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :app_id, as: 'appId'
          property :display_name, as: 'displayName'
          property :negative, as: 'negative'
        end
      end
      
      class AppCategoryAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :negative, as: 'negative'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class AppCategoryTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
        end
      end
      
      class Asset
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :content, as: 'content'
          property :media_id, :numeric_string => true, as: 'mediaId'
        end
      end
      
      class AssetAssociation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :asset, as: 'asset', class: Google::Apis::DisplayvideoV1::Asset, decorator: Google::Apis::DisplayvideoV1::Asset::Representation
      
          property :role, as: 'role'
        end
      end
      
      class AssignedTargetingOption
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :age_range_details, as: 'ageRangeDetails', class: Google::Apis::DisplayvideoV1::AgeRangeAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::AgeRangeAssignedTargetingOptionDetails::Representation
      
          property :app_category_details, as: 'appCategoryDetails', class: Google::Apis::DisplayvideoV1::AppCategoryAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::AppCategoryAssignedTargetingOptionDetails::Representation
      
          property :app_details, as: 'appDetails', class: Google::Apis::DisplayvideoV1::AppAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::AppAssignedTargetingOptionDetails::Representation
      
          property :assigned_targeting_option_id, as: 'assignedTargetingOptionId'
          property :audience_group_details, as: 'audienceGroupDetails', class: Google::Apis::DisplayvideoV1::AudienceGroupAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::AudienceGroupAssignedTargetingOptionDetails::Representation
      
          property :authorized_seller_status_details, as: 'authorizedSellerStatusDetails', class: Google::Apis::DisplayvideoV1::AuthorizedSellerStatusAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::AuthorizedSellerStatusAssignedTargetingOptionDetails::Representation
      
          property :browser_details, as: 'browserDetails', class: Google::Apis::DisplayvideoV1::BrowserAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::BrowserAssignedTargetingOptionDetails::Representation
      
          property :carrier_and_isp_details, as: 'carrierAndIspDetails', class: Google::Apis::DisplayvideoV1::CarrierAndIspAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::CarrierAndIspAssignedTargetingOptionDetails::Representation
      
          property :category_details, as: 'categoryDetails', class: Google::Apis::DisplayvideoV1::CategoryAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::CategoryAssignedTargetingOptionDetails::Representation
      
          property :channel_details, as: 'channelDetails', class: Google::Apis::DisplayvideoV1::ChannelAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ChannelAssignedTargetingOptionDetails::Representation
      
          property :content_instream_position_details, as: 'contentInstreamPositionDetails', class: Google::Apis::DisplayvideoV1::ContentInstreamPositionAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ContentInstreamPositionAssignedTargetingOptionDetails::Representation
      
          property :content_outstream_position_details, as: 'contentOutstreamPositionDetails', class: Google::Apis::DisplayvideoV1::ContentOutstreamPositionAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ContentOutstreamPositionAssignedTargetingOptionDetails::Representation
      
          property :day_and_time_details, as: 'dayAndTimeDetails', class: Google::Apis::DisplayvideoV1::DayAndTimeAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::DayAndTimeAssignedTargetingOptionDetails::Representation
      
          property :device_make_model_details, as: 'deviceMakeModelDetails', class: Google::Apis::DisplayvideoV1::DeviceMakeModelAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::DeviceMakeModelAssignedTargetingOptionDetails::Representation
      
          property :device_type_details, as: 'deviceTypeDetails', class: Google::Apis::DisplayvideoV1::DeviceTypeAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::DeviceTypeAssignedTargetingOptionDetails::Representation
      
          property :digital_content_label_exclusion_details, as: 'digitalContentLabelExclusionDetails', class: Google::Apis::DisplayvideoV1::DigitalContentLabelAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::DigitalContentLabelAssignedTargetingOptionDetails::Representation
      
          property :environment_details, as: 'environmentDetails', class: Google::Apis::DisplayvideoV1::EnvironmentAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::EnvironmentAssignedTargetingOptionDetails::Representation
      
          property :exchange_details, as: 'exchangeDetails', class: Google::Apis::DisplayvideoV1::ExchangeAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ExchangeAssignedTargetingOptionDetails::Representation
      
          property :gender_details, as: 'genderDetails', class: Google::Apis::DisplayvideoV1::GenderAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::GenderAssignedTargetingOptionDetails::Representation
      
          property :geo_region_details, as: 'geoRegionDetails', class: Google::Apis::DisplayvideoV1::GeoRegionAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::GeoRegionAssignedTargetingOptionDetails::Representation
      
          property :household_income_details, as: 'householdIncomeDetails', class: Google::Apis::DisplayvideoV1::HouseholdIncomeAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::HouseholdIncomeAssignedTargetingOptionDetails::Representation
      
          property :inheritance, as: 'inheritance'
          property :inventory_source_details, as: 'inventorySourceDetails', class: Google::Apis::DisplayvideoV1::InventorySourceAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::InventorySourceAssignedTargetingOptionDetails::Representation
      
          property :inventory_source_group_details, as: 'inventorySourceGroupDetails', class: Google::Apis::DisplayvideoV1::InventorySourceGroupAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::InventorySourceGroupAssignedTargetingOptionDetails::Representation
      
          property :keyword_details, as: 'keywordDetails', class: Google::Apis::DisplayvideoV1::KeywordAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::KeywordAssignedTargetingOptionDetails::Representation
      
          property :language_details, as: 'languageDetails', class: Google::Apis::DisplayvideoV1::LanguageAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::LanguageAssignedTargetingOptionDetails::Representation
      
          property :name, as: 'name'
          property :negative_keyword_list_details, as: 'negativeKeywordListDetails', class: Google::Apis::DisplayvideoV1::NegativeKeywordListAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::NegativeKeywordListAssignedTargetingOptionDetails::Representation
      
          property :on_screen_position_details, as: 'onScreenPositionDetails', class: Google::Apis::DisplayvideoV1::OnScreenPositionAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::OnScreenPositionAssignedTargetingOptionDetails::Representation
      
          property :operating_system_details, as: 'operatingSystemDetails', class: Google::Apis::DisplayvideoV1::OperatingSystemAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::OperatingSystemAssignedTargetingOptionDetails::Representation
      
          property :parental_status_details, as: 'parentalStatusDetails', class: Google::Apis::DisplayvideoV1::ParentalStatusAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ParentalStatusAssignedTargetingOptionDetails::Representation
      
          property :proximity_location_list_details, as: 'proximityLocationListDetails', class: Google::Apis::DisplayvideoV1::ProximityLocationListAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ProximityLocationListAssignedTargetingOptionDetails::Representation
      
          property :regional_location_list_details, as: 'regionalLocationListDetails', class: Google::Apis::DisplayvideoV1::RegionalLocationListAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::RegionalLocationListAssignedTargetingOptionDetails::Representation
      
          property :sensitive_category_exclusion_details, as: 'sensitiveCategoryExclusionDetails', class: Google::Apis::DisplayvideoV1::SensitiveCategoryAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::SensitiveCategoryAssignedTargetingOptionDetails::Representation
      
          property :sub_exchange_details, as: 'subExchangeDetails', class: Google::Apis::DisplayvideoV1::SubExchangeAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::SubExchangeAssignedTargetingOptionDetails::Representation
      
          property :targeting_type, as: 'targetingType'
          property :third_party_verifier_details, as: 'thirdPartyVerifierDetails', class: Google::Apis::DisplayvideoV1::ThirdPartyVerifierAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ThirdPartyVerifierAssignedTargetingOptionDetails::Representation
      
          property :url_details, as: 'urlDetails', class: Google::Apis::DisplayvideoV1::UrlAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::UrlAssignedTargetingOptionDetails::Representation
      
          property :user_rewarded_content_details, as: 'userRewardedContentDetails', class: Google::Apis::DisplayvideoV1::UserRewardedContentAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::UserRewardedContentAssignedTargetingOptionDetails::Representation
      
          property :video_player_size_details, as: 'videoPlayerSizeDetails', class: Google::Apis::DisplayvideoV1::VideoPlayerSizeAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::VideoPlayerSizeAssignedTargetingOptionDetails::Representation
      
          property :viewability_details, as: 'viewabilityDetails', class: Google::Apis::DisplayvideoV1::ViewabilityAssignedTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ViewabilityAssignedTargetingOptionDetails::Representation
      
        end
      end
      
      class AudienceGroupAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :excluded_first_and_third_party_audience_group, as: 'excludedFirstAndThirdPartyAudienceGroup', class: Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudienceGroup, decorator: Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudienceGroup::Representation
      
          property :excluded_google_audience_group, as: 'excludedGoogleAudienceGroup', class: Google::Apis::DisplayvideoV1::GoogleAudienceGroup, decorator: Google::Apis::DisplayvideoV1::GoogleAudienceGroup::Representation
      
          property :included_combined_audience_group, as: 'includedCombinedAudienceGroup', class: Google::Apis::DisplayvideoV1::CombinedAudienceGroup, decorator: Google::Apis::DisplayvideoV1::CombinedAudienceGroup::Representation
      
          property :included_custom_list_group, as: 'includedCustomListGroup', class: Google::Apis::DisplayvideoV1::CustomListGroup, decorator: Google::Apis::DisplayvideoV1::CustomListGroup::Representation
      
          collection :included_first_and_third_party_audience_groups, as: 'includedFirstAndThirdPartyAudienceGroups', class: Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudienceGroup, decorator: Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudienceGroup::Representation
      
          property :included_google_audience_group, as: 'includedGoogleAudienceGroup', class: Google::Apis::DisplayvideoV1::GoogleAudienceGroup, decorator: Google::Apis::DisplayvideoV1::GoogleAudienceGroup::Representation
      
        end
      end
      
      class AudioVideoOffset
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :percentage, :numeric_string => true, as: 'percentage'
          property :seconds, :numeric_string => true, as: 'seconds'
        end
      end
      
      class AuthorizedSellerStatusAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :authorized_seller_status, as: 'authorizedSellerStatus'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class AuthorizedSellerStatusTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :authorized_seller_status, as: 'authorizedSellerStatus'
        end
      end
      
      class BiddingStrategy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :fixed_bid, as: 'fixedBid', class: Google::Apis::DisplayvideoV1::FixedBidStrategy, decorator: Google::Apis::DisplayvideoV1::FixedBidStrategy::Representation
      
          property :maximize_spend_auto_bid, as: 'maximizeSpendAutoBid', class: Google::Apis::DisplayvideoV1::MaximizeSpendBidStrategy, decorator: Google::Apis::DisplayvideoV1::MaximizeSpendBidStrategy::Representation
      
          property :performance_goal_auto_bid, as: 'performanceGoalAutoBid', class: Google::Apis::DisplayvideoV1::PerformanceGoalBidStrategy, decorator: Google::Apis::DisplayvideoV1::PerformanceGoalBidStrategy::Representation
      
        end
      end
      
      class BrowserAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :negative, as: 'negative'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class BrowserTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
        end
      end
      
      class BulkEditLineItemAssignedTargetingOptionsRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :create_requests, as: 'createRequests', class: Google::Apis::DisplayvideoV1::CreateAssignedTargetingOptionsRequest, decorator: Google::Apis::DisplayvideoV1::CreateAssignedTargetingOptionsRequest::Representation
      
          collection :delete_requests, as: 'deleteRequests', class: Google::Apis::DisplayvideoV1::DeleteAssignedTargetingOptionsRequest, decorator: Google::Apis::DisplayvideoV1::DeleteAssignedTargetingOptionsRequest::Representation
      
        end
      end
      
      class BulkEditLineItemAssignedTargetingOptionsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :created_assigned_targeting_options, as: 'createdAssignedTargetingOptions', class: Google::Apis::DisplayvideoV1::AssignedTargetingOption, decorator: Google::Apis::DisplayvideoV1::AssignedTargetingOption::Representation
      
        end
      end
      
      class BulkListLineItemAssignedTargetingOptionsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :assigned_targeting_options, as: 'assignedTargetingOptions', class: Google::Apis::DisplayvideoV1::AssignedTargetingOption, decorator: Google::Apis::DisplayvideoV1::AssignedTargetingOption::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class Campaign
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :advertiser_id, :numeric_string => true, as: 'advertiserId'
          property :campaign_flight, as: 'campaignFlight', class: Google::Apis::DisplayvideoV1::CampaignFlight, decorator: Google::Apis::DisplayvideoV1::CampaignFlight::Representation
      
          property :campaign_goal, as: 'campaignGoal', class: Google::Apis::DisplayvideoV1::CampaignGoal, decorator: Google::Apis::DisplayvideoV1::CampaignGoal::Representation
      
          property :campaign_id, :numeric_string => true, as: 'campaignId'
          property :display_name, as: 'displayName'
          property :entity_status, as: 'entityStatus'
          property :frequency_cap, as: 'frequencyCap', class: Google::Apis::DisplayvideoV1::FrequencyCap, decorator: Google::Apis::DisplayvideoV1::FrequencyCap::Representation
      
          property :name, as: 'name'
          property :update_time, as: 'updateTime'
        end
      end
      
      class CampaignFlight
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :planned_dates, as: 'plannedDates', class: Google::Apis::DisplayvideoV1::DateRange, decorator: Google::Apis::DisplayvideoV1::DateRange::Representation
      
          property :planned_spend_amount_micros, :numeric_string => true, as: 'plannedSpendAmountMicros'
        end
      end
      
      class CampaignGoal
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :campaign_goal_type, as: 'campaignGoalType'
          property :performance_goal, as: 'performanceGoal', class: Google::Apis::DisplayvideoV1::PerformanceGoal, decorator: Google::Apis::DisplayvideoV1::PerformanceGoal::Representation
      
        end
      end
      
      class CarrierAndIspAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :negative, as: 'negative'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class CarrierAndIspTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :type, as: 'type'
        end
      end
      
      class CategoryAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :negative, as: 'negative'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class CategoryTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
        end
      end
      
      class Channel
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :advertiser_id, :numeric_string => true, as: 'advertiserId'
          property :channel_id, :numeric_string => true, as: 'channelId'
          property :display_name, as: 'displayName'
          property :name, as: 'name'
          property :partner_id, :numeric_string => true, as: 'partnerId'
        end
      end
      
      class ChannelAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :channel_id, :numeric_string => true, as: 'channelId'
          property :negative, as: 'negative'
        end
      end
      
      class CmHybridConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :cm_account_id, :numeric_string => true, as: 'cmAccountId'
          property :cm_floodlight_config_id, :numeric_string => true, as: 'cmFloodlightConfigId'
          property :cm_floodlight_linking_authorized, as: 'cmFloodlightLinkingAuthorized'
          collection :cm_syncable_site_ids, as: 'cmSyncableSiteIds'
          property :dv360_to_cm_cost_reporting_enabled, as: 'dv360ToCmCostReportingEnabled'
          property :dv360_to_cm_data_sharing_enabled, as: 'dv360ToCmDataSharingEnabled'
        end
      end
      
      class CmTrackingAd
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :cm_ad_id, :numeric_string => true, as: 'cmAdId'
          property :cm_creative_id, :numeric_string => true, as: 'cmCreativeId'
          property :cm_placement_id, :numeric_string => true, as: 'cmPlacementId'
        end
      end
      
      class CombinedAudience
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :combined_audience_id, :numeric_string => true, as: 'combinedAudienceId'
          property :display_name, as: 'displayName'
          property :name, as: 'name'
        end
      end
      
      class CombinedAudienceGroup
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :settings, as: 'settings', class: Google::Apis::DisplayvideoV1::CombinedAudienceTargetingSetting, decorator: Google::Apis::DisplayvideoV1::CombinedAudienceTargetingSetting::Representation
      
        end
      end
      
      class CombinedAudienceTargetingSetting
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :combined_audience_id, :numeric_string => true, as: 'combinedAudienceId'
        end
      end
      
      class ContentInstreamPositionAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :content_instream_position, as: 'contentInstreamPosition'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class ContentInstreamPositionTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :content_instream_position, as: 'contentInstreamPosition'
        end
      end
      
      class ContentOutstreamPositionAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :content_outstream_position, as: 'contentOutstreamPosition'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class ContentOutstreamPositionTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :content_outstream_position, as: 'contentOutstreamPosition'
        end
      end
      
      class ConversionCountingConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :floodlight_activity_configs, as: 'floodlightActivityConfigs', class: Google::Apis::DisplayvideoV1::TrackingFloodlightActivityConfig, decorator: Google::Apis::DisplayvideoV1::TrackingFloodlightActivityConfig::Representation
      
          property :post_view_count_percentage_millis, :numeric_string => true, as: 'postViewCountPercentageMillis'
        end
      end
      
      class CounterEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :name, as: 'name'
          property :reporting_name, as: 'reportingName'
        end
      end
      
      class CreateAssetRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :filename, as: 'filename'
        end
      end
      
      class CreateAssetResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :asset, as: 'asset', class: Google::Apis::DisplayvideoV1::Asset, decorator: Google::Apis::DisplayvideoV1::Asset::Representation
      
        end
      end
      
      class CreateAssignedTargetingOptionsRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :assigned_targeting_options, as: 'assignedTargetingOptions', class: Google::Apis::DisplayvideoV1::AssignedTargetingOption, decorator: Google::Apis::DisplayvideoV1::AssignedTargetingOption::Representation
      
          property :targeting_type, as: 'targetingType'
        end
      end
      
      class CreateSdfDownloadTaskRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :advertiser_id, :numeric_string => true, as: 'advertiserId'
          property :id_filter, as: 'idFilter', class: Google::Apis::DisplayvideoV1::IdFilter, decorator: Google::Apis::DisplayvideoV1::IdFilter::Representation
      
          property :inventory_source_filter, as: 'inventorySourceFilter', class: Google::Apis::DisplayvideoV1::InventorySourceFilter, decorator: Google::Apis::DisplayvideoV1::InventorySourceFilter::Representation
      
          property :parent_entity_filter, as: 'parentEntityFilter', class: Google::Apis::DisplayvideoV1::ParentEntityFilter, decorator: Google::Apis::DisplayvideoV1::ParentEntityFilter::Representation
      
          property :partner_id, :numeric_string => true, as: 'partnerId'
          property :version, as: 'version'
        end
      end
      
      class Creative
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :additional_dimensions, as: 'additionalDimensions', class: Google::Apis::DisplayvideoV1::Dimensions, decorator: Google::Apis::DisplayvideoV1::Dimensions::Representation
      
          property :advertiser_id, :numeric_string => true, as: 'advertiserId'
          property :appended_tag, as: 'appendedTag'
          collection :assets, as: 'assets', class: Google::Apis::DisplayvideoV1::AssetAssociation, decorator: Google::Apis::DisplayvideoV1::AssetAssociation::Representation
      
          property :cm_placement_id, :numeric_string => true, as: 'cmPlacementId'
          property :cm_tracking_ad, as: 'cmTrackingAd', class: Google::Apis::DisplayvideoV1::CmTrackingAd, decorator: Google::Apis::DisplayvideoV1::CmTrackingAd::Representation
      
          collection :companion_creative_ids, as: 'companionCreativeIds'
          collection :counter_events, as: 'counterEvents', class: Google::Apis::DisplayvideoV1::CounterEvent, decorator: Google::Apis::DisplayvideoV1::CounterEvent::Representation
      
          property :create_time, as: 'createTime'
          collection :creative_attributes, as: 'creativeAttributes'
          property :creative_id, :numeric_string => true, as: 'creativeId'
          property :creative_type, as: 'creativeType'
          property :dimensions, as: 'dimensions', class: Google::Apis::DisplayvideoV1::Dimensions, decorator: Google::Apis::DisplayvideoV1::Dimensions::Representation
      
          property :display_name, as: 'displayName'
          property :dynamic, as: 'dynamic'
          property :entity_status, as: 'entityStatus'
          collection :exit_events, as: 'exitEvents', class: Google::Apis::DisplayvideoV1::ExitEvent, decorator: Google::Apis::DisplayvideoV1::ExitEvent::Representation
      
          property :expand_on_hover, as: 'expandOnHover'
          property :expanding_direction, as: 'expandingDirection'
          property :hosting_source, as: 'hostingSource'
          property :html5_video, as: 'html5Video'
          property :ias_campaign_monitoring, as: 'iasCampaignMonitoring'
          property :integration_code, as: 'integrationCode'
          property :js_tracker_url, as: 'jsTrackerUrl'
          property :media_duration, as: 'mediaDuration'
          property :name, as: 'name'
          property :notes, as: 'notes'
          property :oba_icon, as: 'obaIcon', class: Google::Apis::DisplayvideoV1::ObaIcon, decorator: Google::Apis::DisplayvideoV1::ObaIcon::Representation
      
          property :progress_offset, as: 'progressOffset', class: Google::Apis::DisplayvideoV1::AudioVideoOffset, decorator: Google::Apis::DisplayvideoV1::AudioVideoOffset::Representation
      
          property :require_html5, as: 'requireHtml5'
          property :require_mraid, as: 'requireMraid'
          property :require_ping_for_attribution, as: 'requirePingForAttribution'
          property :review_status, as: 'reviewStatus', class: Google::Apis::DisplayvideoV1::ReviewStatusInfo, decorator: Google::Apis::DisplayvideoV1::ReviewStatusInfo::Representation
      
          property :skip_offset, as: 'skipOffset', class: Google::Apis::DisplayvideoV1::AudioVideoOffset, decorator: Google::Apis::DisplayvideoV1::AudioVideoOffset::Representation
      
          property :skippable, as: 'skippable'
          property :third_party_tag, as: 'thirdPartyTag'
          collection :third_party_urls, as: 'thirdPartyUrls', class: Google::Apis::DisplayvideoV1::ThirdPartyUrl, decorator: Google::Apis::DisplayvideoV1::ThirdPartyUrl::Representation
      
          collection :timer_events, as: 'timerEvents', class: Google::Apis::DisplayvideoV1::TimerEvent, decorator: Google::Apis::DisplayvideoV1::TimerEvent::Representation
      
          collection :tracker_urls, as: 'trackerUrls'
          collection :transcodes, as: 'transcodes', class: Google::Apis::DisplayvideoV1::Transcode, decorator: Google::Apis::DisplayvideoV1::Transcode::Representation
      
          property :universal_ad_id, as: 'universalAdId', class: Google::Apis::DisplayvideoV1::UniversalAdId, decorator: Google::Apis::DisplayvideoV1::UniversalAdId::Representation
      
          property :update_time, as: 'updateTime'
          property :vast_tag_url, as: 'vastTagUrl'
          property :vpaid, as: 'vpaid'
        end
      end
      
      class CreativeConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :creative_type, as: 'creativeType'
          property :display_creative_config, as: 'displayCreativeConfig', class: Google::Apis::DisplayvideoV1::InventorySourceDisplayCreativeConfig, decorator: Google::Apis::DisplayvideoV1::InventorySourceDisplayCreativeConfig::Representation
      
          property :video_creative_config, as: 'videoCreativeConfig', class: Google::Apis::DisplayvideoV1::InventorySourceVideoCreativeConfig, decorator: Google::Apis::DisplayvideoV1::InventorySourceVideoCreativeConfig::Representation
      
        end
      end
      
      class CustomList
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :custom_list_id, :numeric_string => true, as: 'customListId'
          property :display_name, as: 'displayName'
          property :name, as: 'name'
        end
      end
      
      class CustomListGroup
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :settings, as: 'settings', class: Google::Apis::DisplayvideoV1::CustomListTargetingSetting, decorator: Google::Apis::DisplayvideoV1::CustomListTargetingSetting::Representation
      
        end
      end
      
      class CustomListTargetingSetting
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :custom_list_id, :numeric_string => true, as: 'customListId'
        end
      end
      
      class Date
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :day, as: 'day'
          property :month, as: 'month'
          property :year, as: 'year'
        end
      end
      
      class DateRange
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :end_date, as: 'endDate', class: Google::Apis::DisplayvideoV1::Date, decorator: Google::Apis::DisplayvideoV1::Date::Representation
      
          property :start_date, as: 'startDate', class: Google::Apis::DisplayvideoV1::Date, decorator: Google::Apis::DisplayvideoV1::Date::Representation
      
        end
      end
      
      class DayAndTimeAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :day_of_week, as: 'dayOfWeek'
          property :end_hour, as: 'endHour'
          property :start_hour, as: 'startHour'
          property :time_zone_resolution, as: 'timeZoneResolution'
        end
      end
      
      class DeleteAssignedTargetingOptionsRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :assigned_targeting_option_ids, as: 'assignedTargetingOptionIds'
          property :targeting_type, as: 'targetingType'
        end
      end
      
      class DeviceMakeModelAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :negative, as: 'negative'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class DeviceMakeModelTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
        end
      end
      
      class DeviceTypeAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :device_type, as: 'deviceType'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class DeviceTypeTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :device_type, as: 'deviceType'
        end
      end
      
      class DigitalContentLabelAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :content_rating_tier, as: 'contentRatingTier'
          property :excluded_targeting_option_id, as: 'excludedTargetingOptionId'
        end
      end
      
      class DigitalContentLabelTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :content_rating_tier, as: 'contentRatingTier'
        end
      end
      
      class Dimensions
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :height_pixels, as: 'heightPixels'
          property :width_pixels, as: 'widthPixels'
        end
      end
      
      class DoubleVerify
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :app_star_rating, as: 'appStarRating', class: Google::Apis::DisplayvideoV1::DoubleVerifyAppStarRating, decorator: Google::Apis::DisplayvideoV1::DoubleVerifyAppStarRating::Representation
      
          collection :avoided_age_ratings, as: 'avoidedAgeRatings'
          property :brand_safety_categories, as: 'brandSafetyCategories', class: Google::Apis::DisplayvideoV1::DoubleVerifyBrandSafetyCategories, decorator: Google::Apis::DisplayvideoV1::DoubleVerifyBrandSafetyCategories::Representation
      
          property :display_viewability, as: 'displayViewability', class: Google::Apis::DisplayvideoV1::DoubleVerifyDisplayViewability, decorator: Google::Apis::DisplayvideoV1::DoubleVerifyDisplayViewability::Representation
      
          property :fraud_invalid_traffic, as: 'fraudInvalidTraffic', class: Google::Apis::DisplayvideoV1::DoubleVerifyFraudInvalidTraffic, decorator: Google::Apis::DisplayvideoV1::DoubleVerifyFraudInvalidTraffic::Representation
      
          property :video_viewability, as: 'videoViewability', class: Google::Apis::DisplayvideoV1::DoubleVerifyVideoViewability, decorator: Google::Apis::DisplayvideoV1::DoubleVerifyVideoViewability::Representation
      
        end
      end
      
      class DoubleVerifyAppStarRating
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :avoid_insufficient_star_rating, as: 'avoidInsufficientStarRating'
          property :avoided_star_rating, as: 'avoidedStarRating'
        end
      end
      
      class DoubleVerifyBrandSafetyCategories
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :avoid_unknown_brand_safety_category, as: 'avoidUnknownBrandSafetyCategory'
          collection :avoided_high_severity_categories, as: 'avoidedHighSeverityCategories'
          collection :avoided_medium_severity_categories, as: 'avoidedMediumSeverityCategories'
        end
      end
      
      class DoubleVerifyDisplayViewability
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :iab, as: 'iab'
          property :viewable_during, as: 'viewableDuring'
        end
      end
      
      class DoubleVerifyFraudInvalidTraffic
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :avoid_insufficient_option, as: 'avoidInsufficientOption'
          property :avoided_fraud_option, as: 'avoidedFraudOption'
        end
      end
      
      class DoubleVerifyVideoViewability
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :player_impression_rate, as: 'playerImpressionRate'
          property :video_iab, as: 'videoIab'
          property :video_viewable_rate, as: 'videoViewableRate'
        end
      end
      
      class Empty
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class EnvironmentAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :environment, as: 'environment'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class EnvironmentTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :environment, as: 'environment'
        end
      end
      
      class ExchangeAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class ExchangeReviewStatus
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :exchange, as: 'exchange'
          property :status, as: 'status'
        end
      end
      
      class ExchangeTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :exchange, as: 'exchange'
        end
      end
      
      class ExitEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :name, as: 'name'
          property :reporting_name, as: 'reportingName'
          property :type, as: 'type'
          property :url, as: 'url'
        end
      end
      
      class FirstAndThirdPartyAudience
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :first_and_third_party_audience_id, :numeric_string => true, as: 'firstAndThirdPartyAudienceId'
          property :first_and_third_party_audience_type, as: 'firstAndThirdPartyAudienceType'
          property :name, as: 'name'
        end
      end
      
      class FirstAndThirdPartyAudienceGroup
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :settings, as: 'settings', class: Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudienceTargetingSetting, decorator: Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudienceTargetingSetting::Representation
      
        end
      end
      
      class FirstAndThirdPartyAudienceTargetingSetting
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :first_and_third_party_audience_id, :numeric_string => true, as: 'firstAndThirdPartyAudienceId'
          property :recency, as: 'recency'
        end
      end
      
      class FixedBidStrategy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :bid_amount_micros, :numeric_string => true, as: 'bidAmountMicros'
        end
      end
      
      class FloodlightGroup
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :active_view_config, as: 'activeViewConfig', class: Google::Apis::DisplayvideoV1::ActiveViewVideoViewabilityMetricConfig, decorator: Google::Apis::DisplayvideoV1::ActiveViewVideoViewabilityMetricConfig::Representation
      
          hash :custom_variables, as: 'customVariables'
          property :display_name, as: 'displayName'
          property :floodlight_group_id, :numeric_string => true, as: 'floodlightGroupId'
          property :lookback_window, as: 'lookbackWindow', class: Google::Apis::DisplayvideoV1::LookbackWindow, decorator: Google::Apis::DisplayvideoV1::LookbackWindow::Representation
      
          property :name, as: 'name'
          property :web_tag_type, as: 'webTagType'
        end
      end
      
      class FrequencyCap
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :max_impressions, as: 'maxImpressions'
          property :time_unit, as: 'timeUnit'
          property :time_unit_count, as: 'timeUnitCount'
          property :unlimited, as: 'unlimited'
        end
      end
      
      class GenderAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :gender, as: 'gender'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class GenderTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :gender, as: 'gender'
        end
      end
      
      class GeoRegionAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :geo_region_type, as: 'geoRegionType'
          property :negative, as: 'negative'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class GeoRegionTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :geo_region_type, as: 'geoRegionType'
        end
      end
      
      class GoogleAudience
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :google_audience_id, :numeric_string => true, as: 'googleAudienceId'
          property :google_audience_type, as: 'googleAudienceType'
          property :name, as: 'name'
        end
      end
      
      class GoogleAudienceGroup
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :settings, as: 'settings', class: Google::Apis::DisplayvideoV1::GoogleAudienceTargetingSetting, decorator: Google::Apis::DisplayvideoV1::GoogleAudienceTargetingSetting::Representation
      
        end
      end
      
      class GoogleAudienceTargetingSetting
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :google_audience_id, :numeric_string => true, as: 'googleAudienceId'
        end
      end
      
      class GoogleBytestreamMedia
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :resource_name, as: 'resourceName'
        end
      end
      
      class HouseholdIncomeAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :household_income, as: 'householdIncome'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class HouseholdIncomeTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :household_income, as: 'householdIncome'
        end
      end
      
      class IdFilter
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :ad_group_ad_ids, as: 'adGroupAdIds'
          collection :ad_group_ids, as: 'adGroupIds'
          collection :campaign_ids, as: 'campaignIds'
          collection :insertion_order_ids, as: 'insertionOrderIds'
          collection :line_item_ids, as: 'lineItemIds'
          collection :media_product_ids, as: 'mediaProductIds'
        end
      end
      
      class InsertionOrder
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :advertiser_id, :numeric_string => true, as: 'advertiserId'
          property :bid_strategy, as: 'bidStrategy', class: Google::Apis::DisplayvideoV1::BiddingStrategy, decorator: Google::Apis::DisplayvideoV1::BiddingStrategy::Representation
      
          property :budget, as: 'budget', class: Google::Apis::DisplayvideoV1::InsertionOrderBudget, decorator: Google::Apis::DisplayvideoV1::InsertionOrderBudget::Representation
      
          property :campaign_id, :numeric_string => true, as: 'campaignId'
          property :display_name, as: 'displayName'
          property :entity_status, as: 'entityStatus'
          property :frequency_cap, as: 'frequencyCap', class: Google::Apis::DisplayvideoV1::FrequencyCap, decorator: Google::Apis::DisplayvideoV1::FrequencyCap::Representation
      
          property :insertion_order_id, :numeric_string => true, as: 'insertionOrderId'
          property :integration_details, as: 'integrationDetails', class: Google::Apis::DisplayvideoV1::IntegrationDetails, decorator: Google::Apis::DisplayvideoV1::IntegrationDetails::Representation
      
          property :name, as: 'name'
          property :pacing, as: 'pacing', class: Google::Apis::DisplayvideoV1::Pacing, decorator: Google::Apis::DisplayvideoV1::Pacing::Representation
      
          collection :partner_costs, as: 'partnerCosts', class: Google::Apis::DisplayvideoV1::PartnerCost, decorator: Google::Apis::DisplayvideoV1::PartnerCost::Representation
      
          property :performance_goal, as: 'performanceGoal', class: Google::Apis::DisplayvideoV1::PerformanceGoal, decorator: Google::Apis::DisplayvideoV1::PerformanceGoal::Representation
      
          property :update_time, as: 'updateTime'
        end
      end
      
      class InsertionOrderBudget
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :automation_type, as: 'automationType'
          collection :budget_segments, as: 'budgetSegments', class: Google::Apis::DisplayvideoV1::InsertionOrderBudgetSegment, decorator: Google::Apis::DisplayvideoV1::InsertionOrderBudgetSegment::Representation
      
          property :budget_unit, as: 'budgetUnit'
        end
      end
      
      class InsertionOrderBudgetSegment
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :budget_amount_micros, :numeric_string => true, as: 'budgetAmountMicros'
          property :campaign_budget_id, :numeric_string => true, as: 'campaignBudgetId'
          property :date_range, as: 'dateRange', class: Google::Apis::DisplayvideoV1::DateRange, decorator: Google::Apis::DisplayvideoV1::DateRange::Representation
      
          property :description, as: 'description'
        end
      end
      
      class IntegralAdScience
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_viewability, as: 'displayViewability'
          property :exclude_unrateable, as: 'excludeUnrateable'
          property :excluded_ad_fraud_risk, as: 'excludedAdFraudRisk'
          property :excluded_adult_risk, as: 'excludedAdultRisk'
          property :excluded_alcohol_risk, as: 'excludedAlcoholRisk'
          property :excluded_drugs_risk, as: 'excludedDrugsRisk'
          property :excluded_gambling_risk, as: 'excludedGamblingRisk'
          property :excluded_hate_speech_risk, as: 'excludedHateSpeechRisk'
          property :excluded_illegal_downloads_risk, as: 'excludedIllegalDownloadsRisk'
          property :excluded_offensive_language_risk, as: 'excludedOffensiveLanguageRisk'
          property :excluded_violence_risk, as: 'excludedViolenceRisk'
          property :traq_score_option, as: 'traqScoreOption'
          property :video_viewability, as: 'videoViewability'
        end
      end
      
      class IntegrationDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :details, as: 'details'
          property :integration_code, as: 'integrationCode'
        end
      end
      
      class InventorySource
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :commitment, as: 'commitment'
          collection :creative_configs, as: 'creativeConfigs', class: Google::Apis::DisplayvideoV1::CreativeConfig, decorator: Google::Apis::DisplayvideoV1::CreativeConfig::Representation
      
          property :deal_id, as: 'dealId'
          property :delivery_method, as: 'deliveryMethod'
          property :display_name, as: 'displayName'
          property :exchange, as: 'exchange'
          property :inventory_source_id, :numeric_string => true, as: 'inventorySourceId'
          property :inventory_source_type, as: 'inventorySourceType'
          property :name, as: 'name'
          property :publisher_name, as: 'publisherName'
          property :rate_details, as: 'rateDetails', class: Google::Apis::DisplayvideoV1::RateDetails, decorator: Google::Apis::DisplayvideoV1::RateDetails::Representation
      
          property :status, as: 'status', class: Google::Apis::DisplayvideoV1::InventorySourceStatus, decorator: Google::Apis::DisplayvideoV1::InventorySourceStatus::Representation
      
          property :time_range, as: 'timeRange', class: Google::Apis::DisplayvideoV1::TimeRange, decorator: Google::Apis::DisplayvideoV1::TimeRange::Representation
      
          property :update_time, as: 'updateTime'
        end
      end
      
      class InventorySourceAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :inventory_source_id, :numeric_string => true, as: 'inventorySourceId'
        end
      end
      
      class InventorySourceDisplayCreativeConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :creative_size, as: 'creativeSize', class: Google::Apis::DisplayvideoV1::Dimensions, decorator: Google::Apis::DisplayvideoV1::Dimensions::Representation
      
        end
      end
      
      class InventorySourceFilter
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :inventory_source_ids, as: 'inventorySourceIds'
        end
      end
      
      class InventorySourceGroup
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :inventory_source_group_id, :numeric_string => true, as: 'inventorySourceGroupId'
          property :name, as: 'name'
        end
      end
      
      class InventorySourceGroupAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :inventory_source_group_id, :numeric_string => true, as: 'inventorySourceGroupId'
        end
      end
      
      class InventorySourceStatus
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :config_status, as: 'configStatus'
          property :entity_pause_reason, as: 'entityPauseReason'
          property :entity_status, as: 'entityStatus'
          property :seller_pause_reason, as: 'sellerPauseReason'
          property :seller_status, as: 'sellerStatus'
        end
      end
      
      class InventorySourceVideoCreativeConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :duration, as: 'duration'
        end
      end
      
      class KeywordAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :keyword, as: 'keyword'
          property :negative, as: 'negative'
        end
      end
      
      class LanguageAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :negative, as: 'negative'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class LanguageTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
        end
      end
      
      class LineItem
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :advertiser_id, :numeric_string => true, as: 'advertiserId'
          property :bid_strategy, as: 'bidStrategy', class: Google::Apis::DisplayvideoV1::BiddingStrategy, decorator: Google::Apis::DisplayvideoV1::BiddingStrategy::Representation
      
          property :budget, as: 'budget', class: Google::Apis::DisplayvideoV1::LineItemBudget, decorator: Google::Apis::DisplayvideoV1::LineItemBudget::Representation
      
          property :campaign_id, :numeric_string => true, as: 'campaignId'
          property :conversion_counting, as: 'conversionCounting', class: Google::Apis::DisplayvideoV1::ConversionCountingConfig, decorator: Google::Apis::DisplayvideoV1::ConversionCountingConfig::Representation
      
          collection :creative_ids, as: 'creativeIds'
          property :display_name, as: 'displayName'
          property :entity_status, as: 'entityStatus'
          property :flight, as: 'flight', class: Google::Apis::DisplayvideoV1::LineItemFlight, decorator: Google::Apis::DisplayvideoV1::LineItemFlight::Representation
      
          property :frequency_cap, as: 'frequencyCap', class: Google::Apis::DisplayvideoV1::FrequencyCap, decorator: Google::Apis::DisplayvideoV1::FrequencyCap::Representation
      
          property :insertion_order_id, :numeric_string => true, as: 'insertionOrderId'
          property :integration_details, as: 'integrationDetails', class: Google::Apis::DisplayvideoV1::IntegrationDetails, decorator: Google::Apis::DisplayvideoV1::IntegrationDetails::Representation
      
          collection :inventory_source_ids, as: 'inventorySourceIds'
          property :line_item_id, :numeric_string => true, as: 'lineItemId'
          property :line_item_type, as: 'lineItemType'
          property :name, as: 'name'
          property :pacing, as: 'pacing', class: Google::Apis::DisplayvideoV1::Pacing, decorator: Google::Apis::DisplayvideoV1::Pacing::Representation
      
          collection :partner_costs, as: 'partnerCosts', class: Google::Apis::DisplayvideoV1::PartnerCost, decorator: Google::Apis::DisplayvideoV1::PartnerCost::Representation
      
          property :partner_revenue_model, as: 'partnerRevenueModel', class: Google::Apis::DisplayvideoV1::PartnerRevenueModel, decorator: Google::Apis::DisplayvideoV1::PartnerRevenueModel::Representation
      
          property :update_time, as: 'updateTime'
        end
      end
      
      class LineItemBudget
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :budget_allocation_type, as: 'budgetAllocationType'
          property :budget_unit, as: 'budgetUnit'
          property :max_amount, :numeric_string => true, as: 'maxAmount'
        end
      end
      
      class LineItemFlight
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :date_range, as: 'dateRange', class: Google::Apis::DisplayvideoV1::DateRange, decorator: Google::Apis::DisplayvideoV1::DateRange::Representation
      
          property :flight_date_type, as: 'flightDateType'
        end
      end
      
      class ListAdvertisersResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :advertisers, as: 'advertisers', class: Google::Apis::DisplayvideoV1::Advertiser, decorator: Google::Apis::DisplayvideoV1::Advertiser::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListCampaignsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :campaigns, as: 'campaigns', class: Google::Apis::DisplayvideoV1::Campaign, decorator: Google::Apis::DisplayvideoV1::Campaign::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListChannelsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :channels, as: 'channels', class: Google::Apis::DisplayvideoV1::Channel, decorator: Google::Apis::DisplayvideoV1::Channel::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListCombinedAudiencesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :combined_audiences, as: 'combinedAudiences', class: Google::Apis::DisplayvideoV1::CombinedAudience, decorator: Google::Apis::DisplayvideoV1::CombinedAudience::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListCreativesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :creatives, as: 'creatives', class: Google::Apis::DisplayvideoV1::Creative, decorator: Google::Apis::DisplayvideoV1::Creative::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListCustomListsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :custom_lists, as: 'customLists', class: Google::Apis::DisplayvideoV1::CustomList, decorator: Google::Apis::DisplayvideoV1::CustomList::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListFirstAndThirdPartyAudiencesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :first_and_third_party_audiences, as: 'firstAndThirdPartyAudiences', class: Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudience, decorator: Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudience::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListGoogleAudiencesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :google_audiences, as: 'googleAudiences', class: Google::Apis::DisplayvideoV1::GoogleAudience, decorator: Google::Apis::DisplayvideoV1::GoogleAudience::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListInsertionOrdersResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :insertion_orders, as: 'insertionOrders', class: Google::Apis::DisplayvideoV1::InsertionOrder, decorator: Google::Apis::DisplayvideoV1::InsertionOrder::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListInventorySourceGroupsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :inventory_source_groups, as: 'inventorySourceGroups', class: Google::Apis::DisplayvideoV1::InventorySourceGroup, decorator: Google::Apis::DisplayvideoV1::InventorySourceGroup::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListInventorySourcesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :inventory_sources, as: 'inventorySources', class: Google::Apis::DisplayvideoV1::InventorySource, decorator: Google::Apis::DisplayvideoV1::InventorySource::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListLineItemAssignedTargetingOptionsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :assigned_targeting_options, as: 'assignedTargetingOptions', class: Google::Apis::DisplayvideoV1::AssignedTargetingOption, decorator: Google::Apis::DisplayvideoV1::AssignedTargetingOption::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListLineItemsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :line_items, as: 'lineItems', class: Google::Apis::DisplayvideoV1::LineItem, decorator: Google::Apis::DisplayvideoV1::LineItem::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListLocationListsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :location_lists, as: 'locationLists', class: Google::Apis::DisplayvideoV1::LocationList, decorator: Google::Apis::DisplayvideoV1::LocationList::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListNegativeKeywordListsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :negative_keyword_lists, as: 'negativeKeywordLists', class: Google::Apis::DisplayvideoV1::NegativeKeywordList, decorator: Google::Apis::DisplayvideoV1::NegativeKeywordList::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListTargetingOptionsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :next_page_token, as: 'nextPageToken'
          collection :targeting_options, as: 'targetingOptions', class: Google::Apis::DisplayvideoV1::TargetingOption, decorator: Google::Apis::DisplayvideoV1::TargetingOption::Representation
      
        end
      end
      
      class LocationList
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :advertiser_id, :numeric_string => true, as: 'advertiserId'
          property :display_name, as: 'displayName'
          property :location_list_id, :numeric_string => true, as: 'locationListId'
          property :location_type, as: 'locationType'
          property :name, as: 'name'
        end
      end
      
      class LookbackWindow
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :click_days, as: 'clickDays'
          property :impression_days, as: 'impressionDays'
        end
      end
      
      class MaximizeSpendBidStrategy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :max_average_cpm_bid_amount_micros, :numeric_string => true, as: 'maxAverageCpmBidAmountMicros'
          property :performance_goal_type, as: 'performanceGoalType'
        end
      end
      
      class Money
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :currency_code, as: 'currencyCode'
          property :nanos, as: 'nanos'
          property :units, :numeric_string => true, as: 'units'
        end
      end
      
      class NegativeKeywordList
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :advertiser_id, :numeric_string => true, as: 'advertiserId'
          property :display_name, as: 'displayName'
          property :name, as: 'name'
          property :negative_keyword_list_id, :numeric_string => true, as: 'negativeKeywordListId'
        end
      end
      
      class NegativeKeywordListAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :negative_keyword_list_id, :numeric_string => true, as: 'negativeKeywordListId'
        end
      end
      
      class ObaIcon
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :click_tracking_url, as: 'clickTrackingUrl'
          property :dimensions, as: 'dimensions', class: Google::Apis::DisplayvideoV1::Dimensions, decorator: Google::Apis::DisplayvideoV1::Dimensions::Representation
      
          property :landing_page_url, as: 'landingPageUrl'
          property :position, as: 'position'
          property :program, as: 'program'
          property :resource_mime_type, as: 'resourceMimeType'
          property :resource_url, as: 'resourceUrl'
          property :view_tracking_url, as: 'viewTrackingUrl'
        end
      end
      
      class OnScreenPositionAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :on_screen_position, as: 'onScreenPosition'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class OnScreenPositionTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :on_screen_position, as: 'onScreenPosition'
        end
      end
      
      class OperatingSystemAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :negative, as: 'negative'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class OperatingSystemTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
        end
      end
      
      class Operation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :done, as: 'done'
          property :error, as: 'error', class: Google::Apis::DisplayvideoV1::Status, decorator: Google::Apis::DisplayvideoV1::Status::Representation
      
          hash :metadata, as: 'metadata'
          property :name, as: 'name'
          hash :response, as: 'response'
        end
      end
      
      class Pacing
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :daily_max_impressions, :numeric_string => true, as: 'dailyMaxImpressions'
          property :daily_max_micros, :numeric_string => true, as: 'dailyMaxMicros'
          property :pacing_period, as: 'pacingPeriod'
          property :pacing_type, as: 'pacingType'
        end
      end
      
      class ParentEntityFilter
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :file_type, as: 'fileType'
          collection :filter_ids, as: 'filterIds'
          property :filter_type, as: 'filterType'
        end
      end
      
      class ParentalStatusAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :parental_status, as: 'parentalStatus'
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class ParentalStatusTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :parental_status, as: 'parentalStatus'
        end
      end
      
      class PartnerCost
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :cost_type, as: 'costType'
          property :fee_amount, :numeric_string => true, as: 'feeAmount'
          property :fee_percentage_millis, :numeric_string => true, as: 'feePercentageMillis'
          property :fee_type, as: 'feeType'
          property :invoice_type, as: 'invoiceType'
        end
      end
      
      class PartnerRevenueModel
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :markup_amount, :numeric_string => true, as: 'markupAmount'
          property :markup_type, as: 'markupType'
        end
      end
      
      class PerformanceGoal
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :performance_goal_amount_micros, :numeric_string => true, as: 'performanceGoalAmountMicros'
          property :performance_goal_percentage_micros, :numeric_string => true, as: 'performanceGoalPercentageMicros'
          property :performance_goal_string, as: 'performanceGoalString'
          property :performance_goal_type, as: 'performanceGoalType'
        end
      end
      
      class PerformanceGoalBidStrategy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :max_average_cpm_bid_amount_micros, :numeric_string => true, as: 'maxAverageCpmBidAmountMicros'
          property :performance_goal_amount_micros, :numeric_string => true, as: 'performanceGoalAmountMicros'
          property :performance_goal_type, as: 'performanceGoalType'
        end
      end
      
      class ProximityLocationListAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :proximity_location_list_id, :numeric_string => true, as: 'proximityLocationListId'
          property :proximity_radius_range, as: 'proximityRadiusRange'
        end
      end
      
      class PublisherReviewStatus
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :publisher_name, as: 'publisherName'
          property :status, as: 'status'
        end
      end
      
      class RateDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :inventory_source_rate_type, as: 'inventorySourceRateType'
          property :minimum_spend, as: 'minimumSpend', class: Google::Apis::DisplayvideoV1::Money, decorator: Google::Apis::DisplayvideoV1::Money::Representation
      
          property :rate, as: 'rate', class: Google::Apis::DisplayvideoV1::Money, decorator: Google::Apis::DisplayvideoV1::Money::Representation
      
          property :units_purchased, :numeric_string => true, as: 'unitsPurchased'
        end
      end
      
      class RegionalLocationListAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :negative, as: 'negative'
          property :regional_location_list_id, :numeric_string => true, as: 'regionalLocationListId'
        end
      end
      
      class ReviewStatusInfo
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :approval_status, as: 'approvalStatus'
          property :content_and_policy_review_status, as: 'contentAndPolicyReviewStatus'
          property :creative_and_landing_page_review_status, as: 'creativeAndLandingPageReviewStatus'
          collection :exchange_review_statuses, as: 'exchangeReviewStatuses', class: Google::Apis::DisplayvideoV1::ExchangeReviewStatus, decorator: Google::Apis::DisplayvideoV1::ExchangeReviewStatus::Representation
      
          collection :publisher_review_statuses, as: 'publisherReviewStatuses', class: Google::Apis::DisplayvideoV1::PublisherReviewStatus, decorator: Google::Apis::DisplayvideoV1::PublisherReviewStatus::Representation
      
        end
      end
      
      class SdfConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :admin_email, as: 'adminEmail'
          property :version, as: 'version'
        end
      end
      
      class SdfDownloadTask
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :resource_name, as: 'resourceName'
        end
      end
      
      class SdfDownloadTaskMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :create_time, as: 'createTime'
          property :end_time, as: 'endTime'
          property :version, as: 'version'
        end
      end
      
      class SensitiveCategoryAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :excluded_targeting_option_id, as: 'excludedTargetingOptionId'
          property :sensitive_category, as: 'sensitiveCategory'
        end
      end
      
      class SensitiveCategoryTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :sensitive_category, as: 'sensitiveCategory'
        end
      end
      
      class Status
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :code, as: 'code'
          collection :details, as: 'details'
          property :message, as: 'message'
        end
      end
      
      class SubExchangeAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :targeting_option_id, as: 'targetingOptionId'
        end
      end
      
      class SubExchangeTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
        end
      end
      
      class TargetingOption
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :age_range_details, as: 'ageRangeDetails', class: Google::Apis::DisplayvideoV1::AgeRangeTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::AgeRangeTargetingOptionDetails::Representation
      
          property :app_category_details, as: 'appCategoryDetails', class: Google::Apis::DisplayvideoV1::AppCategoryTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::AppCategoryTargetingOptionDetails::Representation
      
          property :authorized_seller_status_details, as: 'authorizedSellerStatusDetails', class: Google::Apis::DisplayvideoV1::AuthorizedSellerStatusTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::AuthorizedSellerStatusTargetingOptionDetails::Representation
      
          property :browser_details, as: 'browserDetails', class: Google::Apis::DisplayvideoV1::BrowserTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::BrowserTargetingOptionDetails::Representation
      
          property :carrier_and_isp_details, as: 'carrierAndIspDetails', class: Google::Apis::DisplayvideoV1::CarrierAndIspTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::CarrierAndIspTargetingOptionDetails::Representation
      
          property :category_details, as: 'categoryDetails', class: Google::Apis::DisplayvideoV1::CategoryTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::CategoryTargetingOptionDetails::Representation
      
          property :content_instream_position_details, as: 'contentInstreamPositionDetails', class: Google::Apis::DisplayvideoV1::ContentInstreamPositionTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ContentInstreamPositionTargetingOptionDetails::Representation
      
          property :content_outstream_position_details, as: 'contentOutstreamPositionDetails', class: Google::Apis::DisplayvideoV1::ContentOutstreamPositionTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ContentOutstreamPositionTargetingOptionDetails::Representation
      
          property :device_make_model_details, as: 'deviceMakeModelDetails', class: Google::Apis::DisplayvideoV1::DeviceMakeModelTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::DeviceMakeModelTargetingOptionDetails::Representation
      
          property :device_type_details, as: 'deviceTypeDetails', class: Google::Apis::DisplayvideoV1::DeviceTypeTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::DeviceTypeTargetingOptionDetails::Representation
      
          property :digital_content_label_details, as: 'digitalContentLabelDetails', class: Google::Apis::DisplayvideoV1::DigitalContentLabelTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::DigitalContentLabelTargetingOptionDetails::Representation
      
          property :environment_details, as: 'environmentDetails', class: Google::Apis::DisplayvideoV1::EnvironmentTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::EnvironmentTargetingOptionDetails::Representation
      
          property :exchange_details, as: 'exchangeDetails', class: Google::Apis::DisplayvideoV1::ExchangeTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ExchangeTargetingOptionDetails::Representation
      
          property :gender_details, as: 'genderDetails', class: Google::Apis::DisplayvideoV1::GenderTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::GenderTargetingOptionDetails::Representation
      
          property :geo_region_details, as: 'geoRegionDetails', class: Google::Apis::DisplayvideoV1::GeoRegionTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::GeoRegionTargetingOptionDetails::Representation
      
          property :household_income_details, as: 'householdIncomeDetails', class: Google::Apis::DisplayvideoV1::HouseholdIncomeTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::HouseholdIncomeTargetingOptionDetails::Representation
      
          property :language_details, as: 'languageDetails', class: Google::Apis::DisplayvideoV1::LanguageTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::LanguageTargetingOptionDetails::Representation
      
          property :name, as: 'name'
          property :on_screen_position_details, as: 'onScreenPositionDetails', class: Google::Apis::DisplayvideoV1::OnScreenPositionTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::OnScreenPositionTargetingOptionDetails::Representation
      
          property :operating_system_details, as: 'operatingSystemDetails', class: Google::Apis::DisplayvideoV1::OperatingSystemTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::OperatingSystemTargetingOptionDetails::Representation
      
          property :parental_status_details, as: 'parentalStatusDetails', class: Google::Apis::DisplayvideoV1::ParentalStatusTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ParentalStatusTargetingOptionDetails::Representation
      
          property :sensitive_category_details, as: 'sensitiveCategoryDetails', class: Google::Apis::DisplayvideoV1::SensitiveCategoryTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::SensitiveCategoryTargetingOptionDetails::Representation
      
          property :sub_exchange_details, as: 'subExchangeDetails', class: Google::Apis::DisplayvideoV1::SubExchangeTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::SubExchangeTargetingOptionDetails::Representation
      
          property :targeting_option_id, as: 'targetingOptionId'
          property :targeting_type, as: 'targetingType'
          property :user_rewarded_content_details, as: 'userRewardedContentDetails', class: Google::Apis::DisplayvideoV1::UserRewardedContentTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::UserRewardedContentTargetingOptionDetails::Representation
      
          property :video_player_size_details, as: 'videoPlayerSizeDetails', class: Google::Apis::DisplayvideoV1::VideoPlayerSizeTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::VideoPlayerSizeTargetingOptionDetails::Representation
      
          property :viewability_details, as: 'viewabilityDetails', class: Google::Apis::DisplayvideoV1::ViewabilityTargetingOptionDetails, decorator: Google::Apis::DisplayvideoV1::ViewabilityTargetingOptionDetails::Representation
      
        end
      end
      
      class ThirdPartyOnlyConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :pixel_order_id_reporting_enabled, as: 'pixelOrderIdReportingEnabled'
        end
      end
      
      class ThirdPartyUrl
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :type, as: 'type'
          property :url, as: 'url'
        end
      end
      
      class ThirdPartyVerifierAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :adloox, as: 'adloox', class: Google::Apis::DisplayvideoV1::Adloox, decorator: Google::Apis::DisplayvideoV1::Adloox::Representation
      
          property :double_verify, as: 'doubleVerify', class: Google::Apis::DisplayvideoV1::DoubleVerify, decorator: Google::Apis::DisplayvideoV1::DoubleVerify::Representation
      
          property :integral_ad_science, as: 'integralAdScience', class: Google::Apis::DisplayvideoV1::IntegralAdScience, decorator: Google::Apis::DisplayvideoV1::IntegralAdScience::Representation
      
        end
      end
      
      class TimeRange
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :end_time, as: 'endTime'
          property :start_time, as: 'startTime'
        end
      end
      
      class TimerEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :name, as: 'name'
          property :reporting_name, as: 'reportingName'
        end
      end
      
      class TrackingFloodlightActivityConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :floodlight_activity_id, :numeric_string => true, as: 'floodlightActivityId'
          property :post_click_lookback_window_days, as: 'postClickLookbackWindowDays'
          property :post_view_lookback_window_days, as: 'postViewLookbackWindowDays'
        end
      end
      
      class Transcode
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :audio_bit_rate_kbps, :numeric_string => true, as: 'audioBitRateKbps'
          property :audio_sample_rate_hz, :numeric_string => true, as: 'audioSampleRateHz'
          property :bit_rate_kbps, :numeric_string => true, as: 'bitRateKbps'
          property :dimensions, as: 'dimensions', class: Google::Apis::DisplayvideoV1::Dimensions, decorator: Google::Apis::DisplayvideoV1::Dimensions::Representation
      
          property :file_size_bytes, :numeric_string => true, as: 'fileSizeBytes'
          property :frame_rate, as: 'frameRate'
          property :mime_type, as: 'mimeType'
          property :name, as: 'name'
          property :transcoded, as: 'transcoded'
        end
      end
      
      class UniversalAdId
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :id, as: 'id'
          property :registry, as: 'registry'
        end
      end
      
      class UrlAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :negative, as: 'negative'
          property :url, as: 'url'
        end
      end
      
      class UserRewardedContentAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :targeting_option_id, as: 'targetingOptionId'
          property :user_rewarded_content, as: 'userRewardedContent'
        end
      end
      
      class UserRewardedContentTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :user_rewarded_content, as: 'userRewardedContent'
        end
      end
      
      class VideoPlayerSizeAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :targeting_option_id, as: 'targetingOptionId'
          property :video_player_size, as: 'videoPlayerSize'
        end
      end
      
      class VideoPlayerSizeTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :video_player_size, as: 'videoPlayerSize'
        end
      end
      
      class ViewabilityAssignedTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :targeting_option_id, as: 'targetingOptionId'
          property :viewability, as: 'viewability'
        end
      end
      
      class ViewabilityTargetingOptionDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :viewability, as: 'viewability'
        end
      end
    end
  end
end
