Web Service: AdRuleService

Target Namespace:
https://www.google.com/apis/ads/publisher/v202502

Port AdRuleServiceInterfacePort Port typeSource code

Location:
https://ads.google.com/apis/ads/publisher/v202502/AdRuleService
Protocol:
SOAP
Default style:
document
Transport protocol:
SOAP over HTTP
Operations:
  1. createAdRulesDetailSource code
  2. createAdSpotsDetailSource code
  3. createBreakTemplatesDetailSource code
  4. getAdRulesByStatementDetailSource code
  5. getAdSpotsByStatementDetailSource code
  6. getBreakTemplatesByStatementDetailSource code
  7. performAdRuleActionDetailSource code
  8. updateAdRulesDetailSource code
  9. updateAdSpotsDetailSource code
  10. updateBreakTemplatesDetailSource code

Operations

    Port type AdRuleServiceInterfaceSource code

    1. createAdRules
      Description:
      Creates new {@link AdRule} objects.
      Operation type:
      Request-response. The endpoint receives a message, and sends a correlated message.
      Input:
      createAdRulesRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
      parameters type createAdRules
      Creates new {@link AdRule} objects.
      • adRules - optional, unbounded; type AdRule
        An {@link AdRule} contains data that the ad server will use to generate a playlist of video ads.
        • id - optional; type long
          The unique ID of the {@link AdRule}. This value is readonly and is assigned by Google.
        • name - optional; type string
          The unique name of the {@link AdRule}. This attribute is required to create an ad rule and has a maximum length of 255 characters.
        • priority - optional; type int
          The priority of the {@link AdRule}. This attribute is required and can range from 1 to 1000, with 1 being the highest possible priority.

          Changing an ad rule's priority can affect the priorities of other ad rules. For example, increasing an ad rule's priority from 5 to 1 will shift the ad rules that were previously in priority positions 1 through 4 down one.

        • targeting - optional; type Targeting
          The targeting criteria of the {@link AdRule}. This attribute is required.
          Contains targeting criteria for {@link LineItem} objects. See {@link LineItem#targeting}.
          • geoTargeting - optional; type GeoTargeting
            Provides line items the ability to target geographical locations. By default, line items target all countries and their subdivisions. With geographical targeting, you can target line items to specific countries, regions, metro areas, and cities. You can also exclude the same.

            The following rules apply for geographical targeting:

            • You cannot target and exclude the same location.
            • You cannot target a child whose parent has been excluded. For example, if the state of Illinois has been excluded, then you cannot target Chicago.
            • You must not target a location if you are also targeting its parent. For example, if you are targeting New York City, you must not have the state of New York as one of the targeted locations.
            • You cannot explicitly define inclusions or exclusions that are already implicit. For example, if you explicitly include California, you implicitly exclude all other states. You therefore cannot explicitly exclude Florida, because it is already implicitly excluded. Conversely if you explicitly exclude Florida, you cannot explicitly include California.
            • targetedLocations - optional, unbounded; type Location
              The geographical locations being targeted by the {@link LineItem}.
              A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
              • id - optional; type long
                Uniquely identifies each {@code Location}.
              • type - optional; type string
                The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
              • canonicalParentId - optional; type int
                The nearest location parent's ID for this geographical entity.
              • displayName - optional; type string
                The localized name of the geographical entity.
            • excludedLocations - optional, unbounded; type Location
              The geographical locations being excluded by the {@link LineItem}.
              A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
              • id - optional; type long
                Uniquely identifies each {@code Location}.
              • type - optional; type string
                The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
              • canonicalParentId - optional; type int
                The nearest location parent's ID for this geographical entity.
              • displayName - optional; type string
                The localized name of the geographical entity.
            Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is optional.
          • inventoryTargeting - optional; type InventoryTargeting
            A collection of targeted and excluded ad units and placements.
            • targetedAdUnits - optional, unbounded; type AdUnitTargeting
              Represents targeted or excluded ad units.
              • adUnitId - optional; type string
                Included or excluded ad unit id.
              • includeDescendants - optional; type boolean
                Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
              A list of targeted {@link AdUnitTargeting}.
            • excludedAdUnits - optional, unbounded; type AdUnitTargeting
              Represents targeted or excluded ad units.
              • adUnitId - optional; type string
                Included or excluded ad unit id.
              • includeDescendants - optional; type boolean
                Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
              A list of excluded {@link AdUnitTargeting}.
            • targetedPlacementIds - optional, unbounded; type long
              A list of targeted {@link Placement} ids.
            Specifies what inventory is targeted by the {@link LineItem}. This attribute is required. The line item must target at least one ad unit or placement.
          • dayPartTargeting - optional; type DayPartTargeting
            Modify the delivery times of line items for particular days of the week. By default, line items are served at all days and times.
            • dayParts - optional, unbounded; type DayPart
              {@code DayPart} represents a time-period within a day of the week which is targeted by a {@link LineItem}.
              • dayOfWeek - optional; type DayOfWeek - type string with restriction - enum { 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY' }
                Day of the week the target applies to. This field is required.
              • startTime - optional; type TimeOfDay
                Represents the start time of the targeted period (inclusive).
                Represents a specific time in a day.
                • hour - optional; type int
                  Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                  Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
              • endTime - optional; type TimeOfDay
                Represents the end time of the targeted period (exclusive).
                Represents a specific time in a day.
                • hour - optional; type int
                  Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                  Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
              Specifies days of the week and times at which a {@code LineItem} will be delivered.

              If targeting all days and times, this value will be ignored.

            • timeZone - optional; type DeliveryTimeZone - type string with restriction - enum { 'PUBLISHER', 'BROWSER' }
              Specifies the time zone to be used for delivering {@link LineItem} objects. This attribute is optional and defaults to {@link DeliveryTimeZone#BROWSER}.

              Setting this has no effect if targeting all days and times.

            Specifies the days of the week and times that are targeted by the {@link LineItem}. This attribute is optional.
          • dateTimeRangeTargeting - optional; type DateTimeRangeTargeting
            The date time ranges that the line item is eligible to serve.
            • targetedDateTimeRanges - optional, unbounded; type DateTimeRange
              Represents a range of dates (combined with time of day) that has an upper and/or lower bound.
              • startDateTime - optional; type DateTime
                Represents a date combined with the time of day.
                • date - optional; type Date
                  Represents a date.
                  • year - optional; type int
                    Year (e.g., 2009)
                  • month - optional; type int
                    Month (1..12)
                  • day - optional; type int
                    Day (1..31)
                • hour - optional; type int
                • minute - optional; type int
                • second - optional; type int
                • timeZoneId - optional; type string
                The start date time of this range. This field is optional and if it is not set then there is no lower bound on the date time range. If this field is not set then {@code endDateTime} must be specified.
              • endDateTime - optional; type DateTime
                Represents a date combined with the time of day.
                • date - optional; type Date
                  Represents a date.
                  • year - optional; type int
                    Year (e.g., 2009)
                  • month - optional; type int
                    Month (1..12)
                  • day - optional; type int
                    Day (1..31)
                • hour - optional; type int
                • minute - optional; type int
                • second - optional; type int
                • timeZoneId - optional; type string
                The end date time of this range. This field is optional and if it is not set then there is no upper bound on the date time range. If this field is not set then {@code startDateTime} must be specified.
            Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute is optional.
          • technologyTargeting - optional; type TechnologyTargeting
            Provides {@link LineItem} objects the ability to target or exclude technologies.
            • bandwidthGroupTargeting - optional; type BandwidthGroupTargeting
              The bandwidth groups being targeted by the {@link LineItem}.
              Represents bandwidth groups that are being targeted or excluded by the {@link LineItem}.
              • isTargeted - optional; type boolean
                Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional and defaults to {@code true}.
              • bandwidthGroups - optional, unbounded; type Technology
                The bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
            • browserTargeting - optional; type BrowserTargeting
              The browsers being targeted by the {@link LineItem}.
              Represents browsers that are being targeted or excluded by the {@link LineItem}.
              • isTargeted - optional; type boolean
                Indicates whether browsers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
              • browsers - optional, unbounded; type Technology
                Browsers that are being targeted or excluded by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
            • browserLanguageTargeting - optional; type BrowserLanguageTargeting
              The languages of browsers being targeted by the {@link LineItem}.
              Represents browser languages that are being targeted or excluded by the {@link LineItem}.
              • isTargeted - optional; type boolean
                Indicates whether browsers languages should be targeted or excluded. This attribute is optional and defaults to {@code true}.
              • browserLanguages - optional, unbounded; type Technology
                Browser languages that are being targeted or excluded by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
            • deviceCapabilityTargeting - optional; type DeviceCapabilityTargeting
              The device capabilities being targeted by the {@link LineItem}.
              Represents device capabilities that are being targeted or excluded by the {@link LineItem}.
              • targetedDeviceCapabilities - optional, unbounded; type Technology
                Device capabilities that are being targeted by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
              • excludedDeviceCapabilities - optional, unbounded; type Technology
                Device capabilities that are being excluded by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
            • deviceCategoryTargeting - optional; type DeviceCategoryTargeting
              The device categories being targeted by the {@link LineItem}.
              Represents device categories that are being targeted or excluded by the {@link LineItem}.
              • targetedDeviceCategories - optional, unbounded; type Technology
                Device categories that are being targeted by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
              • excludedDeviceCategories - optional, unbounded; type Technology
                Device categories that are being excluded by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
            • deviceManufacturerTargeting - optional; type DeviceManufacturerTargeting
              The device manufacturers being targeted by the {@link LineItem}.
              Represents device manufacturer that are being targeted or excluded by the {@link LineItem}.
              • isTargeted - optional; type boolean
                Indicates whether device manufacturers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
              • deviceManufacturers - optional, unbounded; type Technology
                Device manufacturers that are being targeted or excluded by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
            • mobileCarrierTargeting - optional; type MobileCarrierTargeting
              The mobile carriers being targeted by the {@link LineItem}.
              Represents mobile carriers that are being targeted or excluded by the {@link LineItem}.
              • isTargeted - optional; type boolean
                Indicates whether mobile carriers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
              • mobileCarriers - optional, unbounded; type Technology
                Mobile carriers that are being targeted or excluded by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
            • mobileDeviceTargeting - optional; type MobileDeviceTargeting
              The mobile devices being targeted by the {@link LineItem}.
              Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
              • targetedMobileDevices - optional, unbounded; type Technology
                Mobile devices that are being targeted by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
              • excludedMobileDevices - optional, unbounded; type Technology
                Mobile devices that are being excluded by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
            • mobileDeviceSubmodelTargeting - optional; type MobileDeviceSubmodelTargeting
              The mobile device submodels being targeted by the {@link LineItem}.
              Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
              • targetedMobileDeviceSubmodels - optional, unbounded; type Technology
                Mobile device submodels that are being targeted by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
              • excludedMobileDeviceSubmodels - optional, unbounded; type Technology
                Mobile device submodels that are being excluded by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
            • operatingSystemTargeting - optional; type OperatingSystemTargeting
              The operating systems being targeted by the {@link LineItem}.
              Represents operating systems that are being targeted or excluded by the {@link LineItem}.
              • isTargeted - optional; type boolean
                Indicates whether operating systems should be targeted or excluded. This attribute is optional and defaults to {@code true}.
              • operatingSystems - optional, unbounded; type Technology
                Operating systems that are being targeted or excluded by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
            • operatingSystemVersionTargeting - optional; type OperatingSystemVersionTargeting
              The operating system versions being targeted by the {@link LineItem}.
              Represents operating system versions that are being targeted or excluded by the {@link LineItem}.
              • targetedOperatingSystemVersions - optional, unbounded; type Technology
                Operating system versions that are being targeted by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
              • excludedOperatingSystemVersions - optional, unbounded; type Technology
                Operating system versions that are being excluded by the {@link LineItem}.
                Represents a technology entity that can be targeted.
                • id - optional; type long
                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                • name - optional; type string
                  The name of the technology being targeting. This value is read-only and is assigned by Google.
            Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute is optional.
          • customTargeting - optional; type CustomCriteriaSet - extension of abstract type CustomCriteriaNode
            A {@link CustomCriteriaSet} comprises of a set of {@link CustomCriteriaNode} objects combined by the {@link CustomCriteriaSet.LogicalOperator#logicalOperator}. The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
            A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
              • logicalOperator - optional; type CustomCriteriaSet.LogicalOperator - type string with restriction - enum { 'AND', 'OR' }
                The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is required. This attribute is required.
              • children - optional, unbounded; type CustomCriteriaNode
                The custom criteria. This attribute is required.
                A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                  Specifies the collection of custom criteria that is targeted by the {@link LineItem}.

                  Once the {@link LineItem} is updated or modified with custom targeting, the server may return a normalized, but equivalent representation of the custom targeting expression.

                  {@code customTargeting} will have up to three levels of expressions including itself.

                  The top level {@code CustomCriteriaSet} i.e. the {@code customTargeting} object can only contain a {@link CustomCriteriaSet.LogicalOperator#OR} of all its children.

                  The second level of {@code CustomCriteriaSet} objects can only contain {@link CustomCriteriaSet.LogicalOperator#AND} of all their children. If a {@link CustomCriteria} is placed on this level, the server will wrap it in a {@link CustomCriteriaSet}.

                  The third level can only comprise of {@link CustomCriteria} objects.

                  The resulting custom targeting tree would be of the form:

                • userDomainTargeting - optional; type UserDomainTargeting
                  Specifies the domains or subdomains that are targeted or excluded by the {@link LineItem}. Users visiting from an IP address associated with those domains will be targeted or excluded. This attribute is optional.
                  Provides line items the ability to target or exclude users visiting their websites from a list of domains or subdomains.
                  • domains - optional, unbounded; type string
                    The domains or subdomains that are being targeted or excluded by the {@link LineItem}. This attribute is required and the maximum length of each domain is 67 characters.
                  • targeted - optional; type boolean
                    Indicates whether domains should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • contentTargeting - optional; type ContentTargeting
                  Used to target {@link LineItem}s to specific videos on a publisher's site.
                  • targetedContentIds - optional, unbounded; type long
                    The IDs of content being targeted by the {@code LineItem}.
                  • excludedContentIds - optional, unbounded; type long
                    The IDs of content being excluded by the {@code LineItem}.
                  • targetedVideoContentBundleIds - optional, unbounded; type long
                    A list of video content bundles, represented by {@link ContentBundle} IDs, that are being targeted by the {@code LineItem}.
                  • excludedVideoContentBundleIds - optional, unbounded; type long
                    A list of video content bundles, represented by {@link ContentBundle} IDs, that are being excluded by the {@code LineItem}.
                  Specifies the video categories and individual videos targeted by the {@link LineItem}.
                • videoPositionTargeting - optional; type VideoPositionTargeting
                  Specifies targeting against video position types.
                  Represents positions within and around a video where ads can be targeted to.

                  Example positions could be {@code pre-roll} (before the video plays), {@code post-roll} (after a video has completed playback) and {@code mid-roll} (during video playback).

                  Empty video position targeting means that all video positions are allowed. If a bumper line item has empty video position targeting it will be updated to target all bumper positions.

                  • targetedPositions - optional, unbounded; type VideoPositionTarget
                    The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.
                    Represents the options for targetable positions within a video.
                    • videoPosition - optional; type VideoPosition
                      Represents a targetable position within a video. A video ad can be targeted to a position (pre-roll, all mid-rolls, or post-roll), or to a specific mid-roll index.
                      • positionType - optional; type VideoPosition.Type - type string with restriction - enum { 'UNKNOWN', 'ALL', 'PREROLL', 'MIDROLL', 'POSTROLL' }
                        The type of video position (pre-roll, mid-roll, or post-roll).
                      • midrollIndex - optional; type int
                        The index of the mid-roll to target. Only valid if the {@link positionType} is {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.
                      The video position to target. This attribute is required.
                    • videoBumperType - optional; type VideoBumperType - type string with restriction - enum { 'BEFORE', 'AFTER' }
                      The video bumper type to target. To target a video position or a pod position, this value must be null. To target a bumper position this value must be populated and the line item must have a bumper type. To target a custom ad spot, this value must be null.
                    • videoPositionWithinPod - optional; type VideoPositionWithinPod
                      Represents a targetable position within a pod within a video stream. A video ad can be targeted to any position in the pod (first, second, third ... last). If there is only 1 ad in a pod, either first or last will target that position.
                      • index - optional; type int
                        The specific index of the pod. The index is defined as:
                        • 1 = first
                        • 2 = second
                        • 3 = third
                        • ....
                        • 100 = last
                        100 will always be the last position. For example, for a pod with 5 positions, 100 would target position 5. Multiple targets against the index 100 can exist.
                        Positions over 100 are not supported.
                      The video position within a pod to target. To target a video position or a bumper position, this value must be null. To target a position within a pod this value must be populated. To target a custom ad spot, this value must be null.
                    • adSpotId - optional; type long
                      A custom spot {@link AdSpot} to target. To target a video position, a bumper type or a video position within a pod this value must be null.
                • mobileApplicationTargeting - optional; type MobileApplicationTargeting
                  Provides the ability to target or exclude users' mobile applications.
                  • mobileApplicationIds - optional, unbounded; type long
                    The {@link MobileApplication#id IDs} that are being targeted or excluded.
                  • isTargeted - optional; type boolean
                    Indicates whether mobile apps should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                  Specifies targeting against mobile applications.
                • buyerUserListTargeting - optional; type BuyerUserListTargeting
                  The {@code BuyerUserListTargeting} associated with a programmatic {@link LineItem} or {@link ProposalLineItem} object.
                  • hasBuyerUserListTargeting - optional; type boolean
                    Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user list targeting.
                  Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link ProposalLineItem}. This attribute is readonly and is populated by Google.
                • inventoryUrlTargeting - optional; type InventoryUrlTargeting
                  A collection of targeted inventory urls.
                  • targetedUrls - optional, unbounded; type InventoryUrl
                    The representation of an inventory Url that is used in targeting.
                    • id - optional; type long
                  • excludedUrls - optional, unbounded; type InventoryUrl
                    The representation of an inventory Url that is used in targeting.
                    • id - optional; type long
                  Specifies the URLs that are targeted by the entity. This is currently only supported by {@link YieldGroup}.
                • verticalTargeting - optional; type VerticalTargeting
                  Specifies the verticals that are targeted by the entity. The IDs listed here correspond to the IDs in the AD_CATEGORY table of type VERTICAL.
                  Vertical targeting information.
                  • targetedVerticalIds - optional, unbounded; type long
                  • excludedVerticalIds - optional, unbounded; type long
                • contentLabelTargeting - optional; type ContentLabelTargeting
                  Content label targeting information.
                  • excludedContentLabelIds - optional, unbounded; type long
                  Specifies the content labels that are excluded by the entity. The IDs listed here correspond to the IDs in the CONTENT_LABEL table.
                • requestPlatformTargeting - optional; type RequestPlatformTargeting
                  Provides line items the ability to target the platform that requests and renders the ad.

                  The following rules apply for {@link RequestPlatformTargeting}

                  • {@link RequestPlatformTargeting} must be specified for {@link ProposalLineItem}s.
                  • {@link RequestPlatformTargeting} must be specified for video line items. Empty values for {@link RequestPlatformTargeting#targetedRequestPlatforms} mean that all request platforms will be targeted.
                  • {@link RequestPlatformTargeting} is read-only and assigned by Google for non-video line items.
                  • {@link RequestPlatformTargeting} is read-only and assigned by Google for line items generated from proposal line items.
                  • targetedRequestPlatforms - optional, unbounded; type RequestPlatform - type string with restriction - enum { 'UNKNOWN', 'BROWSER', 'MOBILE_APP', 'VIDEO_PLAYER' }
                  Specifies the request platforms that are targeted by the {@link LineItem}. This attribute is required for video line items and for {@link ProposalLineItem}.

                  This value is modifiable for video line items, but read-only for non-video line items.

                  This value is read-only for video line items generated from proposal line items.

                • inventorySizeTargeting - optional; type InventorySizeTargeting
                  Represents a collection of targeted and excluded inventory sizes. This is currently only available on {@link YieldGroup} and {@link TrafficDataRequest}.
                  • isTargeted - optional; type boolean
                    Whether the inventory sizes should be targeted or excluded.
                  • targetedSizes - optional, unbounded; type TargetedSize
                    A list of {@link TargetedSizeDto}s.
                    A size that is targeted on a request.
                    • size - optional; type Size
                      Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                      For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                      • width - optional; type int
                        The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                      • height - optional; type int
                        The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                      • isAspectRatio - optional; type boolean
                        Whether this size represents an aspect ratio.
                  Specifies the sizes that are targeted by the entity. This is currently only supported on {@link YieldGroup} and {@link TrafficDataRequest}.
              • startDateTime - optional; type DateTime
                This {@link AdRule} object's start date and time. This attribute is required and must be a date in the future for new ad rules.
                Represents a date combined with the time of day.
                • date - optional; type Date
                  Represents a date.
                  • year - optional; type int
                    Year (e.g., 2009)
                  • month - optional; type int
                    Month (1..12)
                  • day - optional; type int
                    Day (1..31)
                • hour - optional; type int
                • minute - optional; type int
                • second - optional; type int
                • timeZoneId - optional; type string
              • startDateTimeType - optional; type StartDateTimeType - type string with restriction - enum { 'USE_START_DATE_TIME', 'IMMEDIATELY', 'ONE_HOUR_FROM_NOW', 'UNKNOWN' }
                Specifies whether to start using the {@link AdRule} right away, in an hour, etc. This attribute is optional and defaults to {@link StartDateTimeType#USE_START_DATE_TIME}.
              • endDateTime - optional; type DateTime
                This {@link AdRule} object's end date and time. This attribute is required unless {@code unlimitedEndDateTime} is set to {@code true}. If specified, it must be after the {@code startDateTime}.
                Represents a date combined with the time of day.
                • date - optional; type Date
                  Represents a date.
                  • year - optional; type int
                    Year (e.g., 2009)
                  • month - optional; type int
                    Month (1..12)
                  • day - optional; type int
                    Day (1..31)
                • hour - optional; type int
                • minute - optional; type int
                • second - optional; type int
                • timeZoneId - optional; type string
              • unlimitedEndDateTime - optional; type boolean
                Specifies whether the {@link AdRule} has an end time. This attribute is optional and defaults to false.
              • status - optional; type AdRuleStatus - type string with restriction - enum { 'ACTIVE', 'INACTIVE', 'UNKNOWN' }
                The {@link AdRuleStatus} of the ad rule. This attribute is read-only and defaults to {@link AdRuleStatus#INACTIVE}.
              • frequencyCapBehavior - optional; type FrequencyCapBehavior - type string with restriction - enum { 'TURN_ON', 'TURN_OFF', 'DEFER', 'UNKNOWN' }
                The {@link FrequencyCapBehavior} of the {@link AdRule}. This attribute is optional and defaults to {@link FrequencyCapBehavior#DEFER}.
              • maxImpressionsPerLineItemPerStream - optional; type int
                This {@link AdRule} object's frequency cap for the maximum impressions per stream. This attribute is optional and defaults to 0.
              • maxImpressionsPerLineItemPerPod - optional; type int
                This {@link AdRule} object's frequency cap for the maximum impressions per pod. This attribute is optional and defaults to 0.
              • preroll - optional; type BaseAdRuleSlot
                This {@link AdRule} object's pre-roll slot. This attribute is required.
                Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                  The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                  Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                • maxVideoAdDuration - optional; type long
                  The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                  The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                • videoMidrollFrequency - optional; type string
                  The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                  The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                • maxBumperDuration - optional; type long
                  The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                • maxPodDuration - optional; type long
                  The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                • maxAdsInPod - optional; type int
                  The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                • breakTemplateId - optional; type long
                  ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
              • midroll - optional; type BaseAdRuleSlot
                This {@link AdRule} object's mid-roll slot. This attribute is required.
                Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                  The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                  Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                • maxVideoAdDuration - optional; type long
                  The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                  The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                • videoMidrollFrequency - optional; type string
                  The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                  The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                • maxBumperDuration - optional; type long
                  The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                • maxPodDuration - optional; type long
                  The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                • maxAdsInPod - optional; type int
                  The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                • breakTemplateId - optional; type long
                  ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
              • postroll - optional; type BaseAdRuleSlot
                This {@link AdRule} object's post-roll slot. This attribute is required.
                Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                  The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                  Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                • maxVideoAdDuration - optional; type long
                  The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                  The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                • videoMidrollFrequency - optional; type string
                  The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                  The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                • maxBumperDuration - optional; type long
                  The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                • maxPodDuration - optional; type long
                  The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                • maxAdsInPod - optional; type int
                  The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                • breakTemplateId - optional; type long
                  ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
        Output:
        createAdRulesResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
        parameters type createAdRulesResponse
        • rval - optional, unbounded; type AdRule
          An {@link AdRule} contains data that the ad server will use to generate a playlist of video ads.
          • id - optional; type long
            The unique ID of the {@link AdRule}. This value is readonly and is assigned by Google.
          • name - optional; type string
            The unique name of the {@link AdRule}. This attribute is required to create an ad rule and has a maximum length of 255 characters.
          • priority - optional; type int
            The priority of the {@link AdRule}. This attribute is required and can range from 1 to 1000, with 1 being the highest possible priority.

            Changing an ad rule's priority can affect the priorities of other ad rules. For example, increasing an ad rule's priority from 5 to 1 will shift the ad rules that were previously in priority positions 1 through 4 down one.

          • targeting - optional; type Targeting
            The targeting criteria of the {@link AdRule}. This attribute is required.
            Contains targeting criteria for {@link LineItem} objects. See {@link LineItem#targeting}.
            • geoTargeting - optional; type GeoTargeting
              Provides line items the ability to target geographical locations. By default, line items target all countries and their subdivisions. With geographical targeting, you can target line items to specific countries, regions, metro areas, and cities. You can also exclude the same.

              The following rules apply for geographical targeting:

              • You cannot target and exclude the same location.
              • You cannot target a child whose parent has been excluded. For example, if the state of Illinois has been excluded, then you cannot target Chicago.
              • You must not target a location if you are also targeting its parent. For example, if you are targeting New York City, you must not have the state of New York as one of the targeted locations.
              • You cannot explicitly define inclusions or exclusions that are already implicit. For example, if you explicitly include California, you implicitly exclude all other states. You therefore cannot explicitly exclude Florida, because it is already implicitly excluded. Conversely if you explicitly exclude Florida, you cannot explicitly include California.
              • targetedLocations - optional, unbounded; type Location
                The geographical locations being targeted by the {@link LineItem}.
                A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                • id - optional; type long
                  Uniquely identifies each {@code Location}.
                • type - optional; type string
                  The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                • canonicalParentId - optional; type int
                  The nearest location parent's ID for this geographical entity.
                • displayName - optional; type string
                  The localized name of the geographical entity.
              • excludedLocations - optional, unbounded; type Location
                The geographical locations being excluded by the {@link LineItem}.
                A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                • id - optional; type long
                  Uniquely identifies each {@code Location}.
                • type - optional; type string
                  The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                • canonicalParentId - optional; type int
                  The nearest location parent's ID for this geographical entity.
                • displayName - optional; type string
                  The localized name of the geographical entity.
              Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is optional.
            • inventoryTargeting - optional; type InventoryTargeting
              A collection of targeted and excluded ad units and placements.
              • targetedAdUnits - optional, unbounded; type AdUnitTargeting
                Represents targeted or excluded ad units.
                • adUnitId - optional; type string
                  Included or excluded ad unit id.
                • includeDescendants - optional; type boolean
                  Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                A list of targeted {@link AdUnitTargeting}.
              • excludedAdUnits - optional, unbounded; type AdUnitTargeting
                Represents targeted or excluded ad units.
                • adUnitId - optional; type string
                  Included or excluded ad unit id.
                • includeDescendants - optional; type boolean
                  Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                A list of excluded {@link AdUnitTargeting}.
              • targetedPlacementIds - optional, unbounded; type long
                A list of targeted {@link Placement} ids.
              Specifies what inventory is targeted by the {@link LineItem}. This attribute is required. The line item must target at least one ad unit or placement.
            • dayPartTargeting - optional; type DayPartTargeting
              Modify the delivery times of line items for particular days of the week. By default, line items are served at all days and times.
              • dayParts - optional, unbounded; type DayPart
                {@code DayPart} represents a time-period within a day of the week which is targeted by a {@link LineItem}.
                • dayOfWeek - optional; type DayOfWeek - type string with restriction - enum { 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY' }
                  Day of the week the target applies to. This field is required.
                • startTime - optional; type TimeOfDay
                  Represents the start time of the targeted period (inclusive).
                  Represents a specific time in a day.
                  • hour - optional; type int
                    Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                  • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                    Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                • endTime - optional; type TimeOfDay
                  Represents the end time of the targeted period (exclusive).
                  Represents a specific time in a day.
                  • hour - optional; type int
                    Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                  • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                    Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                Specifies days of the week and times at which a {@code LineItem} will be delivered.

                If targeting all days and times, this value will be ignored.

              • timeZone - optional; type DeliveryTimeZone - type string with restriction - enum { 'PUBLISHER', 'BROWSER' }
                Specifies the time zone to be used for delivering {@link LineItem} objects. This attribute is optional and defaults to {@link DeliveryTimeZone#BROWSER}.

                Setting this has no effect if targeting all days and times.

              Specifies the days of the week and times that are targeted by the {@link LineItem}. This attribute is optional.
            • dateTimeRangeTargeting - optional; type DateTimeRangeTargeting
              The date time ranges that the line item is eligible to serve.
              • targetedDateTimeRanges - optional, unbounded; type DateTimeRange
                Represents a range of dates (combined with time of day) that has an upper and/or lower bound.
                • startDateTime - optional; type DateTime
                  Represents a date combined with the time of day.
                  • date - optional; type Date
                    Represents a date.
                    • year - optional; type int
                      Year (e.g., 2009)
                    • month - optional; type int
                      Month (1..12)
                    • day - optional; type int
                      Day (1..31)
                  • hour - optional; type int
                  • minute - optional; type int
                  • second - optional; type int
                  • timeZoneId - optional; type string
                  The start date time of this range. This field is optional and if it is not set then there is no lower bound on the date time range. If this field is not set then {@code endDateTime} must be specified.
                • endDateTime - optional; type DateTime
                  Represents a date combined with the time of day.
                  • date - optional; type Date
                    Represents a date.
                    • year - optional; type int
                      Year (e.g., 2009)
                    • month - optional; type int
                      Month (1..12)
                    • day - optional; type int
                      Day (1..31)
                  • hour - optional; type int
                  • minute - optional; type int
                  • second - optional; type int
                  • timeZoneId - optional; type string
                  The end date time of this range. This field is optional and if it is not set then there is no upper bound on the date time range. If this field is not set then {@code startDateTime} must be specified.
              Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute is optional.
            • technologyTargeting - optional; type TechnologyTargeting
              Provides {@link LineItem} objects the ability to target or exclude technologies.
              • bandwidthGroupTargeting - optional; type BandwidthGroupTargeting
                The bandwidth groups being targeted by the {@link LineItem}.
                Represents bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                • isTargeted - optional; type boolean
                  Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • bandwidthGroups - optional, unbounded; type Technology
                  The bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • browserTargeting - optional; type BrowserTargeting
                The browsers being targeted by the {@link LineItem}.
                Represents browsers that are being targeted or excluded by the {@link LineItem}.
                • isTargeted - optional; type boolean
                  Indicates whether browsers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • browsers - optional, unbounded; type Technology
                  Browsers that are being targeted or excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • browserLanguageTargeting - optional; type BrowserLanguageTargeting
                The languages of browsers being targeted by the {@link LineItem}.
                Represents browser languages that are being targeted or excluded by the {@link LineItem}.
                • isTargeted - optional; type boolean
                  Indicates whether browsers languages should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • browserLanguages - optional, unbounded; type Technology
                  Browser languages that are being targeted or excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • deviceCapabilityTargeting - optional; type DeviceCapabilityTargeting
                The device capabilities being targeted by the {@link LineItem}.
                Represents device capabilities that are being targeted or excluded by the {@link LineItem}.
                • targetedDeviceCapabilities - optional, unbounded; type Technology
                  Device capabilities that are being targeted by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
                • excludedDeviceCapabilities - optional, unbounded; type Technology
                  Device capabilities that are being excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • deviceCategoryTargeting - optional; type DeviceCategoryTargeting
                The device categories being targeted by the {@link LineItem}.
                Represents device categories that are being targeted or excluded by the {@link LineItem}.
                • targetedDeviceCategories - optional, unbounded; type Technology
                  Device categories that are being targeted by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
                • excludedDeviceCategories - optional, unbounded; type Technology
                  Device categories that are being excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • deviceManufacturerTargeting - optional; type DeviceManufacturerTargeting
                The device manufacturers being targeted by the {@link LineItem}.
                Represents device manufacturer that are being targeted or excluded by the {@link LineItem}.
                • isTargeted - optional; type boolean
                  Indicates whether device manufacturers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • deviceManufacturers - optional, unbounded; type Technology
                  Device manufacturers that are being targeted or excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • mobileCarrierTargeting - optional; type MobileCarrierTargeting
                The mobile carriers being targeted by the {@link LineItem}.
                Represents mobile carriers that are being targeted or excluded by the {@link LineItem}.
                • isTargeted - optional; type boolean
                  Indicates whether mobile carriers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • mobileCarriers - optional, unbounded; type Technology
                  Mobile carriers that are being targeted or excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • mobileDeviceTargeting - optional; type MobileDeviceTargeting
                The mobile devices being targeted by the {@link LineItem}.
                Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                • targetedMobileDevices - optional, unbounded; type Technology
                  Mobile devices that are being targeted by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
                • excludedMobileDevices - optional, unbounded; type Technology
                  Mobile devices that are being excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • mobileDeviceSubmodelTargeting - optional; type MobileDeviceSubmodelTargeting
                The mobile device submodels being targeted by the {@link LineItem}.
                Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                • targetedMobileDeviceSubmodels - optional, unbounded; type Technology
                  Mobile device submodels that are being targeted by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
                • excludedMobileDeviceSubmodels - optional, unbounded; type Technology
                  Mobile device submodels that are being excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • operatingSystemTargeting - optional; type OperatingSystemTargeting
                The operating systems being targeted by the {@link LineItem}.
                Represents operating systems that are being targeted or excluded by the {@link LineItem}.
                • isTargeted - optional; type boolean
                  Indicates whether operating systems should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • operatingSystems - optional, unbounded; type Technology
                  Operating systems that are being targeted or excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • operatingSystemVersionTargeting - optional; type OperatingSystemVersionTargeting
                The operating system versions being targeted by the {@link LineItem}.
                Represents operating system versions that are being targeted or excluded by the {@link LineItem}.
                • targetedOperatingSystemVersions - optional, unbounded; type Technology
                  Operating system versions that are being targeted by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
                • excludedOperatingSystemVersions - optional, unbounded; type Technology
                  Operating system versions that are being excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute is optional.
            • customTargeting - optional; type CustomCriteriaSet - extension of abstract type CustomCriteriaNode
              A {@link CustomCriteriaSet} comprises of a set of {@link CustomCriteriaNode} objects combined by the {@link CustomCriteriaSet.LogicalOperator#logicalOperator}. The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
              A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                • logicalOperator - optional; type CustomCriteriaSet.LogicalOperator - type string with restriction - enum { 'AND', 'OR' }
                  The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is required. This attribute is required.
                • children - optional, unbounded; type CustomCriteriaNode
                  The custom criteria. This attribute is required.
                  A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                    Specifies the collection of custom criteria that is targeted by the {@link LineItem}.

                    Once the {@link LineItem} is updated or modified with custom targeting, the server may return a normalized, but equivalent representation of the custom targeting expression.

                    {@code customTargeting} will have up to three levels of expressions including itself.

                    The top level {@code CustomCriteriaSet} i.e. the {@code customTargeting} object can only contain a {@link CustomCriteriaSet.LogicalOperator#OR} of all its children.

                    The second level of {@code CustomCriteriaSet} objects can only contain {@link CustomCriteriaSet.LogicalOperator#AND} of all their children. If a {@link CustomCriteria} is placed on this level, the server will wrap it in a {@link CustomCriteriaSet}.

                    The third level can only comprise of {@link CustomCriteria} objects.

                    The resulting custom targeting tree would be of the form:

                  • userDomainTargeting - optional; type UserDomainTargeting
                    Specifies the domains or subdomains that are targeted or excluded by the {@link LineItem}. Users visiting from an IP address associated with those domains will be targeted or excluded. This attribute is optional.
                    Provides line items the ability to target or exclude users visiting their websites from a list of domains or subdomains.
                    • domains - optional, unbounded; type string
                      The domains or subdomains that are being targeted or excluded by the {@link LineItem}. This attribute is required and the maximum length of each domain is 67 characters.
                    • targeted - optional; type boolean
                      Indicates whether domains should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                  • contentTargeting - optional; type ContentTargeting
                    Used to target {@link LineItem}s to specific videos on a publisher's site.
                    • targetedContentIds - optional, unbounded; type long
                      The IDs of content being targeted by the {@code LineItem}.
                    • excludedContentIds - optional, unbounded; type long
                      The IDs of content being excluded by the {@code LineItem}.
                    • targetedVideoContentBundleIds - optional, unbounded; type long
                      A list of video content bundles, represented by {@link ContentBundle} IDs, that are being targeted by the {@code LineItem}.
                    • excludedVideoContentBundleIds - optional, unbounded; type long
                      A list of video content bundles, represented by {@link ContentBundle} IDs, that are being excluded by the {@code LineItem}.
                    Specifies the video categories and individual videos targeted by the {@link LineItem}.
                  • videoPositionTargeting - optional; type VideoPositionTargeting
                    Specifies targeting against video position types.
                    Represents positions within and around a video where ads can be targeted to.

                    Example positions could be {@code pre-roll} (before the video plays), {@code post-roll} (after a video has completed playback) and {@code mid-roll} (during video playback).

                    Empty video position targeting means that all video positions are allowed. If a bumper line item has empty video position targeting it will be updated to target all bumper positions.

                    • targetedPositions - optional, unbounded; type VideoPositionTarget
                      The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.
                      Represents the options for targetable positions within a video.
                      • videoPosition - optional; type VideoPosition
                        Represents a targetable position within a video. A video ad can be targeted to a position (pre-roll, all mid-rolls, or post-roll), or to a specific mid-roll index.
                        • positionType - optional; type VideoPosition.Type - type string with restriction - enum { 'UNKNOWN', 'ALL', 'PREROLL', 'MIDROLL', 'POSTROLL' }
                          The type of video position (pre-roll, mid-roll, or post-roll).
                        • midrollIndex - optional; type int
                          The index of the mid-roll to target. Only valid if the {@link positionType} is {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.
                        The video position to target. This attribute is required.
                      • videoBumperType - optional; type VideoBumperType - type string with restriction - enum { 'BEFORE', 'AFTER' }
                        The video bumper type to target. To target a video position or a pod position, this value must be null. To target a bumper position this value must be populated and the line item must have a bumper type. To target a custom ad spot, this value must be null.
                      • videoPositionWithinPod - optional; type VideoPositionWithinPod
                        Represents a targetable position within a pod within a video stream. A video ad can be targeted to any position in the pod (first, second, third ... last). If there is only 1 ad in a pod, either first or last will target that position.
                        • index - optional; type int
                          The specific index of the pod. The index is defined as:
                          • 1 = first
                          • 2 = second
                          • 3 = third
                          • ....
                          • 100 = last
                          100 will always be the last position. For example, for a pod with 5 positions, 100 would target position 5. Multiple targets against the index 100 can exist.
                          Positions over 100 are not supported.
                        The video position within a pod to target. To target a video position or a bumper position, this value must be null. To target a position within a pod this value must be populated. To target a custom ad spot, this value must be null.
                      • adSpotId - optional; type long
                        A custom spot {@link AdSpot} to target. To target a video position, a bumper type or a video position within a pod this value must be null.
                  • mobileApplicationTargeting - optional; type MobileApplicationTargeting
                    Provides the ability to target or exclude users' mobile applications.
                    • mobileApplicationIds - optional, unbounded; type long
                      The {@link MobileApplication#id IDs} that are being targeted or excluded.
                    • isTargeted - optional; type boolean
                      Indicates whether mobile apps should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                    Specifies targeting against mobile applications.
                  • buyerUserListTargeting - optional; type BuyerUserListTargeting
                    The {@code BuyerUserListTargeting} associated with a programmatic {@link LineItem} or {@link ProposalLineItem} object.
                    • hasBuyerUserListTargeting - optional; type boolean
                      Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user list targeting.
                    Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link ProposalLineItem}. This attribute is readonly and is populated by Google.
                  • inventoryUrlTargeting - optional; type InventoryUrlTargeting
                    A collection of targeted inventory urls.
                    • targetedUrls - optional, unbounded; type InventoryUrl
                      The representation of an inventory Url that is used in targeting.
                      • id - optional; type long
                    • excludedUrls - optional, unbounded; type InventoryUrl
                      The representation of an inventory Url that is used in targeting.
                      • id - optional; type long
                    Specifies the URLs that are targeted by the entity. This is currently only supported by {@link YieldGroup}.
                  • verticalTargeting - optional; type VerticalTargeting
                    Specifies the verticals that are targeted by the entity. The IDs listed here correspond to the IDs in the AD_CATEGORY table of type VERTICAL.
                    Vertical targeting information.
                    • targetedVerticalIds - optional, unbounded; type long
                    • excludedVerticalIds - optional, unbounded; type long
                  • contentLabelTargeting - optional; type ContentLabelTargeting
                    Content label targeting information.
                    • excludedContentLabelIds - optional, unbounded; type long
                    Specifies the content labels that are excluded by the entity. The IDs listed here correspond to the IDs in the CONTENT_LABEL table.
                  • requestPlatformTargeting - optional; type RequestPlatformTargeting
                    Provides line items the ability to target the platform that requests and renders the ad.

                    The following rules apply for {@link RequestPlatformTargeting}

                    • {@link RequestPlatformTargeting} must be specified for {@link ProposalLineItem}s.
                    • {@link RequestPlatformTargeting} must be specified for video line items. Empty values for {@link RequestPlatformTargeting#targetedRequestPlatforms} mean that all request platforms will be targeted.
                    • {@link RequestPlatformTargeting} is read-only and assigned by Google for non-video line items.
                    • {@link RequestPlatformTargeting} is read-only and assigned by Google for line items generated from proposal line items.
                    • targetedRequestPlatforms - optional, unbounded; type RequestPlatform - type string with restriction - enum { 'UNKNOWN', 'BROWSER', 'MOBILE_APP', 'VIDEO_PLAYER' }
                    Specifies the request platforms that are targeted by the {@link LineItem}. This attribute is required for video line items and for {@link ProposalLineItem}.

                    This value is modifiable for video line items, but read-only for non-video line items.

                    This value is read-only for video line items generated from proposal line items.

                  • inventorySizeTargeting - optional; type InventorySizeTargeting
                    Represents a collection of targeted and excluded inventory sizes. This is currently only available on {@link YieldGroup} and {@link TrafficDataRequest}.
                    • isTargeted - optional; type boolean
                      Whether the inventory sizes should be targeted or excluded.
                    • targetedSizes - optional, unbounded; type TargetedSize
                      A list of {@link TargetedSizeDto}s.
                      A size that is targeted on a request.
                      • size - optional; type Size
                        Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                        For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                        • width - optional; type int
                          The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                        • height - optional; type int
                          The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                        • isAspectRatio - optional; type boolean
                          Whether this size represents an aspect ratio.
                    Specifies the sizes that are targeted by the entity. This is currently only supported on {@link YieldGroup} and {@link TrafficDataRequest}.
                • startDateTime - optional; type DateTime
                  This {@link AdRule} object's start date and time. This attribute is required and must be a date in the future for new ad rules.
                  Represents a date combined with the time of day.
                  • date - optional; type Date
                    Represents a date.
                    • year - optional; type int
                      Year (e.g., 2009)
                    • month - optional; type int
                      Month (1..12)
                    • day - optional; type int
                      Day (1..31)
                  • hour - optional; type int
                  • minute - optional; type int
                  • second - optional; type int
                  • timeZoneId - optional; type string
                • startDateTimeType - optional; type StartDateTimeType - type string with restriction - enum { 'USE_START_DATE_TIME', 'IMMEDIATELY', 'ONE_HOUR_FROM_NOW', 'UNKNOWN' }
                  Specifies whether to start using the {@link AdRule} right away, in an hour, etc. This attribute is optional and defaults to {@link StartDateTimeType#USE_START_DATE_TIME}.
                • endDateTime - optional; type DateTime
                  This {@link AdRule} object's end date and time. This attribute is required unless {@code unlimitedEndDateTime} is set to {@code true}. If specified, it must be after the {@code startDateTime}.
                  Represents a date combined with the time of day.
                  • date - optional; type Date
                    Represents a date.
                    • year - optional; type int
                      Year (e.g., 2009)
                    • month - optional; type int
                      Month (1..12)
                    • day - optional; type int
                      Day (1..31)
                  • hour - optional; type int
                  • minute - optional; type int
                  • second - optional; type int
                  • timeZoneId - optional; type string
                • unlimitedEndDateTime - optional; type boolean
                  Specifies whether the {@link AdRule} has an end time. This attribute is optional and defaults to false.
                • status - optional; type AdRuleStatus - type string with restriction - enum { 'ACTIVE', 'INACTIVE', 'UNKNOWN' }
                  The {@link AdRuleStatus} of the ad rule. This attribute is read-only and defaults to {@link AdRuleStatus#INACTIVE}.
                • frequencyCapBehavior - optional; type FrequencyCapBehavior - type string with restriction - enum { 'TURN_ON', 'TURN_OFF', 'DEFER', 'UNKNOWN' }
                  The {@link FrequencyCapBehavior} of the {@link AdRule}. This attribute is optional and defaults to {@link FrequencyCapBehavior#DEFER}.
                • maxImpressionsPerLineItemPerStream - optional; type int
                  This {@link AdRule} object's frequency cap for the maximum impressions per stream. This attribute is optional and defaults to 0.
                • maxImpressionsPerLineItemPerPod - optional; type int
                  This {@link AdRule} object's frequency cap for the maximum impressions per pod. This attribute is optional and defaults to 0.
                • preroll - optional; type BaseAdRuleSlot
                  This {@link AdRule} object's pre-roll slot. This attribute is required.
                  Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                  • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                    The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                    Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                  • maxVideoAdDuration - optional; type long
                    The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                  • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                    The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                  • videoMidrollFrequency - optional; type string
                    The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                  • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                    The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                  • maxBumperDuration - optional; type long
                    The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                  • maxPodDuration - optional; type long
                    The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                  • maxAdsInPod - optional; type int
                    The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                  • breakTemplateId - optional; type long
                    ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
                • midroll - optional; type BaseAdRuleSlot
                  This {@link AdRule} object's mid-roll slot. This attribute is required.
                  Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                  • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                    The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                    Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                  • maxVideoAdDuration - optional; type long
                    The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                  • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                    The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                  • videoMidrollFrequency - optional; type string
                    The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                  • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                    The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                  • maxBumperDuration - optional; type long
                    The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                  • maxPodDuration - optional; type long
                    The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                  • maxAdsInPod - optional; type int
                    The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                  • breakTemplateId - optional; type long
                    ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
                • postroll - optional; type BaseAdRuleSlot
                  This {@link AdRule} object's post-roll slot. This attribute is required.
                  Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                  • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                    The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                    Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                  • maxVideoAdDuration - optional; type long
                    The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                  • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                    The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                  • videoMidrollFrequency - optional; type string
                    The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                  • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                    The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                  • maxBumperDuration - optional; type long
                    The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                  • maxPodDuration - optional; type long
                    The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                  • maxAdsInPod - optional; type int
                    The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                  • breakTemplateId - optional; type long
                    ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
          Fault:
          ApiException (wsdlsoap:fault, use = literal)Source code
          ApiException type ApiExceptionFault
          Exception class for holding a list of service errors.
          Base class for exceptions.
          • message - optional; type string
            Error message.
          • errors - optional, unbounded; type ApiError
            The API error base class that provides details about an error that occurred while processing a service request.

            The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

            • fieldPath - optional; type string
              The OGNL field path to identify cause of error.
            • fieldPathElements - optional, unbounded; type FieldPathElement
              A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
              A segment of a field path. Each dot in a field path defines a new segment.
              • field - optional; type string
                The name of a field in lower camelcase. (e.g. "biddingStrategy")
              • index - optional; type int
                For list fields, this is a 0-indexed position in the list. Null for non-list fields.
            • trigger - optional; type string
              The data that caused the error.
            • errorString - optional; type string
              A simple string representation of the error and reason.
            List of errors.
          A fault element of type ApiException.
        • createAdSpots
          Description:
          Creates new {@link AdSpot} objects.
          Operation type:
          Request-response. The endpoint receives a message, and sends a correlated message.
          Input:
          createAdSpotsRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
          parameters type createAdSpots
          Creates new {@link AdSpot} objects.
          • adSpots - optional, unbounded; type AdSpot
            A {@link AdSpot} is a targetable entity used in the creation of {@link AdRule} objects.

            A ad spot contains a variable number of ads and has constraints (ad duration, reservation type, etc) on the ads that can appear in it.

            • id - optional; type long
              The unique ID of the {@link AdSpot}. This value is readonly and is assigned by Google.
            • name - optional; type string
              Name of the {@link AdSpot}. The name is case insenstive and can be referenced in ad tags. This value is required if {@code customSpot} is true, and cannot be set otherwise.

              You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.

            • displayName - optional; type string
              Descriptive name for the {@link AdSpot}.This value is optional if {@code customSpot} is true, and cannot be set otherwise.
            • customSpot - optional; type boolean
              Whether this ad spot is a custom spot. This field is optional and defaults to false.

              Custom spots can be reused and targeted in the targeting picker.

            • flexible - optional; type boolean
              Whether this ad spot is a flexible spot. This field is optional and defaults to false.

              Flexible spots are allowed to have no max number of ads.

            • maxDurationMillis - optional; type long
              The maximum total duration for this {@link AdSpot}. This field is optional, defaults to 0, and supports precision to the nearest second.
            • maxNumberOfAds - optional; type int
              The maximum number of ads allowed in the {@link AdSpot}. This field is optional and defaults to O.

              A {@code maxNumberOfAds} of 0 means that there is no maximum for the number of ads in the ad spot. No max ads is only supported for ad spots that have {@code flexible} set to true.

            • targetingType - optional; type AdSpotTargetingType - type string with restriction - enum { 'NOT_REQUIRED', 'EXPLICITLY_TARGETED', 'EXPLICITLY_TARGETED_EXCEPT_HOUSE', 'UNKNOWN' }
              The {@link SubpodTargetingType} determines how this ad spot can be targeted. This field is required.
            • backfillBlocked - optional; type boolean
              Whether backfill is blocked in this ad spot. This field is optional and defaults to false.
            • allowedLineItemTypes - optional, unbounded; type LineItemType - type string with restriction - enum { 'SPONSORSHIP', 'STANDARD', 'NETWORK', 'BULK', 'PRICE_PRIORITY', 'HOUSE', 'LEGACY_DFP', 'CLICK_TRACKING', 'ADSENSE', 'AD_EXCHANGE', 'BUMPER', 'ADMOB', 'PREFERRED_DEAL', 'UNKNOWN' }
              The set of line item types that may appear in the ad spot. This field is optional and defaults to an empty set, which means that all types are allowed.

              Note, backfill reservation types are controlled via the {@code backfillBlocked} field.

            • inventorySharingBlocked - optional; type boolean
              Whether inventory sharing is blocked in this ad spot. This field is optional and defaults to false.
          Output:
          createAdSpotsResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
          parameters type createAdSpotsResponse
          • rval - optional, unbounded; type AdSpot
            A {@link AdSpot} is a targetable entity used in the creation of {@link AdRule} objects.

            A ad spot contains a variable number of ads and has constraints (ad duration, reservation type, etc) on the ads that can appear in it.

            • id - optional; type long
              The unique ID of the {@link AdSpot}. This value is readonly and is assigned by Google.
            • name - optional; type string
              Name of the {@link AdSpot}. The name is case insenstive and can be referenced in ad tags. This value is required if {@code customSpot} is true, and cannot be set otherwise.

              You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.

            • displayName - optional; type string
              Descriptive name for the {@link AdSpot}.This value is optional if {@code customSpot} is true, and cannot be set otherwise.
            • customSpot - optional; type boolean
              Whether this ad spot is a custom spot. This field is optional and defaults to false.

              Custom spots can be reused and targeted in the targeting picker.

            • flexible - optional; type boolean
              Whether this ad spot is a flexible spot. This field is optional and defaults to false.

              Flexible spots are allowed to have no max number of ads.

            • maxDurationMillis - optional; type long
              The maximum total duration for this {@link AdSpot}. This field is optional, defaults to 0, and supports precision to the nearest second.
            • maxNumberOfAds - optional; type int
              The maximum number of ads allowed in the {@link AdSpot}. This field is optional and defaults to O.

              A {@code maxNumberOfAds} of 0 means that there is no maximum for the number of ads in the ad spot. No max ads is only supported for ad spots that have {@code flexible} set to true.

            • targetingType - optional; type AdSpotTargetingType - type string with restriction - enum { 'NOT_REQUIRED', 'EXPLICITLY_TARGETED', 'EXPLICITLY_TARGETED_EXCEPT_HOUSE', 'UNKNOWN' }
              The {@link SubpodTargetingType} determines how this ad spot can be targeted. This field is required.
            • backfillBlocked - optional; type boolean
              Whether backfill is blocked in this ad spot. This field is optional and defaults to false.
            • allowedLineItemTypes - optional, unbounded; type LineItemType - type string with restriction - enum { 'SPONSORSHIP', 'STANDARD', 'NETWORK', 'BULK', 'PRICE_PRIORITY', 'HOUSE', 'LEGACY_DFP', 'CLICK_TRACKING', 'ADSENSE', 'AD_EXCHANGE', 'BUMPER', 'ADMOB', 'PREFERRED_DEAL', 'UNKNOWN' }
              The set of line item types that may appear in the ad spot. This field is optional and defaults to an empty set, which means that all types are allowed.

              Note, backfill reservation types are controlled via the {@code backfillBlocked} field.

            • inventorySharingBlocked - optional; type boolean
              Whether inventory sharing is blocked in this ad spot. This field is optional and defaults to false.
          Fault:
          ApiException (wsdlsoap:fault, use = literal)Source code
          ApiException type ApiExceptionFault
          Exception class for holding a list of service errors.
          Base class for exceptions.
          • message - optional; type string
            Error message.
          • errors - optional, unbounded; type ApiError
            The API error base class that provides details about an error that occurred while processing a service request.

            The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

            • fieldPath - optional; type string
              The OGNL field path to identify cause of error.
            • fieldPathElements - optional, unbounded; type FieldPathElement
              A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
              A segment of a field path. Each dot in a field path defines a new segment.
              • field - optional; type string
                The name of a field in lower camelcase. (e.g. "biddingStrategy")
              • index - optional; type int
                For list fields, this is a 0-indexed position in the list. Null for non-list fields.
            • trigger - optional; type string
              The data that caused the error.
            • errorString - optional; type string
              A simple string representation of the error and reason.
            List of errors.
          A fault element of type ApiException.
        • createBreakTemplates
          Description:
          Creates new {@link breakTemplate} objects.
          Operation type:
          Request-response. The endpoint receives a message, and sends a correlated message.
          Input:
          createBreakTemplatesRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
          parameters type createBreakTemplates
          Creates new {@link breakTemplate} objects.
          • breakTemplate - optional, unbounded; type BreakTemplate
            A {@link BreakTemplate} defines what kinds of ads show at which positions within a pod.

            Break templates are made up of {@link AdSpot} objects. A break template must have a single ad spot that has {@code AdSpot#flexible} set to true.

            • id - optional; type long
              The unique ID of the {@link BreakTemplate}. This value is readonly and is assigned by Google.
            • customTemplate - optional; type boolean
              Whether this is custom template. Custom templates get created outside of the ad rule workflow and can be referenced in ad tags.

              Only custom templates can have names and display names.

            • name - optional; type string
              Name of the {@link BreakTemplate}. The name is case insenstive and can be referenced in ad tags. This value is required if {@code customTemplate} is true, and cannot be set otherwise.

              You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.

            • displayName - optional; type string
              Descriptive name for the {@link BreakTemplateDto}. This value is optional if {@code customTemplate} is true, and cannot be set otherwise.
            • breakTemplateMembers - optional, unbounded; type BreakTemplate.BreakTemplateMember
              The list of the {@link BreakTemplateMember} objects in the order in which they should appear in the ad pod. Each {@link BreakTemplateMember} has a reference to a {@link AdSpot}, which defines what kinds of ads can appear at that position, as well as other metadata that defines how each ad spot should be filled.
              A building block of a pod template.
              • adSpotId - optional; type long
                The ID of the {@link AdSpot} that has the settings about what kinds of ads can appear in this position of the {@link BreakTemplate}.
              • adSpotFillType - optional; type AdSpotFillType - type string with restriction - enum { 'REQUIRED', 'OPTIONAL', 'UNKNOWN' }
                The behavior for how the {@link AdSpot} should be filled in the context of the {@link BreakTemplate}.
          Output:
          createBreakTemplatesResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
          parameters type createBreakTemplatesResponse
          • rval - optional, unbounded; type BreakTemplate
            A {@link BreakTemplate} defines what kinds of ads show at which positions within a pod.

            Break templates are made up of {@link AdSpot} objects. A break template must have a single ad spot that has {@code AdSpot#flexible} set to true.

            • id - optional; type long
              The unique ID of the {@link BreakTemplate}. This value is readonly and is assigned by Google.
            • customTemplate - optional; type boolean
              Whether this is custom template. Custom templates get created outside of the ad rule workflow and can be referenced in ad tags.

              Only custom templates can have names and display names.

            • name - optional; type string
              Name of the {@link BreakTemplate}. The name is case insenstive and can be referenced in ad tags. This value is required if {@code customTemplate} is true, and cannot be set otherwise.

              You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.

            • displayName - optional; type string
              Descriptive name for the {@link BreakTemplateDto}. This value is optional if {@code customTemplate} is true, and cannot be set otherwise.
            • breakTemplateMembers - optional, unbounded; type BreakTemplate.BreakTemplateMember
              The list of the {@link BreakTemplateMember} objects in the order in which they should appear in the ad pod. Each {@link BreakTemplateMember} has a reference to a {@link AdSpot}, which defines what kinds of ads can appear at that position, as well as other metadata that defines how each ad spot should be filled.
              A building block of a pod template.
              • adSpotId - optional; type long
                The ID of the {@link AdSpot} that has the settings about what kinds of ads can appear in this position of the {@link BreakTemplate}.
              • adSpotFillType - optional; type AdSpotFillType - type string with restriction - enum { 'REQUIRED', 'OPTIONAL', 'UNKNOWN' }
                The behavior for how the {@link AdSpot} should be filled in the context of the {@link BreakTemplate}.
          Fault:
          ApiException (wsdlsoap:fault, use = literal)Source code
          ApiException type ApiExceptionFault
          Exception class for holding a list of service errors.
          Base class for exceptions.
          • message - optional; type string
            Error message.
          • errors - optional, unbounded; type ApiError
            The API error base class that provides details about an error that occurred while processing a service request.

            The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

            • fieldPath - optional; type string
              The OGNL field path to identify cause of error.
            • fieldPathElements - optional, unbounded; type FieldPathElement
              A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
              A segment of a field path. Each dot in a field path defines a new segment.
              • field - optional; type string
                The name of a field in lower camelcase. (e.g. "biddingStrategy")
              • index - optional; type int
                For list fields, this is a 0-indexed position in the list. Null for non-list fields.
            • trigger - optional; type string
              The data that caused the error.
            • errorString - optional; type string
              A simple string representation of the error and reason.
            List of errors.
          A fault element of type ApiException.
        • getAdRulesByStatement
          Description:
          Gets an {@link AdRulePage} of {@link AdRule} objects that satisfy the given {@link Statement#query}. The following fields are supported for filtering:
          PQL Property Object Property
          {@code id} {@link AdRule#id} ({@link AdRule#adRuleId} beginning in v201702)
          {@code name} {@link AdRule#name}
          {@code priority} {@link AdRule#priority}
          {@code status} {@link AdRule#status}
          Operation type:
          Request-response. The endpoint receives a message, and sends a correlated message.
          Input:
          getAdRulesByStatementRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
          parameters type getAdRulesByStatement
          Gets an {@link AdRulePage} of {@link AdRule} objects that satisfy the given {@link Statement#query}. The following fields are supported for filtering:
          PQL Property Object Property
          {@code id} {@link AdRule#id} ({@link AdRule#adRuleId} beginning in v201702)
          {@code name} {@link AdRule#name}
          {@code priority} {@link AdRule#priority}
          {@code status} {@link AdRule#status}
          • statement - optional; type Statement
            Captures the {@code WHERE}, {@code ORDER BY} and {@code LIMIT} clauses of a PQL query. Statements are typically used to retrieve objects of a predefined domain type, which makes SELECT clause unnecessary.

            An example query text might be {@code "WHERE status = 'ACTIVE' ORDER BY id LIMIT 30"}.

            Statements support bind variables. These are substitutes for literals and can be thought of as input parameters to a PQL query.

            An example of such a query might be {@code "WHERE id = :idValue"}.

            Statements also support use of the LIKE keyword. This provides wildcard string matching.

            An example of such a query might be {@code "WHERE name LIKE '%searchString%'"}.

            The value for the variable idValue must then be set with an object of type {@link Value}, e.g., {@link NumberValue}, {@link TextValue} or {@link BooleanValue}.
            • query - optional; type string
              Holds the query in PQL syntax. The syntax is:
              [WHERE {[AND | OR] ...}]
              [ORDER BY [ASC | DESC]]
              [LIMIT {[,] } | { OFFSET }]


                   := {< | <= | > | >= | = | != }

                   := {< | <= | > | >= | = | != }
              := IN
              := IS NULL
              := LIKE
              := :

            • values - optional, unbounded; type String_ValueMapEntry
              Holds keys and values for bind variables and their values. The key is the name of the bind variable. The value is the literal value of the variable.

              In the example {@code "WHERE status = :bindStatus ORDER BY id LIMIT 30"}, the bind variable, represented by {@code :bindStatus} is named {@code bindStatus}, which would also be the parameter map key. The bind variable's value would be represented by a parameter map value of type {@link TextValue}. The final result, for example, would be an entry of {@code "bindStatus" => StringParam("ACTIVE")}.

              This represents an entry in a map with a key of type String and value of type Value.
              • key - optional; type string
              • value - optional; type Value
                {@code Value} represents a value.
            Output:
            getAdRulesByStatementResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
            parameters type getAdRulesByStatementResponse
            • rval - optional; type AdRulePage
              Captures a page of {@link AdRule} objects.
              • totalResultSetSize - optional; type int
                The size of the total result set to which this page belongs.
              • startIndex - optional; type int
                The absolute index in the total result set on which this page begins.
              • results - optional, unbounded; type AdRule
                An {@link AdRule} contains data that the ad server will use to generate a playlist of video ads.
                • id - optional; type long
                  The unique ID of the {@link AdRule}. This value is readonly and is assigned by Google.
                • name - optional; type string
                  The unique name of the {@link AdRule}. This attribute is required to create an ad rule and has a maximum length of 255 characters.
                • priority - optional; type int
                  The priority of the {@link AdRule}. This attribute is required and can range from 1 to 1000, with 1 being the highest possible priority.

                  Changing an ad rule's priority can affect the priorities of other ad rules. For example, increasing an ad rule's priority from 5 to 1 will shift the ad rules that were previously in priority positions 1 through 4 down one.

                • targeting - optional; type Targeting
                  The targeting criteria of the {@link AdRule}. This attribute is required.
                  Contains targeting criteria for {@link LineItem} objects. See {@link LineItem#targeting}.
                  • geoTargeting - optional; type GeoTargeting
                    Provides line items the ability to target geographical locations. By default, line items target all countries and their subdivisions. With geographical targeting, you can target line items to specific countries, regions, metro areas, and cities. You can also exclude the same.

                    The following rules apply for geographical targeting:

                    • You cannot target and exclude the same location.
                    • You cannot target a child whose parent has been excluded. For example, if the state of Illinois has been excluded, then you cannot target Chicago.
                    • You must not target a location if you are also targeting its parent. For example, if you are targeting New York City, you must not have the state of New York as one of the targeted locations.
                    • You cannot explicitly define inclusions or exclusions that are already implicit. For example, if you explicitly include California, you implicitly exclude all other states. You therefore cannot explicitly exclude Florida, because it is already implicitly excluded. Conversely if you explicitly exclude Florida, you cannot explicitly include California.
                    • targetedLocations - optional, unbounded; type Location
                      The geographical locations being targeted by the {@link LineItem}.
                      A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                      • id - optional; type long
                        Uniquely identifies each {@code Location}.
                      • type - optional; type string
                        The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                      • canonicalParentId - optional; type int
                        The nearest location parent's ID for this geographical entity.
                      • displayName - optional; type string
                        The localized name of the geographical entity.
                    • excludedLocations - optional, unbounded; type Location
                      The geographical locations being excluded by the {@link LineItem}.
                      A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                      • id - optional; type long
                        Uniquely identifies each {@code Location}.
                      • type - optional; type string
                        The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                      • canonicalParentId - optional; type int
                        The nearest location parent's ID for this geographical entity.
                      • displayName - optional; type string
                        The localized name of the geographical entity.
                    Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is optional.
                  • inventoryTargeting - optional; type InventoryTargeting
                    A collection of targeted and excluded ad units and placements.
                    • targetedAdUnits - optional, unbounded; type AdUnitTargeting
                      Represents targeted or excluded ad units.
                      • adUnitId - optional; type string
                        Included or excluded ad unit id.
                      • includeDescendants - optional; type boolean
                        Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                      A list of targeted {@link AdUnitTargeting}.
                    • excludedAdUnits - optional, unbounded; type AdUnitTargeting
                      Represents targeted or excluded ad units.
                      • adUnitId - optional; type string
                        Included or excluded ad unit id.
                      • includeDescendants - optional; type boolean
                        Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                      A list of excluded {@link AdUnitTargeting}.
                    • targetedPlacementIds - optional, unbounded; type long
                      A list of targeted {@link Placement} ids.
                    Specifies what inventory is targeted by the {@link LineItem}. This attribute is required. The line item must target at least one ad unit or placement.
                  • dayPartTargeting - optional; type DayPartTargeting
                    Modify the delivery times of line items for particular days of the week. By default, line items are served at all days and times.
                    • dayParts - optional, unbounded; type DayPart
                      {@code DayPart} represents a time-period within a day of the week which is targeted by a {@link LineItem}.
                      • dayOfWeek - optional; type DayOfWeek - type string with restriction - enum { 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY' }
                        Day of the week the target applies to. This field is required.
                      • startTime - optional; type TimeOfDay
                        Represents the start time of the targeted period (inclusive).
                        Represents a specific time in a day.
                        • hour - optional; type int
                          Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                        • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                          Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                      • endTime - optional; type TimeOfDay
                        Represents the end time of the targeted period (exclusive).
                        Represents a specific time in a day.
                        • hour - optional; type int
                          Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                        • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                          Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                      Specifies days of the week and times at which a {@code LineItem} will be delivered.

                      If targeting all days and times, this value will be ignored.

                    • timeZone - optional; type DeliveryTimeZone - type string with restriction - enum { 'PUBLISHER', 'BROWSER' }
                      Specifies the time zone to be used for delivering {@link LineItem} objects. This attribute is optional and defaults to {@link DeliveryTimeZone#BROWSER}.

                      Setting this has no effect if targeting all days and times.

                    Specifies the days of the week and times that are targeted by the {@link LineItem}. This attribute is optional.
                  • dateTimeRangeTargeting - optional; type DateTimeRangeTargeting
                    The date time ranges that the line item is eligible to serve.
                    • targetedDateTimeRanges - optional, unbounded; type DateTimeRange
                      Represents a range of dates (combined with time of day) that has an upper and/or lower bound.
                      • startDateTime - optional; type DateTime
                        Represents a date combined with the time of day.
                        • date - optional; type Date
                          Represents a date.
                          • year - optional; type int
                            Year (e.g., 2009)
                          • month - optional; type int
                            Month (1..12)
                          • day - optional; type int
                            Day (1..31)
                        • hour - optional; type int
                        • minute - optional; type int
                        • second - optional; type int
                        • timeZoneId - optional; type string
                        The start date time of this range. This field is optional and if it is not set then there is no lower bound on the date time range. If this field is not set then {@code endDateTime} must be specified.
                      • endDateTime - optional; type DateTime
                        Represents a date combined with the time of day.
                        • date - optional; type Date
                          Represents a date.
                          • year - optional; type int
                            Year (e.g., 2009)
                          • month - optional; type int
                            Month (1..12)
                          • day - optional; type int
                            Day (1..31)
                        • hour - optional; type int
                        • minute - optional; type int
                        • second - optional; type int
                        • timeZoneId - optional; type string
                        The end date time of this range. This field is optional and if it is not set then there is no upper bound on the date time range. If this field is not set then {@code startDateTime} must be specified.
                    Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute is optional.
                  • technologyTargeting - optional; type TechnologyTargeting
                    Provides {@link LineItem} objects the ability to target or exclude technologies.
                    • bandwidthGroupTargeting - optional; type BandwidthGroupTargeting
                      The bandwidth groups being targeted by the {@link LineItem}.
                      Represents bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                      • isTargeted - optional; type boolean
                        Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                      • bandwidthGroups - optional, unbounded; type Technology
                        The bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                    • browserTargeting - optional; type BrowserTargeting
                      The browsers being targeted by the {@link LineItem}.
                      Represents browsers that are being targeted or excluded by the {@link LineItem}.
                      • isTargeted - optional; type boolean
                        Indicates whether browsers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                      • browsers - optional, unbounded; type Technology
                        Browsers that are being targeted or excluded by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                    • browserLanguageTargeting - optional; type BrowserLanguageTargeting
                      The languages of browsers being targeted by the {@link LineItem}.
                      Represents browser languages that are being targeted or excluded by the {@link LineItem}.
                      • isTargeted - optional; type boolean
                        Indicates whether browsers languages should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                      • browserLanguages - optional, unbounded; type Technology
                        Browser languages that are being targeted or excluded by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                    • deviceCapabilityTargeting - optional; type DeviceCapabilityTargeting
                      The device capabilities being targeted by the {@link LineItem}.
                      Represents device capabilities that are being targeted or excluded by the {@link LineItem}.
                      • targetedDeviceCapabilities - optional, unbounded; type Technology
                        Device capabilities that are being targeted by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                      • excludedDeviceCapabilities - optional, unbounded; type Technology
                        Device capabilities that are being excluded by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                    • deviceCategoryTargeting - optional; type DeviceCategoryTargeting
                      The device categories being targeted by the {@link LineItem}.
                      Represents device categories that are being targeted or excluded by the {@link LineItem}.
                      • targetedDeviceCategories - optional, unbounded; type Technology
                        Device categories that are being targeted by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                      • excludedDeviceCategories - optional, unbounded; type Technology
                        Device categories that are being excluded by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                    • deviceManufacturerTargeting - optional; type DeviceManufacturerTargeting
                      The device manufacturers being targeted by the {@link LineItem}.
                      Represents device manufacturer that are being targeted or excluded by the {@link LineItem}.
                      • isTargeted - optional; type boolean
                        Indicates whether device manufacturers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                      • deviceManufacturers - optional, unbounded; type Technology
                        Device manufacturers that are being targeted or excluded by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                    • mobileCarrierTargeting - optional; type MobileCarrierTargeting
                      The mobile carriers being targeted by the {@link LineItem}.
                      Represents mobile carriers that are being targeted or excluded by the {@link LineItem}.
                      • isTargeted - optional; type boolean
                        Indicates whether mobile carriers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                      • mobileCarriers - optional, unbounded; type Technology
                        Mobile carriers that are being targeted or excluded by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                    • mobileDeviceTargeting - optional; type MobileDeviceTargeting
                      The mobile devices being targeted by the {@link LineItem}.
                      Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                      • targetedMobileDevices - optional, unbounded; type Technology
                        Mobile devices that are being targeted by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                      • excludedMobileDevices - optional, unbounded; type Technology
                        Mobile devices that are being excluded by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                    • mobileDeviceSubmodelTargeting - optional; type MobileDeviceSubmodelTargeting
                      The mobile device submodels being targeted by the {@link LineItem}.
                      Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                      • targetedMobileDeviceSubmodels - optional, unbounded; type Technology
                        Mobile device submodels that are being targeted by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                      • excludedMobileDeviceSubmodels - optional, unbounded; type Technology
                        Mobile device submodels that are being excluded by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                    • operatingSystemTargeting - optional; type OperatingSystemTargeting
                      The operating systems being targeted by the {@link LineItem}.
                      Represents operating systems that are being targeted or excluded by the {@link LineItem}.
                      • isTargeted - optional; type boolean
                        Indicates whether operating systems should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                      • operatingSystems - optional, unbounded; type Technology
                        Operating systems that are being targeted or excluded by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                    • operatingSystemVersionTargeting - optional; type OperatingSystemVersionTargeting
                      The operating system versions being targeted by the {@link LineItem}.
                      Represents operating system versions that are being targeted or excluded by the {@link LineItem}.
                      • targetedOperatingSystemVersions - optional, unbounded; type Technology
                        Operating system versions that are being targeted by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                      • excludedOperatingSystemVersions - optional, unbounded; type Technology
                        Operating system versions that are being excluded by the {@link LineItem}.
                        Represents a technology entity that can be targeted.
                        • id - optional; type long
                          The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                        • name - optional; type string
                          The name of the technology being targeting. This value is read-only and is assigned by Google.
                    Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute is optional.
                  • customTargeting - optional; type CustomCriteriaSet - extension of abstract type CustomCriteriaNode
                    A {@link CustomCriteriaSet} comprises of a set of {@link CustomCriteriaNode} objects combined by the {@link CustomCriteriaSet.LogicalOperator#logicalOperator}. The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                    A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                      • logicalOperator - optional; type CustomCriteriaSet.LogicalOperator - type string with restriction - enum { 'AND', 'OR' }
                        The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is required. This attribute is required.
                      • children - optional, unbounded; type CustomCriteriaNode
                        The custom criteria. This attribute is required.
                        A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                          Specifies the collection of custom criteria that is targeted by the {@link LineItem}.

                          Once the {@link LineItem} is updated or modified with custom targeting, the server may return a normalized, but equivalent representation of the custom targeting expression.

                          {@code customTargeting} will have up to three levels of expressions including itself.

                          The top level {@code CustomCriteriaSet} i.e. the {@code customTargeting} object can only contain a {@link CustomCriteriaSet.LogicalOperator#OR} of all its children.

                          The second level of {@code CustomCriteriaSet} objects can only contain {@link CustomCriteriaSet.LogicalOperator#AND} of all their children. If a {@link CustomCriteria} is placed on this level, the server will wrap it in a {@link CustomCriteriaSet}.

                          The third level can only comprise of {@link CustomCriteria} objects.

                          The resulting custom targeting tree would be of the form:

                        • userDomainTargeting - optional; type UserDomainTargeting
                          Specifies the domains or subdomains that are targeted or excluded by the {@link LineItem}. Users visiting from an IP address associated with those domains will be targeted or excluded. This attribute is optional.
                          Provides line items the ability to target or exclude users visiting their websites from a list of domains or subdomains.
                          • domains - optional, unbounded; type string
                            The domains or subdomains that are being targeted or excluded by the {@link LineItem}. This attribute is required and the maximum length of each domain is 67 characters.
                          • targeted - optional; type boolean
                            Indicates whether domains should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                        • contentTargeting - optional; type ContentTargeting
                          Used to target {@link LineItem}s to specific videos on a publisher's site.
                          • targetedContentIds - optional, unbounded; type long
                            The IDs of content being targeted by the {@code LineItem}.
                          • excludedContentIds - optional, unbounded; type long
                            The IDs of content being excluded by the {@code LineItem}.
                          • targetedVideoContentBundleIds - optional, unbounded; type long
                            A list of video content bundles, represented by {@link ContentBundle} IDs, that are being targeted by the {@code LineItem}.
                          • excludedVideoContentBundleIds - optional, unbounded; type long
                            A list of video content bundles, represented by {@link ContentBundle} IDs, that are being excluded by the {@code LineItem}.
                          Specifies the video categories and individual videos targeted by the {@link LineItem}.
                        • videoPositionTargeting - optional; type VideoPositionTargeting
                          Specifies targeting against video position types.
                          Represents positions within and around a video where ads can be targeted to.

                          Example positions could be {@code pre-roll} (before the video plays), {@code post-roll} (after a video has completed playback) and {@code mid-roll} (during video playback).

                          Empty video position targeting means that all video positions are allowed. If a bumper line item has empty video position targeting it will be updated to target all bumper positions.

                          • targetedPositions - optional, unbounded; type VideoPositionTarget
                            The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.
                            Represents the options for targetable positions within a video.
                            • videoPosition - optional; type VideoPosition
                              Represents a targetable position within a video. A video ad can be targeted to a position (pre-roll, all mid-rolls, or post-roll), or to a specific mid-roll index.
                              • positionType - optional; type VideoPosition.Type - type string with restriction - enum { 'UNKNOWN', 'ALL', 'PREROLL', 'MIDROLL', 'POSTROLL' }
                                The type of video position (pre-roll, mid-roll, or post-roll).
                              • midrollIndex - optional; type int
                                The index of the mid-roll to target. Only valid if the {@link positionType} is {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.
                              The video position to target. This attribute is required.
                            • videoBumperType - optional; type VideoBumperType - type string with restriction - enum { 'BEFORE', 'AFTER' }
                              The video bumper type to target. To target a video position or a pod position, this value must be null. To target a bumper position this value must be populated and the line item must have a bumper type. To target a custom ad spot, this value must be null.
                            • videoPositionWithinPod - optional; type VideoPositionWithinPod
                              Represents a targetable position within a pod within a video stream. A video ad can be targeted to any position in the pod (first, second, third ... last). If there is only 1 ad in a pod, either first or last will target that position.
                              • index - optional; type int
                                The specific index of the pod. The index is defined as:
                                • 1 = first
                                • 2 = second
                                • 3 = third
                                • ....
                                • 100 = last
                                100 will always be the last position. For example, for a pod with 5 positions, 100 would target position 5. Multiple targets against the index 100 can exist.
                                Positions over 100 are not supported.
                              The video position within a pod to target. To target a video position or a bumper position, this value must be null. To target a position within a pod this value must be populated. To target a custom ad spot, this value must be null.
                            • adSpotId - optional; type long
                              A custom spot {@link AdSpot} to target. To target a video position, a bumper type or a video position within a pod this value must be null.
                        • mobileApplicationTargeting - optional; type MobileApplicationTargeting
                          Provides the ability to target or exclude users' mobile applications.
                          • mobileApplicationIds - optional, unbounded; type long
                            The {@link MobileApplication#id IDs} that are being targeted or excluded.
                          • isTargeted - optional; type boolean
                            Indicates whether mobile apps should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                          Specifies targeting against mobile applications.
                        • buyerUserListTargeting - optional; type BuyerUserListTargeting
                          The {@code BuyerUserListTargeting} associated with a programmatic {@link LineItem} or {@link ProposalLineItem} object.
                          • hasBuyerUserListTargeting - optional; type boolean
                            Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user list targeting.
                          Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link ProposalLineItem}. This attribute is readonly and is populated by Google.
                        • inventoryUrlTargeting - optional; type InventoryUrlTargeting
                          A collection of targeted inventory urls.
                          • targetedUrls - optional, unbounded; type InventoryUrl
                            The representation of an inventory Url that is used in targeting.
                            • id - optional; type long
                          • excludedUrls - optional, unbounded; type InventoryUrl
                            The representation of an inventory Url that is used in targeting.
                            • id - optional; type long
                          Specifies the URLs that are targeted by the entity. This is currently only supported by {@link YieldGroup}.
                        • verticalTargeting - optional; type VerticalTargeting
                          Specifies the verticals that are targeted by the entity. The IDs listed here correspond to the IDs in the AD_CATEGORY table of type VERTICAL.
                          Vertical targeting information.
                          • targetedVerticalIds - optional, unbounded; type long
                          • excludedVerticalIds - optional, unbounded; type long
                        • contentLabelTargeting - optional; type ContentLabelTargeting
                          Content label targeting information.
                          • excludedContentLabelIds - optional, unbounded; type long
                          Specifies the content labels that are excluded by the entity. The IDs listed here correspond to the IDs in the CONTENT_LABEL table.
                        • requestPlatformTargeting - optional; type RequestPlatformTargeting
                          Provides line items the ability to target the platform that requests and renders the ad.

                          The following rules apply for {@link RequestPlatformTargeting}

                          • {@link RequestPlatformTargeting} must be specified for {@link ProposalLineItem}s.
                          • {@link RequestPlatformTargeting} must be specified for video line items. Empty values for {@link RequestPlatformTargeting#targetedRequestPlatforms} mean that all request platforms will be targeted.
                          • {@link RequestPlatformTargeting} is read-only and assigned by Google for non-video line items.
                          • {@link RequestPlatformTargeting} is read-only and assigned by Google for line items generated from proposal line items.
                          • targetedRequestPlatforms - optional, unbounded; type RequestPlatform - type string with restriction - enum { 'UNKNOWN', 'BROWSER', 'MOBILE_APP', 'VIDEO_PLAYER' }
                          Specifies the request platforms that are targeted by the {@link LineItem}. This attribute is required for video line items and for {@link ProposalLineItem}.

                          This value is modifiable for video line items, but read-only for non-video line items.

                          This value is read-only for video line items generated from proposal line items.

                        • inventorySizeTargeting - optional; type InventorySizeTargeting
                          Represents a collection of targeted and excluded inventory sizes. This is currently only available on {@link YieldGroup} and {@link TrafficDataRequest}.
                          • isTargeted - optional; type boolean
                            Whether the inventory sizes should be targeted or excluded.
                          • targetedSizes - optional, unbounded; type TargetedSize
                            A list of {@link TargetedSizeDto}s.
                            A size that is targeted on a request.
                            • size - optional; type Size
                              Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                              For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                              • width - optional; type int
                                The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                              • height - optional; type int
                                The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                              • isAspectRatio - optional; type boolean
                                Whether this size represents an aspect ratio.
                          Specifies the sizes that are targeted by the entity. This is currently only supported on {@link YieldGroup} and {@link TrafficDataRequest}.
                      • startDateTime - optional; type DateTime
                        This {@link AdRule} object's start date and time. This attribute is required and must be a date in the future for new ad rules.
                        Represents a date combined with the time of day.
                        • date - optional; type Date
                          Represents a date.
                          • year - optional; type int
                            Year (e.g., 2009)
                          • month - optional; type int
                            Month (1..12)
                          • day - optional; type int
                            Day (1..31)
                        • hour - optional; type int
                        • minute - optional; type int
                        • second - optional; type int
                        • timeZoneId - optional; type string
                      • startDateTimeType - optional; type StartDateTimeType - type string with restriction - enum { 'USE_START_DATE_TIME', 'IMMEDIATELY', 'ONE_HOUR_FROM_NOW', 'UNKNOWN' }
                        Specifies whether to start using the {@link AdRule} right away, in an hour, etc. This attribute is optional and defaults to {@link StartDateTimeType#USE_START_DATE_TIME}.
                      • endDateTime - optional; type DateTime
                        This {@link AdRule} object's end date and time. This attribute is required unless {@code unlimitedEndDateTime} is set to {@code true}. If specified, it must be after the {@code startDateTime}.
                        Represents a date combined with the time of day.
                        • date - optional; type Date
                          Represents a date.
                          • year - optional; type int
                            Year (e.g., 2009)
                          • month - optional; type int
                            Month (1..12)
                          • day - optional; type int
                            Day (1..31)
                        • hour - optional; type int
                        • minute - optional; type int
                        • second - optional; type int
                        • timeZoneId - optional; type string
                      • unlimitedEndDateTime - optional; type boolean
                        Specifies whether the {@link AdRule} has an end time. This attribute is optional and defaults to false.
                      • status - optional; type AdRuleStatus - type string with restriction - enum { 'ACTIVE', 'INACTIVE', 'UNKNOWN' }
                        The {@link AdRuleStatus} of the ad rule. This attribute is read-only and defaults to {@link AdRuleStatus#INACTIVE}.
                      • frequencyCapBehavior - optional; type FrequencyCapBehavior - type string with restriction - enum { 'TURN_ON', 'TURN_OFF', 'DEFER', 'UNKNOWN' }
                        The {@link FrequencyCapBehavior} of the {@link AdRule}. This attribute is optional and defaults to {@link FrequencyCapBehavior#DEFER}.
                      • maxImpressionsPerLineItemPerStream - optional; type int
                        This {@link AdRule} object's frequency cap for the maximum impressions per stream. This attribute is optional and defaults to 0.
                      • maxImpressionsPerLineItemPerPod - optional; type int
                        This {@link AdRule} object's frequency cap for the maximum impressions per pod. This attribute is optional and defaults to 0.
                      • preroll - optional; type BaseAdRuleSlot
                        This {@link AdRule} object's pre-roll slot. This attribute is required.
                        Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                        • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                          The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                          Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                        • maxVideoAdDuration - optional; type long
                          The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                        • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                          The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                        • videoMidrollFrequency - optional; type string
                          The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                        • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                          The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                        • maxBumperDuration - optional; type long
                          The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                        • maxPodDuration - optional; type long
                          The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                        • maxAdsInPod - optional; type int
                          The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                        • breakTemplateId - optional; type long
                          ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
                      • midroll - optional; type BaseAdRuleSlot
                        This {@link AdRule} object's mid-roll slot. This attribute is required.
                        Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                        • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                          The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                          Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                        • maxVideoAdDuration - optional; type long
                          The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                        • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                          The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                        • videoMidrollFrequency - optional; type string
                          The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                        • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                          The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                        • maxBumperDuration - optional; type long
                          The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                        • maxPodDuration - optional; type long
                          The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                        • maxAdsInPod - optional; type int
                          The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                        • breakTemplateId - optional; type long
                          ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
                      • postroll - optional; type BaseAdRuleSlot
                        This {@link AdRule} object's post-roll slot. This attribute is required.
                        Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                        • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                          The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                          Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                        • maxVideoAdDuration - optional; type long
                          The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                        • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                          The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                        • videoMidrollFrequency - optional; type string
                          The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                        • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                          The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                        • maxBumperDuration - optional; type long
                          The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                        • maxPodDuration - optional; type long
                          The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                        • maxAdsInPod - optional; type int
                          The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                        • breakTemplateId - optional; type long
                          ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
                      The collection of ad rules contained within this page.
              Fault:
              ApiException (wsdlsoap:fault, use = literal)Source code
              ApiException type ApiExceptionFault
              Exception class for holding a list of service errors.
              Base class for exceptions.
              • message - optional; type string
                Error message.
              • errors - optional, unbounded; type ApiError
                The API error base class that provides details about an error that occurred while processing a service request.

                The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

                • fieldPath - optional; type string
                  The OGNL field path to identify cause of error.
                • fieldPathElements - optional, unbounded; type FieldPathElement
                  A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
                  A segment of a field path. Each dot in a field path defines a new segment.
                  • field - optional; type string
                    The name of a field in lower camelcase. (e.g. "biddingStrategy")
                  • index - optional; type int
                    For list fields, this is a 0-indexed position in the list. Null for non-list fields.
                • trigger - optional; type string
                  The data that caused the error.
                • errorString - optional; type string
                  A simple string representation of the error and reason.
                List of errors.
              A fault element of type ApiException.
            • getAdSpotsByStatement
              Description:
              Gets a {@link AdSpotPage} of {@link AdSpot} objects that satisfy the given {@link Statement#query}.
              Operation type:
              Request-response. The endpoint receives a message, and sends a correlated message.
              Input:
              getAdSpotsByStatementRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
              parameters type getAdSpotsByStatement
              Gets a {@link AdSpotPage} of {@link AdSpot} objects that satisfy the given {@link Statement#query}.
              • filterStatement - optional; type Statement
                Captures the {@code WHERE}, {@code ORDER BY} and {@code LIMIT} clauses of a PQL query. Statements are typically used to retrieve objects of a predefined domain type, which makes SELECT clause unnecessary.

                An example query text might be {@code "WHERE status = 'ACTIVE' ORDER BY id LIMIT 30"}.

                Statements support bind variables. These are substitutes for literals and can be thought of as input parameters to a PQL query.

                An example of such a query might be {@code "WHERE id = :idValue"}.

                Statements also support use of the LIKE keyword. This provides wildcard string matching.

                An example of such a query might be {@code "WHERE name LIKE '%searchString%'"}.

                The value for the variable idValue must then be set with an object of type {@link Value}, e.g., {@link NumberValue}, {@link TextValue} or {@link BooleanValue}.
                • query - optional; type string
                  Holds the query in PQL syntax. The syntax is:
                  [WHERE {[AND | OR] ...}]
                  [ORDER BY [ASC | DESC]]
                  [LIMIT {[,] } | { OFFSET }]


                       := {< | <= | > | >= | = | != }

                       := {< | <= | > | >= | = | != }
                  := IN
                  := IS NULL
                  := LIKE
                  := :

                • values - optional, unbounded; type String_ValueMapEntry
                  Holds keys and values for bind variables and their values. The key is the name of the bind variable. The value is the literal value of the variable.

                  In the example {@code "WHERE status = :bindStatus ORDER BY id LIMIT 30"}, the bind variable, represented by {@code :bindStatus} is named {@code bindStatus}, which would also be the parameter map key. The bind variable's value would be represented by a parameter map value of type {@link TextValue}. The final result, for example, would be an entry of {@code "bindStatus" => StringParam("ACTIVE")}.

                  This represents an entry in a map with a key of type String and value of type Value.
                  • key - optional; type string
                  • value - optional; type Value
                    {@code Value} represents a value.
                Output:
                getAdSpotsByStatementResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
                parameters type getAdSpotsByStatementResponse
                • rval - optional; type AdSpotPage
                  Captures a page of {@link AdSpot} objects.
                  • totalResultSetSize - optional; type int
                    The size of the total result set to which this page belongs.
                  • startIndex - optional; type int
                    The absolute index in the total result set on which this page begins.
                  • results - optional, unbounded; type AdSpot
                    A {@link AdSpot} is a targetable entity used in the creation of {@link AdRule} objects.

                    A ad spot contains a variable number of ads and has constraints (ad duration, reservation type, etc) on the ads that can appear in it.

                    • id - optional; type long
                      The unique ID of the {@link AdSpot}. This value is readonly and is assigned by Google.
                    • name - optional; type string
                      Name of the {@link AdSpot}. The name is case insenstive and can be referenced in ad tags. This value is required if {@code customSpot} is true, and cannot be set otherwise.

                      You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.

                    • displayName - optional; type string
                      Descriptive name for the {@link AdSpot}.This value is optional if {@code customSpot} is true, and cannot be set otherwise.
                    • customSpot - optional; type boolean
                      Whether this ad spot is a custom spot. This field is optional and defaults to false.

                      Custom spots can be reused and targeted in the targeting picker.

                    • flexible - optional; type boolean
                      Whether this ad spot is a flexible spot. This field is optional and defaults to false.

                      Flexible spots are allowed to have no max number of ads.

                    • maxDurationMillis - optional; type long
                      The maximum total duration for this {@link AdSpot}. This field is optional, defaults to 0, and supports precision to the nearest second.
                    • maxNumberOfAds - optional; type int
                      The maximum number of ads allowed in the {@link AdSpot}. This field is optional and defaults to O.

                      A {@code maxNumberOfAds} of 0 means that there is no maximum for the number of ads in the ad spot. No max ads is only supported for ad spots that have {@code flexible} set to true.

                    • targetingType - optional; type AdSpotTargetingType - type string with restriction - enum { 'NOT_REQUIRED', 'EXPLICITLY_TARGETED', 'EXPLICITLY_TARGETED_EXCEPT_HOUSE', 'UNKNOWN' }
                      The {@link SubpodTargetingType} determines how this ad spot can be targeted. This field is required.
                    • backfillBlocked - optional; type boolean
                      Whether backfill is blocked in this ad spot. This field is optional and defaults to false.
                    • allowedLineItemTypes - optional, unbounded; type LineItemType - type string with restriction - enum { 'SPONSORSHIP', 'STANDARD', 'NETWORK', 'BULK', 'PRICE_PRIORITY', 'HOUSE', 'LEGACY_DFP', 'CLICK_TRACKING', 'ADSENSE', 'AD_EXCHANGE', 'BUMPER', 'ADMOB', 'PREFERRED_DEAL', 'UNKNOWN' }
                      The set of line item types that may appear in the ad spot. This field is optional and defaults to an empty set, which means that all types are allowed.

                      Note, backfill reservation types are controlled via the {@code backfillBlocked} field.

                    • inventorySharingBlocked - optional; type boolean
                      Whether inventory sharing is blocked in this ad spot. This field is optional and defaults to false.
                    The collection of ad spot contained within this page.
                Fault:
                ApiException (wsdlsoap:fault, use = literal)Source code
                ApiException type ApiExceptionFault
                Exception class for holding a list of service errors.
                Base class for exceptions.
                • message - optional; type string
                  Error message.
                • errors - optional, unbounded; type ApiError
                  The API error base class that provides details about an error that occurred while processing a service request.

                  The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

                  • fieldPath - optional; type string
                    The OGNL field path to identify cause of error.
                  • fieldPathElements - optional, unbounded; type FieldPathElement
                    A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
                    A segment of a field path. Each dot in a field path defines a new segment.
                    • field - optional; type string
                      The name of a field in lower camelcase. (e.g. "biddingStrategy")
                    • index - optional; type int
                      For list fields, this is a 0-indexed position in the list. Null for non-list fields.
                  • trigger - optional; type string
                    The data that caused the error.
                  • errorString - optional; type string
                    A simple string representation of the error and reason.
                  List of errors.
                A fault element of type ApiException.
              • getBreakTemplatesByStatement
                Description:
                Gets a {@link BreakTemplatePage} of {@link BreakTemplate} objects that satisfy the given {@link Statement#query}.
                Operation type:
                Request-response. The endpoint receives a message, and sends a correlated message.
                Input:
                getBreakTemplatesByStatementRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
                parameters type getBreakTemplatesByStatement
                Gets a {@link BreakTemplatePage} of {@link BreakTemplate} objects that satisfy the given {@link Statement#query}.
                • filterStatement - optional; type Statement
                  Captures the {@code WHERE}, {@code ORDER BY} and {@code LIMIT} clauses of a PQL query. Statements are typically used to retrieve objects of a predefined domain type, which makes SELECT clause unnecessary.

                  An example query text might be {@code "WHERE status = 'ACTIVE' ORDER BY id LIMIT 30"}.

                  Statements support bind variables. These are substitutes for literals and can be thought of as input parameters to a PQL query.

                  An example of such a query might be {@code "WHERE id = :idValue"}.

                  Statements also support use of the LIKE keyword. This provides wildcard string matching.

                  An example of such a query might be {@code "WHERE name LIKE '%searchString%'"}.

                  The value for the variable idValue must then be set with an object of type {@link Value}, e.g., {@link NumberValue}, {@link TextValue} or {@link BooleanValue}.
                  • query - optional; type string
                    Holds the query in PQL syntax. The syntax is:
                    [WHERE {[AND | OR] ...}]
                    [ORDER BY [ASC | DESC]]
                    [LIMIT {[,] } | { OFFSET }]


                         := {< | <= | > | >= | = | != }

                         := {< | <= | > | >= | = | != }
                    := IN
                    := IS NULL
                    := LIKE
                    := :

                  • values - optional, unbounded; type String_ValueMapEntry
                    Holds keys and values for bind variables and their values. The key is the name of the bind variable. The value is the literal value of the variable.

                    In the example {@code "WHERE status = :bindStatus ORDER BY id LIMIT 30"}, the bind variable, represented by {@code :bindStatus} is named {@code bindStatus}, which would also be the parameter map key. The bind variable's value would be represented by a parameter map value of type {@link TextValue}. The final result, for example, would be an entry of {@code "bindStatus" => StringParam("ACTIVE")}.

                    This represents an entry in a map with a key of type String and value of type Value.
                    • key - optional; type string
                    • value - optional; type Value
                      {@code Value} represents a value.
                  Output:
                  getBreakTemplatesByStatementResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
                  parameters type getBreakTemplatesByStatementResponse
                  • rval - optional; type BreakTemplatePage
                    Captures a page of {@link BreakTemplate} objects.
                    • totalResultSetSize - optional; type int
                      The size of the total result set to which this page belongs.
                    • startIndex - optional; type int
                      The absolute index in the total result set on which this page begins.
                    • results - optional, unbounded; type BreakTemplate
                      A {@link BreakTemplate} defines what kinds of ads show at which positions within a pod.

                      Break templates are made up of {@link AdSpot} objects. A break template must have a single ad spot that has {@code AdSpot#flexible} set to true.

                      • id - optional; type long
                        The unique ID of the {@link BreakTemplate}. This value is readonly and is assigned by Google.
                      • customTemplate - optional; type boolean
                        Whether this is custom template. Custom templates get created outside of the ad rule workflow and can be referenced in ad tags.

                        Only custom templates can have names and display names.

                      • name - optional; type string
                        Name of the {@link BreakTemplate}. The name is case insenstive and can be referenced in ad tags. This value is required if {@code customTemplate} is true, and cannot be set otherwise.

                        You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.

                      • displayName - optional; type string
                        Descriptive name for the {@link BreakTemplateDto}. This value is optional if {@code customTemplate} is true, and cannot be set otherwise.
                      • breakTemplateMembers - optional, unbounded; type BreakTemplate.BreakTemplateMember
                        The list of the {@link BreakTemplateMember} objects in the order in which they should appear in the ad pod. Each {@link BreakTemplateMember} has a reference to a {@link AdSpot}, which defines what kinds of ads can appear at that position, as well as other metadata that defines how each ad spot should be filled.
                        A building block of a pod template.
                        • adSpotId - optional; type long
                          The ID of the {@link AdSpot} that has the settings about what kinds of ads can appear in this position of the {@link BreakTemplate}.
                        • adSpotFillType - optional; type AdSpotFillType - type string with restriction - enum { 'REQUIRED', 'OPTIONAL', 'UNKNOWN' }
                          The behavior for how the {@link AdSpot} should be filled in the context of the {@link BreakTemplate}.
                      The collection of break templates contained within this page.
                  Fault:
                  ApiException (wsdlsoap:fault, use = literal)Source code
                  ApiException type ApiExceptionFault
                  Exception class for holding a list of service errors.
                  Base class for exceptions.
                  • message - optional; type string
                    Error message.
                  • errors - optional, unbounded; type ApiError
                    The API error base class that provides details about an error that occurred while processing a service request.

                    The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

                    • fieldPath - optional; type string
                      The OGNL field path to identify cause of error.
                    • fieldPathElements - optional, unbounded; type FieldPathElement
                      A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
                      A segment of a field path. Each dot in a field path defines a new segment.
                      • field - optional; type string
                        The name of a field in lower camelcase. (e.g. "biddingStrategy")
                      • index - optional; type int
                        For list fields, this is a 0-indexed position in the list. Null for non-list fields.
                    • trigger - optional; type string
                      The data that caused the error.
                    • errorString - optional; type string
                      A simple string representation of the error and reason.
                    List of errors.
                  A fault element of type ApiException.
                • performAdRuleAction
                  Description:
                  Performs actions on {@link AdRule} objects that match the given {@link Statement#query}.
                  Operation type:
                  Request-response. The endpoint receives a message, and sends a correlated message.
                  Input:
                  performAdRuleActionRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
                  parameters type performAdRuleAction
                  Performs actions on {@link AdRule} objects that match the given {@link Statement#query}.
                  • adRuleAction - optional; type AdRuleAction
                    Represents the actions that can be performed on {@link AdRule} objects.
                    • filterStatement - optional; type Statement
                      Captures the {@code WHERE}, {@code ORDER BY} and {@code LIMIT} clauses of a PQL query. Statements are typically used to retrieve objects of a predefined domain type, which makes SELECT clause unnecessary.

                      An example query text might be {@code "WHERE status = 'ACTIVE' ORDER BY id LIMIT 30"}.

                      Statements support bind variables. These are substitutes for literals and can be thought of as input parameters to a PQL query.

                      An example of such a query might be {@code "WHERE id = :idValue"}.

                      Statements also support use of the LIKE keyword. This provides wildcard string matching.

                      An example of such a query might be {@code "WHERE name LIKE '%searchString%'"}.

                      The value for the variable idValue must then be set with an object of type {@link Value}, e.g., {@link NumberValue}, {@link TextValue} or {@link BooleanValue}.
                      • query - optional; type string
                        Holds the query in PQL syntax. The syntax is:
                        [WHERE {[AND | OR] ...}]
                        [ORDER BY [ASC | DESC]]
                        [LIMIT {[,] } | { OFFSET }]


                             := {< | <= | > | >= | = | != }

                             := {< | <= | > | >= | = | != }
                        := IN
                        := IS NULL
                        := LIKE
                        := :

                      • values - optional, unbounded; type String_ValueMapEntry
                        Holds keys and values for bind variables and their values. The key is the name of the bind variable. The value is the literal value of the variable.

                        In the example {@code "WHERE status = :bindStatus ORDER BY id LIMIT 30"}, the bind variable, represented by {@code :bindStatus} is named {@code bindStatus}, which would also be the parameter map key. The bind variable's value would be represented by a parameter map value of type {@link TextValue}. The final result, for example, would be an entry of {@code "bindStatus" => StringParam("ACTIVE")}.

                        This represents an entry in a map with a key of type String and value of type Value.
                        • key - optional; type string
                        • value - optional; type Value
                          {@code Value} represents a value.
                    Output:
                    performAdRuleActionResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
                    parameters type performAdRuleActionResponse
                    • rval - optional; type UpdateResult
                      Represents the result of performing an action on objects.
                      • numChanges - optional; type int
                        The number of objects that were changed as a result of performing the action.
                    Fault:
                    ApiException (wsdlsoap:fault, use = literal)Source code
                    ApiException type ApiExceptionFault
                    Exception class for holding a list of service errors.
                    Base class for exceptions.
                    • message - optional; type string
                      Error message.
                    • errors - optional, unbounded; type ApiError
                      The API error base class that provides details about an error that occurred while processing a service request.

                      The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

                      • fieldPath - optional; type string
                        The OGNL field path to identify cause of error.
                      • fieldPathElements - optional, unbounded; type FieldPathElement
                        A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
                        A segment of a field path. Each dot in a field path defines a new segment.
                        • field - optional; type string
                          The name of a field in lower camelcase. (e.g. "biddingStrategy")
                        • index - optional; type int
                          For list fields, this is a 0-indexed position in the list. Null for non-list fields.
                      • trigger - optional; type string
                        The data that caused the error.
                      • errorString - optional; type string
                        A simple string representation of the error and reason.
                      List of errors.
                    A fault element of type ApiException.
                  • updateAdRules
                    Description:
                    Updates the specified {@link AdRule} objects.
                    Operation type:
                    Request-response. The endpoint receives a message, and sends a correlated message.
                    Input:
                    updateAdRulesRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
                    parameters type updateAdRules
                    Updates the specified {@link AdRule} objects.
                    • adRules - optional, unbounded; type AdRule
                      An {@link AdRule} contains data that the ad server will use to generate a playlist of video ads.
                      • id - optional; type long
                        The unique ID of the {@link AdRule}. This value is readonly and is assigned by Google.
                      • name - optional; type string
                        The unique name of the {@link AdRule}. This attribute is required to create an ad rule and has a maximum length of 255 characters.
                      • priority - optional; type int
                        The priority of the {@link AdRule}. This attribute is required and can range from 1 to 1000, with 1 being the highest possible priority.

                        Changing an ad rule's priority can affect the priorities of other ad rules. For example, increasing an ad rule's priority from 5 to 1 will shift the ad rules that were previously in priority positions 1 through 4 down one.

                      • targeting - optional; type Targeting
                        The targeting criteria of the {@link AdRule}. This attribute is required.
                        Contains targeting criteria for {@link LineItem} objects. See {@link LineItem#targeting}.
                        • geoTargeting - optional; type GeoTargeting
                          Provides line items the ability to target geographical locations. By default, line items target all countries and their subdivisions. With geographical targeting, you can target line items to specific countries, regions, metro areas, and cities. You can also exclude the same.

                          The following rules apply for geographical targeting:

                          • You cannot target and exclude the same location.
                          • You cannot target a child whose parent has been excluded. For example, if the state of Illinois has been excluded, then you cannot target Chicago.
                          • You must not target a location if you are also targeting its parent. For example, if you are targeting New York City, you must not have the state of New York as one of the targeted locations.
                          • You cannot explicitly define inclusions or exclusions that are already implicit. For example, if you explicitly include California, you implicitly exclude all other states. You therefore cannot explicitly exclude Florida, because it is already implicitly excluded. Conversely if you explicitly exclude Florida, you cannot explicitly include California.
                          • targetedLocations - optional, unbounded; type Location
                            The geographical locations being targeted by the {@link LineItem}.
                            A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                            • id - optional; type long
                              Uniquely identifies each {@code Location}.
                            • type - optional; type string
                              The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                            • canonicalParentId - optional; type int
                              The nearest location parent's ID for this geographical entity.
                            • displayName - optional; type string
                              The localized name of the geographical entity.
                          • excludedLocations - optional, unbounded; type Location
                            The geographical locations being excluded by the {@link LineItem}.
                            A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                            • id - optional; type long
                              Uniquely identifies each {@code Location}.
                            • type - optional; type string
                              The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                            • canonicalParentId - optional; type int
                              The nearest location parent's ID for this geographical entity.
                            • displayName - optional; type string
                              The localized name of the geographical entity.
                          Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is optional.
                        • inventoryTargeting - optional; type InventoryTargeting
                          A collection of targeted and excluded ad units and placements.
                          • targetedAdUnits - optional, unbounded; type AdUnitTargeting
                            Represents targeted or excluded ad units.
                            • adUnitId - optional; type string
                              Included or excluded ad unit id.
                            • includeDescendants - optional; type boolean
                              Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                            A list of targeted {@link AdUnitTargeting}.
                          • excludedAdUnits - optional, unbounded; type AdUnitTargeting
                            Represents targeted or excluded ad units.
                            • adUnitId - optional; type string
                              Included or excluded ad unit id.
                            • includeDescendants - optional; type boolean
                              Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                            A list of excluded {@link AdUnitTargeting}.
                          • targetedPlacementIds - optional, unbounded; type long
                            A list of targeted {@link Placement} ids.
                          Specifies what inventory is targeted by the {@link LineItem}. This attribute is required. The line item must target at least one ad unit or placement.
                        • dayPartTargeting - optional; type DayPartTargeting
                          Modify the delivery times of line items for particular days of the week. By default, line items are served at all days and times.
                          • dayParts - optional, unbounded; type DayPart
                            {@code DayPart} represents a time-period within a day of the week which is targeted by a {@link LineItem}.
                            • dayOfWeek - optional; type DayOfWeek - type string with restriction - enum { 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY' }
                              Day of the week the target applies to. This field is required.
                            • startTime - optional; type TimeOfDay
                              Represents the start time of the targeted period (inclusive).
                              Represents a specific time in a day.
                              • hour - optional; type int
                                Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                              • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                                Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                            • endTime - optional; type TimeOfDay
                              Represents the end time of the targeted period (exclusive).
                              Represents a specific time in a day.
                              • hour - optional; type int
                                Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                              • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                                Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                            Specifies days of the week and times at which a {@code LineItem} will be delivered.

                            If targeting all days and times, this value will be ignored.

                          • timeZone - optional; type DeliveryTimeZone - type string with restriction - enum { 'PUBLISHER', 'BROWSER' }
                            Specifies the time zone to be used for delivering {@link LineItem} objects. This attribute is optional and defaults to {@link DeliveryTimeZone#BROWSER}.

                            Setting this has no effect if targeting all days and times.

                          Specifies the days of the week and times that are targeted by the {@link LineItem}. This attribute is optional.
                        • dateTimeRangeTargeting - optional; type DateTimeRangeTargeting
                          The date time ranges that the line item is eligible to serve.
                          • targetedDateTimeRanges - optional, unbounded; type DateTimeRange
                            Represents a range of dates (combined with time of day) that has an upper and/or lower bound.
                            • startDateTime - optional; type DateTime
                              Represents a date combined with the time of day.
                              • date - optional; type Date
                                Represents a date.
                                • year - optional; type int
                                  Year (e.g., 2009)
                                • month - optional; type int
                                  Month (1..12)
                                • day - optional; type int
                                  Day (1..31)
                              • hour - optional; type int
                              • minute - optional; type int
                              • second - optional; type int
                              • timeZoneId - optional; type string
                              The start date time of this range. This field is optional and if it is not set then there is no lower bound on the date time range. If this field is not set then {@code endDateTime} must be specified.
                            • endDateTime - optional; type DateTime
                              Represents a date combined with the time of day.
                              • date - optional; type Date
                                Represents a date.
                                • year - optional; type int
                                  Year (e.g., 2009)
                                • month - optional; type int
                                  Month (1..12)
                                • day - optional; type int
                                  Day (1..31)
                              • hour - optional; type int
                              • minute - optional; type int
                              • second - optional; type int
                              • timeZoneId - optional; type string
                              The end date time of this range. This field is optional and if it is not set then there is no upper bound on the date time range. If this field is not set then {@code startDateTime} must be specified.
                          Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute is optional.
                        • technologyTargeting - optional; type TechnologyTargeting
                          Provides {@link LineItem} objects the ability to target or exclude technologies.
                          • bandwidthGroupTargeting - optional; type BandwidthGroupTargeting
                            The bandwidth groups being targeted by the {@link LineItem}.
                            Represents bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                            • isTargeted - optional; type boolean
                              Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • bandwidthGroups - optional, unbounded; type Technology
                              The bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • browserTargeting - optional; type BrowserTargeting
                            The browsers being targeted by the {@link LineItem}.
                            Represents browsers that are being targeted or excluded by the {@link LineItem}.
                            • isTargeted - optional; type boolean
                              Indicates whether browsers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • browsers - optional, unbounded; type Technology
                              Browsers that are being targeted or excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • browserLanguageTargeting - optional; type BrowserLanguageTargeting
                            The languages of browsers being targeted by the {@link LineItem}.
                            Represents browser languages that are being targeted or excluded by the {@link LineItem}.
                            • isTargeted - optional; type boolean
                              Indicates whether browsers languages should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • browserLanguages - optional, unbounded; type Technology
                              Browser languages that are being targeted or excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • deviceCapabilityTargeting - optional; type DeviceCapabilityTargeting
                            The device capabilities being targeted by the {@link LineItem}.
                            Represents device capabilities that are being targeted or excluded by the {@link LineItem}.
                            • targetedDeviceCapabilities - optional, unbounded; type Technology
                              Device capabilities that are being targeted by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • excludedDeviceCapabilities - optional, unbounded; type Technology
                              Device capabilities that are being excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • deviceCategoryTargeting - optional; type DeviceCategoryTargeting
                            The device categories being targeted by the {@link LineItem}.
                            Represents device categories that are being targeted or excluded by the {@link LineItem}.
                            • targetedDeviceCategories - optional, unbounded; type Technology
                              Device categories that are being targeted by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • excludedDeviceCategories - optional, unbounded; type Technology
                              Device categories that are being excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • deviceManufacturerTargeting - optional; type DeviceManufacturerTargeting
                            The device manufacturers being targeted by the {@link LineItem}.
                            Represents device manufacturer that are being targeted or excluded by the {@link LineItem}.
                            • isTargeted - optional; type boolean
                              Indicates whether device manufacturers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • deviceManufacturers - optional, unbounded; type Technology
                              Device manufacturers that are being targeted or excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • mobileCarrierTargeting - optional; type MobileCarrierTargeting
                            The mobile carriers being targeted by the {@link LineItem}.
                            Represents mobile carriers that are being targeted or excluded by the {@link LineItem}.
                            • isTargeted - optional; type boolean
                              Indicates whether mobile carriers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • mobileCarriers - optional, unbounded; type Technology
                              Mobile carriers that are being targeted or excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • mobileDeviceTargeting - optional; type MobileDeviceTargeting
                            The mobile devices being targeted by the {@link LineItem}.
                            Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                            • targetedMobileDevices - optional, unbounded; type Technology
                              Mobile devices that are being targeted by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • excludedMobileDevices - optional, unbounded; type Technology
                              Mobile devices that are being excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • mobileDeviceSubmodelTargeting - optional; type MobileDeviceSubmodelTargeting
                            The mobile device submodels being targeted by the {@link LineItem}.
                            Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                            • targetedMobileDeviceSubmodels - optional, unbounded; type Technology
                              Mobile device submodels that are being targeted by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • excludedMobileDeviceSubmodels - optional, unbounded; type Technology
                              Mobile device submodels that are being excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • operatingSystemTargeting - optional; type OperatingSystemTargeting
                            The operating systems being targeted by the {@link LineItem}.
                            Represents operating systems that are being targeted or excluded by the {@link LineItem}.
                            • isTargeted - optional; type boolean
                              Indicates whether operating systems should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • operatingSystems - optional, unbounded; type Technology
                              Operating systems that are being targeted or excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • operatingSystemVersionTargeting - optional; type OperatingSystemVersionTargeting
                            The operating system versions being targeted by the {@link LineItem}.
                            Represents operating system versions that are being targeted or excluded by the {@link LineItem}.
                            • targetedOperatingSystemVersions - optional, unbounded; type Technology
                              Operating system versions that are being targeted by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • excludedOperatingSystemVersions - optional, unbounded; type Technology
                              Operating system versions that are being excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute is optional.
                        • customTargeting - optional; type CustomCriteriaSet - extension of abstract type CustomCriteriaNode
                          A {@link CustomCriteriaSet} comprises of a set of {@link CustomCriteriaNode} objects combined by the {@link CustomCriteriaSet.LogicalOperator#logicalOperator}. The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                          A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                            • logicalOperator - optional; type CustomCriteriaSet.LogicalOperator - type string with restriction - enum { 'AND', 'OR' }
                              The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is required. This attribute is required.
                            • children - optional, unbounded; type CustomCriteriaNode
                              The custom criteria. This attribute is required.
                              A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                                Specifies the collection of custom criteria that is targeted by the {@link LineItem}.

                                Once the {@link LineItem} is updated or modified with custom targeting, the server may return a normalized, but equivalent representation of the custom targeting expression.

                                {@code customTargeting} will have up to three levels of expressions including itself.

                                The top level {@code CustomCriteriaSet} i.e. the {@code customTargeting} object can only contain a {@link CustomCriteriaSet.LogicalOperator#OR} of all its children.

                                The second level of {@code CustomCriteriaSet} objects can only contain {@link CustomCriteriaSet.LogicalOperator#AND} of all their children. If a {@link CustomCriteria} is placed on this level, the server will wrap it in a {@link CustomCriteriaSet}.

                                The third level can only comprise of {@link CustomCriteria} objects.

                                The resulting custom targeting tree would be of the form:

                              • userDomainTargeting - optional; type UserDomainTargeting
                                Specifies the domains or subdomains that are targeted or excluded by the {@link LineItem}. Users visiting from an IP address associated with those domains will be targeted or excluded. This attribute is optional.
                                Provides line items the ability to target or exclude users visiting their websites from a list of domains or subdomains.
                                • domains - optional, unbounded; type string
                                  The domains or subdomains that are being targeted or excluded by the {@link LineItem}. This attribute is required and the maximum length of each domain is 67 characters.
                                • targeted - optional; type boolean
                                  Indicates whether domains should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • contentTargeting - optional; type ContentTargeting
                                Used to target {@link LineItem}s to specific videos on a publisher's site.
                                • targetedContentIds - optional, unbounded; type long
                                  The IDs of content being targeted by the {@code LineItem}.
                                • excludedContentIds - optional, unbounded; type long
                                  The IDs of content being excluded by the {@code LineItem}.
                                • targetedVideoContentBundleIds - optional, unbounded; type long
                                  A list of video content bundles, represented by {@link ContentBundle} IDs, that are being targeted by the {@code LineItem}.
                                • excludedVideoContentBundleIds - optional, unbounded; type long
                                  A list of video content bundles, represented by {@link ContentBundle} IDs, that are being excluded by the {@code LineItem}.
                                Specifies the video categories and individual videos targeted by the {@link LineItem}.
                              • videoPositionTargeting - optional; type VideoPositionTargeting
                                Specifies targeting against video position types.
                                Represents positions within and around a video where ads can be targeted to.

                                Example positions could be {@code pre-roll} (before the video plays), {@code post-roll} (after a video has completed playback) and {@code mid-roll} (during video playback).

                                Empty video position targeting means that all video positions are allowed. If a bumper line item has empty video position targeting it will be updated to target all bumper positions.

                                • targetedPositions - optional, unbounded; type VideoPositionTarget
                                  The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.
                                  Represents the options for targetable positions within a video.
                                  • videoPosition - optional; type VideoPosition
                                    Represents a targetable position within a video. A video ad can be targeted to a position (pre-roll, all mid-rolls, or post-roll), or to a specific mid-roll index.
                                    • positionType - optional; type VideoPosition.Type - type string with restriction - enum { 'UNKNOWN', 'ALL', 'PREROLL', 'MIDROLL', 'POSTROLL' }
                                      The type of video position (pre-roll, mid-roll, or post-roll).
                                    • midrollIndex - optional; type int
                                      The index of the mid-roll to target. Only valid if the {@link positionType} is {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.
                                    The video position to target. This attribute is required.
                                  • videoBumperType - optional; type VideoBumperType - type string with restriction - enum { 'BEFORE', 'AFTER' }
                                    The video bumper type to target. To target a video position or a pod position, this value must be null. To target a bumper position this value must be populated and the line item must have a bumper type. To target a custom ad spot, this value must be null.
                                  • videoPositionWithinPod - optional; type VideoPositionWithinPod
                                    Represents a targetable position within a pod within a video stream. A video ad can be targeted to any position in the pod (first, second, third ... last). If there is only 1 ad in a pod, either first or last will target that position.
                                    • index - optional; type int
                                      The specific index of the pod. The index is defined as:
                                      • 1 = first
                                      • 2 = second
                                      • 3 = third
                                      • ....
                                      • 100 = last
                                      100 will always be the last position. For example, for a pod with 5 positions, 100 would target position 5. Multiple targets against the index 100 can exist.
                                      Positions over 100 are not supported.
                                    The video position within a pod to target. To target a video position or a bumper position, this value must be null. To target a position within a pod this value must be populated. To target a custom ad spot, this value must be null.
                                  • adSpotId - optional; type long
                                    A custom spot {@link AdSpot} to target. To target a video position, a bumper type or a video position within a pod this value must be null.
                              • mobileApplicationTargeting - optional; type MobileApplicationTargeting
                                Provides the ability to target or exclude users' mobile applications.
                                • mobileApplicationIds - optional, unbounded; type long
                                  The {@link MobileApplication#id IDs} that are being targeted or excluded.
                                • isTargeted - optional; type boolean
                                  Indicates whether mobile apps should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                                Specifies targeting against mobile applications.
                              • buyerUserListTargeting - optional; type BuyerUserListTargeting
                                The {@code BuyerUserListTargeting} associated with a programmatic {@link LineItem} or {@link ProposalLineItem} object.
                                • hasBuyerUserListTargeting - optional; type boolean
                                  Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user list targeting.
                                Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link ProposalLineItem}. This attribute is readonly and is populated by Google.
                              • inventoryUrlTargeting - optional; type InventoryUrlTargeting
                                A collection of targeted inventory urls.
                                • targetedUrls - optional, unbounded; type InventoryUrl
                                  The representation of an inventory Url that is used in targeting.
                                  • id - optional; type long
                                • excludedUrls - optional, unbounded; type InventoryUrl
                                  The representation of an inventory Url that is used in targeting.
                                  • id - optional; type long
                                Specifies the URLs that are targeted by the entity. This is currently only supported by {@link YieldGroup}.
                              • verticalTargeting - optional; type VerticalTargeting
                                Specifies the verticals that are targeted by the entity. The IDs listed here correspond to the IDs in the AD_CATEGORY table of type VERTICAL.
                                Vertical targeting information.
                                • targetedVerticalIds - optional, unbounded; type long
                                • excludedVerticalIds - optional, unbounded; type long
                              • contentLabelTargeting - optional; type ContentLabelTargeting
                                Content label targeting information.
                                • excludedContentLabelIds - optional, unbounded; type long
                                Specifies the content labels that are excluded by the entity. The IDs listed here correspond to the IDs in the CONTENT_LABEL table.
                              • requestPlatformTargeting - optional; type RequestPlatformTargeting
                                Provides line items the ability to target the platform that requests and renders the ad.

                                The following rules apply for {@link RequestPlatformTargeting}

                                • {@link RequestPlatformTargeting} must be specified for {@link ProposalLineItem}s.
                                • {@link RequestPlatformTargeting} must be specified for video line items. Empty values for {@link RequestPlatformTargeting#targetedRequestPlatforms} mean that all request platforms will be targeted.
                                • {@link RequestPlatformTargeting} is read-only and assigned by Google for non-video line items.
                                • {@link RequestPlatformTargeting} is read-only and assigned by Google for line items generated from proposal line items.
                                • targetedRequestPlatforms - optional, unbounded; type RequestPlatform - type string with restriction - enum { 'UNKNOWN', 'BROWSER', 'MOBILE_APP', 'VIDEO_PLAYER' }
                                Specifies the request platforms that are targeted by the {@link LineItem}. This attribute is required for video line items and for {@link ProposalLineItem}.

                                This value is modifiable for video line items, but read-only for non-video line items.

                                This value is read-only for video line items generated from proposal line items.

                              • inventorySizeTargeting - optional; type InventorySizeTargeting
                                Represents a collection of targeted and excluded inventory sizes. This is currently only available on {@link YieldGroup} and {@link TrafficDataRequest}.
                                • isTargeted - optional; type boolean
                                  Whether the inventory sizes should be targeted or excluded.
                                • targetedSizes - optional, unbounded; type TargetedSize
                                  A list of {@link TargetedSizeDto}s.
                                  A size that is targeted on a request.
                                  • size - optional; type Size
                                    Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                                    For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                                    • width - optional; type int
                                      The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                                    • height - optional; type int
                                      The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                                    • isAspectRatio - optional; type boolean
                                      Whether this size represents an aspect ratio.
                                Specifies the sizes that are targeted by the entity. This is currently only supported on {@link YieldGroup} and {@link TrafficDataRequest}.
                            • startDateTime - optional; type DateTime
                              This {@link AdRule} object's start date and time. This attribute is required and must be a date in the future for new ad rules.
                              Represents a date combined with the time of day.
                              • date - optional; type Date
                                Represents a date.
                                • year - optional; type int
                                  Year (e.g., 2009)
                                • month - optional; type int
                                  Month (1..12)
                                • day - optional; type int
                                  Day (1..31)
                              • hour - optional; type int
                              • minute - optional; type int
                              • second - optional; type int
                              • timeZoneId - optional; type string
                            • startDateTimeType - optional; type StartDateTimeType - type string with restriction - enum { 'USE_START_DATE_TIME', 'IMMEDIATELY', 'ONE_HOUR_FROM_NOW', 'UNKNOWN' }
                              Specifies whether to start using the {@link AdRule} right away, in an hour, etc. This attribute is optional and defaults to {@link StartDateTimeType#USE_START_DATE_TIME}.
                            • endDateTime - optional; type DateTime
                              This {@link AdRule} object's end date and time. This attribute is required unless {@code unlimitedEndDateTime} is set to {@code true}. If specified, it must be after the {@code startDateTime}.
                              Represents a date combined with the time of day.
                              • date - optional; type Date
                                Represents a date.
                                • year - optional; type int
                                  Year (e.g., 2009)
                                • month - optional; type int
                                  Month (1..12)
                                • day - optional; type int
                                  Day (1..31)
                              • hour - optional; type int
                              • minute - optional; type int
                              • second - optional; type int
                              • timeZoneId - optional; type string
                            • unlimitedEndDateTime - optional; type boolean
                              Specifies whether the {@link AdRule} has an end time. This attribute is optional and defaults to false.
                            • status - optional; type AdRuleStatus - type string with restriction - enum { 'ACTIVE', 'INACTIVE', 'UNKNOWN' }
                              The {@link AdRuleStatus} of the ad rule. This attribute is read-only and defaults to {@link AdRuleStatus#INACTIVE}.
                            • frequencyCapBehavior - optional; type FrequencyCapBehavior - type string with restriction - enum { 'TURN_ON', 'TURN_OFF', 'DEFER', 'UNKNOWN' }
                              The {@link FrequencyCapBehavior} of the {@link AdRule}. This attribute is optional and defaults to {@link FrequencyCapBehavior#DEFER}.
                            • maxImpressionsPerLineItemPerStream - optional; type int
                              This {@link AdRule} object's frequency cap for the maximum impressions per stream. This attribute is optional and defaults to 0.
                            • maxImpressionsPerLineItemPerPod - optional; type int
                              This {@link AdRule} object's frequency cap for the maximum impressions per pod. This attribute is optional and defaults to 0.
                            • preroll - optional; type BaseAdRuleSlot
                              This {@link AdRule} object's pre-roll slot. This attribute is required.
                              Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                              • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                                The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                                Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                              • maxVideoAdDuration - optional; type long
                                The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                              • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                                The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                              • videoMidrollFrequency - optional; type string
                                The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                              • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                                The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                              • maxBumperDuration - optional; type long
                                The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                              • maxPodDuration - optional; type long
                                The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                              • maxAdsInPod - optional; type int
                                The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                              • breakTemplateId - optional; type long
                                ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
                            • midroll - optional; type BaseAdRuleSlot
                              This {@link AdRule} object's mid-roll slot. This attribute is required.
                              Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                              • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                                The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                                Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                              • maxVideoAdDuration - optional; type long
                                The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                              • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                                The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                              • videoMidrollFrequency - optional; type string
                                The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                              • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                                The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                              • maxBumperDuration - optional; type long
                                The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                              • maxPodDuration - optional; type long
                                The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                              • maxAdsInPod - optional; type int
                                The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                              • breakTemplateId - optional; type long
                                ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
                            • postroll - optional; type BaseAdRuleSlot
                              This {@link AdRule} object's post-roll slot. This attribute is required.
                              Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                              • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                                The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                                Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                              • maxVideoAdDuration - optional; type long
                                The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                              • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                                The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                              • videoMidrollFrequency - optional; type string
                                The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                              • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                                The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                              • maxBumperDuration - optional; type long
                                The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                              • maxPodDuration - optional; type long
                                The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                              • maxAdsInPod - optional; type int
                                The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                              • breakTemplateId - optional; type long
                                ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
                      Output:
                      updateAdRulesResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
                      parameters type updateAdRulesResponse
                      • rval - optional, unbounded; type AdRule
                        An {@link AdRule} contains data that the ad server will use to generate a playlist of video ads.
                        • id - optional; type long
                          The unique ID of the {@link AdRule}. This value is readonly and is assigned by Google.
                        • name - optional; type string
                          The unique name of the {@link AdRule}. This attribute is required to create an ad rule and has a maximum length of 255 characters.
                        • priority - optional; type int
                          The priority of the {@link AdRule}. This attribute is required and can range from 1 to 1000, with 1 being the highest possible priority.

                          Changing an ad rule's priority can affect the priorities of other ad rules. For example, increasing an ad rule's priority from 5 to 1 will shift the ad rules that were previously in priority positions 1 through 4 down one.

                        • targeting - optional; type Targeting
                          The targeting criteria of the {@link AdRule}. This attribute is required.
                          Contains targeting criteria for {@link LineItem} objects. See {@link LineItem#targeting}.
                          • geoTargeting - optional; type GeoTargeting
                            Provides line items the ability to target geographical locations. By default, line items target all countries and their subdivisions. With geographical targeting, you can target line items to specific countries, regions, metro areas, and cities. You can also exclude the same.

                            The following rules apply for geographical targeting:

                            • You cannot target and exclude the same location.
                            • You cannot target a child whose parent has been excluded. For example, if the state of Illinois has been excluded, then you cannot target Chicago.
                            • You must not target a location if you are also targeting its parent. For example, if you are targeting New York City, you must not have the state of New York as one of the targeted locations.
                            • You cannot explicitly define inclusions or exclusions that are already implicit. For example, if you explicitly include California, you implicitly exclude all other states. You therefore cannot explicitly exclude Florida, because it is already implicitly excluded. Conversely if you explicitly exclude Florida, you cannot explicitly include California.
                            • targetedLocations - optional, unbounded; type Location
                              The geographical locations being targeted by the {@link LineItem}.
                              A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                              • id - optional; type long
                                Uniquely identifies each {@code Location}.
                              • type - optional; type string
                                The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                              • canonicalParentId - optional; type int
                                The nearest location parent's ID for this geographical entity.
                              • displayName - optional; type string
                                The localized name of the geographical entity.
                            • excludedLocations - optional, unbounded; type Location
                              The geographical locations being excluded by the {@link LineItem}.
                              A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                              • id - optional; type long
                                Uniquely identifies each {@code Location}.
                              • type - optional; type string
                                The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                              • canonicalParentId - optional; type int
                                The nearest location parent's ID for this geographical entity.
                              • displayName - optional; type string
                                The localized name of the geographical entity.
                            Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is optional.
                          • inventoryTargeting - optional; type InventoryTargeting
                            A collection of targeted and excluded ad units and placements.
                            • targetedAdUnits - optional, unbounded; type AdUnitTargeting
                              Represents targeted or excluded ad units.
                              • adUnitId - optional; type string
                                Included or excluded ad unit id.
                              • includeDescendants - optional; type boolean
                                Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                              A list of targeted {@link AdUnitTargeting}.
                            • excludedAdUnits - optional, unbounded; type AdUnitTargeting
                              Represents targeted or excluded ad units.
                              • adUnitId - optional; type string
                                Included or excluded ad unit id.
                              • includeDescendants - optional; type boolean
                                Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                              A list of excluded {@link AdUnitTargeting}.
                            • targetedPlacementIds - optional, unbounded; type long
                              A list of targeted {@link Placement} ids.
                            Specifies what inventory is targeted by the {@link LineItem}. This attribute is required. The line item must target at least one ad unit or placement.
                          • dayPartTargeting - optional; type DayPartTargeting
                            Modify the delivery times of line items for particular days of the week. By default, line items are served at all days and times.
                            • dayParts - optional, unbounded; type DayPart
                              {@code DayPart} represents a time-period within a day of the week which is targeted by a {@link LineItem}.
                              • dayOfWeek - optional; type DayOfWeek - type string with restriction - enum { 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY' }
                                Day of the week the target applies to. This field is required.
                              • startTime - optional; type TimeOfDay
                                Represents the start time of the targeted period (inclusive).
                                Represents a specific time in a day.
                                • hour - optional; type int
                                  Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                                • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                                  Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                              • endTime - optional; type TimeOfDay
                                Represents the end time of the targeted period (exclusive).
                                Represents a specific time in a day.
                                • hour - optional; type int
                                  Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                                • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                                  Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                              Specifies days of the week and times at which a {@code LineItem} will be delivered.

                              If targeting all days and times, this value will be ignored.

                            • timeZone - optional; type DeliveryTimeZone - type string with restriction - enum { 'PUBLISHER', 'BROWSER' }
                              Specifies the time zone to be used for delivering {@link LineItem} objects. This attribute is optional and defaults to {@link DeliveryTimeZone#BROWSER}.

                              Setting this has no effect if targeting all days and times.

                            Specifies the days of the week and times that are targeted by the {@link LineItem}. This attribute is optional.
                          • dateTimeRangeTargeting - optional; type DateTimeRangeTargeting
                            The date time ranges that the line item is eligible to serve.
                            • targetedDateTimeRanges - optional, unbounded; type DateTimeRange
                              Represents a range of dates (combined with time of day) that has an upper and/or lower bound.
                              • startDateTime - optional; type DateTime
                                Represents a date combined with the time of day.
                                • date - optional; type Date
                                  Represents a date.
                                  • year - optional; type int
                                    Year (e.g., 2009)
                                  • month - optional; type int
                                    Month (1..12)
                                  • day - optional; type int
                                    Day (1..31)
                                • hour - optional; type int
                                • minute - optional; type int
                                • second - optional; type int
                                • timeZoneId - optional; type string
                                The start date time of this range. This field is optional and if it is not set then there is no lower bound on the date time range. If this field is not set then {@code endDateTime} must be specified.
                              • endDateTime - optional; type DateTime
                                Represents a date combined with the time of day.
                                • date - optional; type Date
                                  Represents a date.
                                  • year - optional; type int
                                    Year (e.g., 2009)
                                  • month - optional; type int
                                    Month (1..12)
                                  • day - optional; type int
                                    Day (1..31)
                                • hour - optional; type int
                                • minute - optional; type int
                                • second - optional; type int
                                • timeZoneId - optional; type string
                                The end date time of this range. This field is optional and if it is not set then there is no upper bound on the date time range. If this field is not set then {@code startDateTime} must be specified.
                            Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute is optional.
                          • technologyTargeting - optional; type TechnologyTargeting
                            Provides {@link LineItem} objects the ability to target or exclude technologies.
                            • bandwidthGroupTargeting - optional; type BandwidthGroupTargeting
                              The bandwidth groups being targeted by the {@link LineItem}.
                              Represents bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                              • isTargeted - optional; type boolean
                                Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • bandwidthGroups - optional, unbounded; type Technology
                                The bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • browserTargeting - optional; type BrowserTargeting
                              The browsers being targeted by the {@link LineItem}.
                              Represents browsers that are being targeted or excluded by the {@link LineItem}.
                              • isTargeted - optional; type boolean
                                Indicates whether browsers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • browsers - optional, unbounded; type Technology
                                Browsers that are being targeted or excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • browserLanguageTargeting - optional; type BrowserLanguageTargeting
                              The languages of browsers being targeted by the {@link LineItem}.
                              Represents browser languages that are being targeted or excluded by the {@link LineItem}.
                              • isTargeted - optional; type boolean
                                Indicates whether browsers languages should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • browserLanguages - optional, unbounded; type Technology
                                Browser languages that are being targeted or excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • deviceCapabilityTargeting - optional; type DeviceCapabilityTargeting
                              The device capabilities being targeted by the {@link LineItem}.
                              Represents device capabilities that are being targeted or excluded by the {@link LineItem}.
                              • targetedDeviceCapabilities - optional, unbounded; type Technology
                                Device capabilities that are being targeted by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                              • excludedDeviceCapabilities - optional, unbounded; type Technology
                                Device capabilities that are being excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • deviceCategoryTargeting - optional; type DeviceCategoryTargeting
                              The device categories being targeted by the {@link LineItem}.
                              Represents device categories that are being targeted or excluded by the {@link LineItem}.
                              • targetedDeviceCategories - optional, unbounded; type Technology
                                Device categories that are being targeted by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                              • excludedDeviceCategories - optional, unbounded; type Technology
                                Device categories that are being excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • deviceManufacturerTargeting - optional; type DeviceManufacturerTargeting
                              The device manufacturers being targeted by the {@link LineItem}.
                              Represents device manufacturer that are being targeted or excluded by the {@link LineItem}.
                              • isTargeted - optional; type boolean
                                Indicates whether device manufacturers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • deviceManufacturers - optional, unbounded; type Technology
                                Device manufacturers that are being targeted or excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • mobileCarrierTargeting - optional; type MobileCarrierTargeting
                              The mobile carriers being targeted by the {@link LineItem}.
                              Represents mobile carriers that are being targeted or excluded by the {@link LineItem}.
                              • isTargeted - optional; type boolean
                                Indicates whether mobile carriers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • mobileCarriers - optional, unbounded; type Technology
                                Mobile carriers that are being targeted or excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • mobileDeviceTargeting - optional; type MobileDeviceTargeting
                              The mobile devices being targeted by the {@link LineItem}.
                              Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                              • targetedMobileDevices - optional, unbounded; type Technology
                                Mobile devices that are being targeted by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                              • excludedMobileDevices - optional, unbounded; type Technology
                                Mobile devices that are being excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • mobileDeviceSubmodelTargeting - optional; type MobileDeviceSubmodelTargeting
                              The mobile device submodels being targeted by the {@link LineItem}.
                              Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                              • targetedMobileDeviceSubmodels - optional, unbounded; type Technology
                                Mobile device submodels that are being targeted by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                              • excludedMobileDeviceSubmodels - optional, unbounded; type Technology
                                Mobile device submodels that are being excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • operatingSystemTargeting - optional; type OperatingSystemTargeting
                              The operating systems being targeted by the {@link LineItem}.
                              Represents operating systems that are being targeted or excluded by the {@link LineItem}.
                              • isTargeted - optional; type boolean
                                Indicates whether operating systems should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • operatingSystems - optional, unbounded; type Technology
                                Operating systems that are being targeted or excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • operatingSystemVersionTargeting - optional; type OperatingSystemVersionTargeting
                              The operating system versions being targeted by the {@link LineItem}.
                              Represents operating system versions that are being targeted or excluded by the {@link LineItem}.
                              • targetedOperatingSystemVersions - optional, unbounded; type Technology
                                Operating system versions that are being targeted by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                              • excludedOperatingSystemVersions - optional, unbounded; type Technology
                                Operating system versions that are being excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute is optional.
                          • customTargeting - optional; type CustomCriteriaSet - extension of abstract type CustomCriteriaNode
                            A {@link CustomCriteriaSet} comprises of a set of {@link CustomCriteriaNode} objects combined by the {@link CustomCriteriaSet.LogicalOperator#logicalOperator}. The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                            A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                              • logicalOperator - optional; type CustomCriteriaSet.LogicalOperator - type string with restriction - enum { 'AND', 'OR' }
                                The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is required. This attribute is required.
                              • children - optional, unbounded; type CustomCriteriaNode
                                The custom criteria. This attribute is required.
                                A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                                  Specifies the collection of custom criteria that is targeted by the {@link LineItem}.

                                  Once the {@link LineItem} is updated or modified with custom targeting, the server may return a normalized, but equivalent representation of the custom targeting expression.

                                  {@code customTargeting} will have up to three levels of expressions including itself.

                                  The top level {@code CustomCriteriaSet} i.e. the {@code customTargeting} object can only contain a {@link CustomCriteriaSet.LogicalOperator#OR} of all its children.

                                  The second level of {@code CustomCriteriaSet} objects can only contain {@link CustomCriteriaSet.LogicalOperator#AND} of all their children. If a {@link CustomCriteria} is placed on this level, the server will wrap it in a {@link CustomCriteriaSet}.

                                  The third level can only comprise of {@link CustomCriteria} objects.

                                  The resulting custom targeting tree would be of the form:

                                • userDomainTargeting - optional; type UserDomainTargeting
                                  Specifies the domains or subdomains that are targeted or excluded by the {@link LineItem}. Users visiting from an IP address associated with those domains will be targeted or excluded. This attribute is optional.
                                  Provides line items the ability to target or exclude users visiting their websites from a list of domains or subdomains.
                                  • domains - optional, unbounded; type string
                                    The domains or subdomains that are being targeted or excluded by the {@link LineItem}. This attribute is required and the maximum length of each domain is 67 characters.
                                  • targeted - optional; type boolean
                                    Indicates whether domains should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                                • contentTargeting - optional; type ContentTargeting
                                  Used to target {@link LineItem}s to specific videos on a publisher's site.
                                  • targetedContentIds - optional, unbounded; type long
                                    The IDs of content being targeted by the {@code LineItem}.
                                  • excludedContentIds - optional, unbounded; type long
                                    The IDs of content being excluded by the {@code LineItem}.
                                  • targetedVideoContentBundleIds - optional, unbounded; type long
                                    A list of video content bundles, represented by {@link ContentBundle} IDs, that are being targeted by the {@code LineItem}.
                                  • excludedVideoContentBundleIds - optional, unbounded; type long
                                    A list of video content bundles, represented by {@link ContentBundle} IDs, that are being excluded by the {@code LineItem}.
                                  Specifies the video categories and individual videos targeted by the {@link LineItem}.
                                • videoPositionTargeting - optional; type VideoPositionTargeting
                                  Specifies targeting against video position types.
                                  Represents positions within and around a video where ads can be targeted to.

                                  Example positions could be {@code pre-roll} (before the video plays), {@code post-roll} (after a video has completed playback) and {@code mid-roll} (during video playback).

                                  Empty video position targeting means that all video positions are allowed. If a bumper line item has empty video position targeting it will be updated to target all bumper positions.

                                  • targetedPositions - optional, unbounded; type VideoPositionTarget
                                    The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.
                                    Represents the options for targetable positions within a video.
                                    • videoPosition - optional; type VideoPosition
                                      Represents a targetable position within a video. A video ad can be targeted to a position (pre-roll, all mid-rolls, or post-roll), or to a specific mid-roll index.
                                      • positionType - optional; type VideoPosition.Type - type string with restriction - enum { 'UNKNOWN', 'ALL', 'PREROLL', 'MIDROLL', 'POSTROLL' }
                                        The type of video position (pre-roll, mid-roll, or post-roll).
                                      • midrollIndex - optional; type int
                                        The index of the mid-roll to target. Only valid if the {@link positionType} is {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.
                                      The video position to target. This attribute is required.
                                    • videoBumperType - optional; type VideoBumperType - type string with restriction - enum { 'BEFORE', 'AFTER' }
                                      The video bumper type to target. To target a video position or a pod position, this value must be null. To target a bumper position this value must be populated and the line item must have a bumper type. To target a custom ad spot, this value must be null.
                                    • videoPositionWithinPod - optional; type VideoPositionWithinPod
                                      Represents a targetable position within a pod within a video stream. A video ad can be targeted to any position in the pod (first, second, third ... last). If there is only 1 ad in a pod, either first or last will target that position.
                                      • index - optional; type int
                                        The specific index of the pod. The index is defined as:
                                        • 1 = first
                                        • 2 = second
                                        • 3 = third
                                        • ....
                                        • 100 = last
                                        100 will always be the last position. For example, for a pod with 5 positions, 100 would target position 5. Multiple targets against the index 100 can exist.
                                        Positions over 100 are not supported.
                                      The video position within a pod to target. To target a video position or a bumper position, this value must be null. To target a position within a pod this value must be populated. To target a custom ad spot, this value must be null.
                                    • adSpotId - optional; type long
                                      A custom spot {@link AdSpot} to target. To target a video position, a bumper type or a video position within a pod this value must be null.
                                • mobileApplicationTargeting - optional; type MobileApplicationTargeting
                                  Provides the ability to target or exclude users' mobile applications.
                                  • mobileApplicationIds - optional, unbounded; type long
                                    The {@link MobileApplication#id IDs} that are being targeted or excluded.
                                  • isTargeted - optional; type boolean
                                    Indicates whether mobile apps should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                                  Specifies targeting against mobile applications.
                                • buyerUserListTargeting - optional; type BuyerUserListTargeting
                                  The {@code BuyerUserListTargeting} associated with a programmatic {@link LineItem} or {@link ProposalLineItem} object.
                                  • hasBuyerUserListTargeting - optional; type boolean
                                    Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user list targeting.
                                  Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link ProposalLineItem}. This attribute is readonly and is populated by Google.
                                • inventoryUrlTargeting - optional; type InventoryUrlTargeting
                                  A collection of targeted inventory urls.
                                  • targetedUrls - optional, unbounded; type InventoryUrl
                                    The representation of an inventory Url that is used in targeting.
                                    • id - optional; type long
                                  • excludedUrls - optional, unbounded; type InventoryUrl
                                    The representation of an inventory Url that is used in targeting.
                                    • id - optional; type long
                                  Specifies the URLs that are targeted by the entity. This is currently only supported by {@link YieldGroup}.
                                • verticalTargeting - optional; type VerticalTargeting
                                  Specifies the verticals that are targeted by the entity. The IDs listed here correspond to the IDs in the AD_CATEGORY table of type VERTICAL.
                                  Vertical targeting information.
                                  • targetedVerticalIds - optional, unbounded; type long
                                  • excludedVerticalIds - optional, unbounded; type long
                                • contentLabelTargeting - optional; type ContentLabelTargeting
                                  Content label targeting information.
                                  • excludedContentLabelIds - optional, unbounded; type long
                                  Specifies the content labels that are excluded by the entity. The IDs listed here correspond to the IDs in the CONTENT_LABEL table.
                                • requestPlatformTargeting - optional; type RequestPlatformTargeting
                                  Provides line items the ability to target the platform that requests and renders the ad.

                                  The following rules apply for {@link RequestPlatformTargeting}

                                  • {@link RequestPlatformTargeting} must be specified for {@link ProposalLineItem}s.
                                  • {@link RequestPlatformTargeting} must be specified for video line items. Empty values for {@link RequestPlatformTargeting#targetedRequestPlatforms} mean that all request platforms will be targeted.
                                  • {@link RequestPlatformTargeting} is read-only and assigned by Google for non-video line items.
                                  • {@link RequestPlatformTargeting} is read-only and assigned by Google for line items generated from proposal line items.
                                  • targetedRequestPlatforms - optional, unbounded; type RequestPlatform - type string with restriction - enum { 'UNKNOWN', 'BROWSER', 'MOBILE_APP', 'VIDEO_PLAYER' }
                                  Specifies the request platforms that are targeted by the {@link LineItem}. This attribute is required for video line items and for {@link ProposalLineItem}.

                                  This value is modifiable for video line items, but read-only for non-video line items.

                                  This value is read-only for video line items generated from proposal line items.

                                • inventorySizeTargeting - optional; type InventorySizeTargeting
                                  Represents a collection of targeted and excluded inventory sizes. This is currently only available on {@link YieldGroup} and {@link TrafficDataRequest}.
                                  • isTargeted - optional; type boolean
                                    Whether the inventory sizes should be targeted or excluded.
                                  • targetedSizes - optional, unbounded; type TargetedSize
                                    A list of {@link TargetedSizeDto}s.
                                    A size that is targeted on a request.
                                    • size - optional; type Size
                                      Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                                      For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                                      • width - optional; type int
                                        The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                                      • height - optional; type int
                                        The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                                      • isAspectRatio - optional; type boolean
                                        Whether this size represents an aspect ratio.
                                  Specifies the sizes that are targeted by the entity. This is currently only supported on {@link YieldGroup} and {@link TrafficDataRequest}.
                              • startDateTime - optional; type DateTime
                                This {@link AdRule} object's start date and time. This attribute is required and must be a date in the future for new ad rules.
                                Represents a date combined with the time of day.
                                • date - optional; type Date
                                  Represents a date.
                                  • year - optional; type int
                                    Year (e.g., 2009)
                                  • month - optional; type int
                                    Month (1..12)
                                  • day - optional; type int
                                    Day (1..31)
                                • hour - optional; type int
                                • minute - optional; type int
                                • second - optional; type int
                                • timeZoneId - optional; type string
                              • startDateTimeType - optional; type StartDateTimeType - type string with restriction - enum { 'USE_START_DATE_TIME', 'IMMEDIATELY', 'ONE_HOUR_FROM_NOW', 'UNKNOWN' }
                                Specifies whether to start using the {@link AdRule} right away, in an hour, etc. This attribute is optional and defaults to {@link StartDateTimeType#USE_START_DATE_TIME}.
                              • endDateTime - optional; type DateTime
                                This {@link AdRule} object's end date and time. This attribute is required unless {@code unlimitedEndDateTime} is set to {@code true}. If specified, it must be after the {@code startDateTime}.
                                Represents a date combined with the time of day.
                                • date - optional; type Date
                                  Represents a date.
                                  • year - optional; type int
                                    Year (e.g., 2009)
                                  • month - optional; type int
                                    Month (1..12)
                                  • day - optional; type int
                                    Day (1..31)
                                • hour - optional; type int
                                • minute - optional; type int
                                • second - optional; type int
                                • timeZoneId - optional; type string
                              • unlimitedEndDateTime - optional; type boolean
                                Specifies whether the {@link AdRule} has an end time. This attribute is optional and defaults to false.
                              • status - optional; type AdRuleStatus - type string with restriction - enum { 'ACTIVE', 'INACTIVE', 'UNKNOWN' }
                                The {@link AdRuleStatus} of the ad rule. This attribute is read-only and defaults to {@link AdRuleStatus#INACTIVE}.
                              • frequencyCapBehavior - optional; type FrequencyCapBehavior - type string with restriction - enum { 'TURN_ON', 'TURN_OFF', 'DEFER', 'UNKNOWN' }
                                The {@link FrequencyCapBehavior} of the {@link AdRule}. This attribute is optional and defaults to {@link FrequencyCapBehavior#DEFER}.
                              • maxImpressionsPerLineItemPerStream - optional; type int
                                This {@link AdRule} object's frequency cap for the maximum impressions per stream. This attribute is optional and defaults to 0.
                              • maxImpressionsPerLineItemPerPod - optional; type int
                                This {@link AdRule} object's frequency cap for the maximum impressions per pod. This attribute is optional and defaults to 0.
                              • preroll - optional; type BaseAdRuleSlot
                                This {@link AdRule} object's pre-roll slot. This attribute is required.
                                Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                                • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                                  The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                                  Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                                • maxVideoAdDuration - optional; type long
                                  The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                                • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                                  The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                                • videoMidrollFrequency - optional; type string
                                  The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                                • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                                  The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                                • maxBumperDuration - optional; type long
                                  The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                                • maxPodDuration - optional; type long
                                  The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                                • maxAdsInPod - optional; type int
                                  The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                                • breakTemplateId - optional; type long
                                  ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
                              • midroll - optional; type BaseAdRuleSlot
                                This {@link AdRule} object's mid-roll slot. This attribute is required.
                                Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                                • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                                  The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                                  Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                                • maxVideoAdDuration - optional; type long
                                  The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                                • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                                  The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                                • videoMidrollFrequency - optional; type string
                                  The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                                • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                                  The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                                • maxBumperDuration - optional; type long
                                  The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                                • maxPodDuration - optional; type long
                                  The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                                • maxAdsInPod - optional; type int
                                  The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                                • breakTemplateId - optional; type long
                                  ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
                              • postroll - optional; type BaseAdRuleSlot
                                This {@link AdRule} object's post-roll slot. This attribute is required.
                                Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.
                                • slotBehavior - optional; type AdRuleSlotBehavior - type string with restriction - enum { 'ALWAYS_SHOW', 'NEVER_SHOW', 'DEFER', 'UNKNOWN' }
                                  The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}.

                                  Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.

                                • maxVideoAdDuration - optional; type long
                                  The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.
                                • videoMidrollFrequencyType - optional; type MidrollFrequencyType - type string with restriction - enum { 'NONE', 'EVERY_N_SECONDS', 'FIXED_TIME', 'EVERY_N_CUEPOINTS', 'FIXED_CUE_POINTS', 'UNKNOWN' }
                                  The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.
                                • videoMidrollFrequency - optional; type string
                                  The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."
                                • bumper - optional; type AdRuleSlotBumper - type string with restriction - enum { 'NONE', 'BEFORE', 'AFTER', 'BEFORE_AND_AFTER', 'UNKNOWN' }
                                  The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.
                                • maxBumperDuration - optional; type long
                                  The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.
                                • maxPodDuration - optional; type long
                                  The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.
                                • maxAdsInPod - optional; type int
                                  The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.
                                • breakTemplateId - optional; type long
                                  ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.
                        Fault:
                        ApiException (wsdlsoap:fault, use = literal)Source code
                        ApiException type ApiExceptionFault
                        Exception class for holding a list of service errors.
                        Base class for exceptions.
                        • message - optional; type string
                          Error message.
                        • errors - optional, unbounded; type ApiError
                          The API error base class that provides details about an error that occurred while processing a service request.

                          The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

                          • fieldPath - optional; type string
                            The OGNL field path to identify cause of error.
                          • fieldPathElements - optional, unbounded; type FieldPathElement
                            A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
                            A segment of a field path. Each dot in a field path defines a new segment.
                            • field - optional; type string
                              The name of a field in lower camelcase. (e.g. "biddingStrategy")
                            • index - optional; type int
                              For list fields, this is a 0-indexed position in the list. Null for non-list fields.
                          • trigger - optional; type string
                            The data that caused the error.
                          • errorString - optional; type string
                            A simple string representation of the error and reason.
                          List of errors.
                        A fault element of type ApiException.
                      • updateAdSpots
                        Description:
                        Updates the specified {@link AdSpot} objects.
                        Operation type:
                        Request-response. The endpoint receives a message, and sends a correlated message.
                        Input:
                        updateAdSpotsRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
                        parameters type updateAdSpots
                        Updates the specified {@link AdSpot} objects.
                        • adSpots - optional, unbounded; type AdSpot
                          A {@link AdSpot} is a targetable entity used in the creation of {@link AdRule} objects.

                          A ad spot contains a variable number of ads and has constraints (ad duration, reservation type, etc) on the ads that can appear in it.

                          • id - optional; type long
                            The unique ID of the {@link AdSpot}. This value is readonly and is assigned by Google.
                          • name - optional; type string
                            Name of the {@link AdSpot}. The name is case insenstive and can be referenced in ad tags. This value is required if {@code customSpot} is true, and cannot be set otherwise.

                            You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.

                          • displayName - optional; type string
                            Descriptive name for the {@link AdSpot}.This value is optional if {@code customSpot} is true, and cannot be set otherwise.
                          • customSpot - optional; type boolean
                            Whether this ad spot is a custom spot. This field is optional and defaults to false.

                            Custom spots can be reused and targeted in the targeting picker.

                          • flexible - optional; type boolean
                            Whether this ad spot is a flexible spot. This field is optional and defaults to false.

                            Flexible spots are allowed to have no max number of ads.

                          • maxDurationMillis - optional; type long
                            The maximum total duration for this {@link AdSpot}. This field is optional, defaults to 0, and supports precision to the nearest second.
                          • maxNumberOfAds - optional; type int
                            The maximum number of ads allowed in the {@link AdSpot}. This field is optional and defaults to O.

                            A {@code maxNumberOfAds} of 0 means that there is no maximum for the number of ads in the ad spot. No max ads is only supported for ad spots that have {@code flexible} set to true.

                          • targetingType - optional; type AdSpotTargetingType - type string with restriction - enum { 'NOT_REQUIRED', 'EXPLICITLY_TARGETED', 'EXPLICITLY_TARGETED_EXCEPT_HOUSE', 'UNKNOWN' }
                            The {@link SubpodTargetingType} determines how this ad spot can be targeted. This field is required.
                          • backfillBlocked - optional; type boolean
                            Whether backfill is blocked in this ad spot. This field is optional and defaults to false.
                          • allowedLineItemTypes - optional, unbounded; type LineItemType - type string with restriction - enum { 'SPONSORSHIP', 'STANDARD', 'NETWORK', 'BULK', 'PRICE_PRIORITY', 'HOUSE', 'LEGACY_DFP', 'CLICK_TRACKING', 'ADSENSE', 'AD_EXCHANGE', 'BUMPER', 'ADMOB', 'PREFERRED_DEAL', 'UNKNOWN' }
                            The set of line item types that may appear in the ad spot. This field is optional and defaults to an empty set, which means that all types are allowed.

                            Note, backfill reservation types are controlled via the {@code backfillBlocked} field.

                          • inventorySharingBlocked - optional; type boolean
                            Whether inventory sharing is blocked in this ad spot. This field is optional and defaults to false.
                        Output:
                        updateAdSpotsResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
                        parameters type updateAdSpotsResponse
                        • rval - optional, unbounded; type AdSpot
                          A {@link AdSpot} is a targetable entity used in the creation of {@link AdRule} objects.

                          A ad spot contains a variable number of ads and has constraints (ad duration, reservation type, etc) on the ads that can appear in it.

                          • id - optional; type long
                            The unique ID of the {@link AdSpot}. This value is readonly and is assigned by Google.
                          • name - optional; type string
                            Name of the {@link AdSpot}. The name is case insenstive and can be referenced in ad tags. This value is required if {@code customSpot} is true, and cannot be set otherwise.

                            You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.

                          • displayName - optional; type string
                            Descriptive name for the {@link AdSpot}.This value is optional if {@code customSpot} is true, and cannot be set otherwise.
                          • customSpot - optional; type boolean
                            Whether this ad spot is a custom spot. This field is optional and defaults to false.

                            Custom spots can be reused and targeted in the targeting picker.

                          • flexible - optional; type boolean
                            Whether this ad spot is a flexible spot. This field is optional and defaults to false.

                            Flexible spots are allowed to have no max number of ads.

                          • maxDurationMillis - optional; type long
                            The maximum total duration for this {@link AdSpot}. This field is optional, defaults to 0, and supports precision to the nearest second.
                          • maxNumberOfAds - optional; type int
                            The maximum number of ads allowed in the {@link AdSpot}. This field is optional and defaults to O.

                            A {@code maxNumberOfAds} of 0 means that there is no maximum for the number of ads in the ad spot. No max ads is only supported for ad spots that have {@code flexible} set to true.

                          • targetingType - optional; type AdSpotTargetingType - type string with restriction - enum { 'NOT_REQUIRED', 'EXPLICITLY_TARGETED', 'EXPLICITLY_TARGETED_EXCEPT_HOUSE', 'UNKNOWN' }
                            The {@link SubpodTargetingType} determines how this ad spot can be targeted. This field is required.
                          • backfillBlocked - optional; type boolean
                            Whether backfill is blocked in this ad spot. This field is optional and defaults to false.
                          • allowedLineItemTypes - optional, unbounded; type LineItemType - type string with restriction - enum { 'SPONSORSHIP', 'STANDARD', 'NETWORK', 'BULK', 'PRICE_PRIORITY', 'HOUSE', 'LEGACY_DFP', 'CLICK_TRACKING', 'ADSENSE', 'AD_EXCHANGE', 'BUMPER', 'ADMOB', 'PREFERRED_DEAL', 'UNKNOWN' }
                            The set of line item types that may appear in the ad spot. This field is optional and defaults to an empty set, which means that all types are allowed.

                            Note, backfill reservation types are controlled via the {@code backfillBlocked} field.

                          • inventorySharingBlocked - optional; type boolean
                            Whether inventory sharing is blocked in this ad spot. This field is optional and defaults to false.
                        Fault:
                        ApiException (wsdlsoap:fault, use = literal)Source code
                        ApiException type ApiExceptionFault
                        Exception class for holding a list of service errors.
                        Base class for exceptions.
                        • message - optional; type string
                          Error message.
                        • errors - optional, unbounded; type ApiError
                          The API error base class that provides details about an error that occurred while processing a service request.

                          The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

                          • fieldPath - optional; type string
                            The OGNL field path to identify cause of error.
                          • fieldPathElements - optional, unbounded; type FieldPathElement
                            A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
                            A segment of a field path. Each dot in a field path defines a new segment.
                            • field - optional; type string
                              The name of a field in lower camelcase. (e.g. "biddingStrategy")
                            • index - optional; type int
                              For list fields, this is a 0-indexed position in the list. Null for non-list fields.
                          • trigger - optional; type string
                            The data that caused the error.
                          • errorString - optional; type string
                            A simple string representation of the error and reason.
                          List of errors.
                        A fault element of type ApiException.
                      • updateBreakTemplates
                        Description:
                        Updates the specified {@link breakTemplate} objects.
                        Operation type:
                        Request-response. The endpoint receives a message, and sends a correlated message.
                        Input:
                        updateBreakTemplatesRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
                        parameters type updateBreakTemplates
                        Updates the specified {@link breakTemplate} objects.
                        • breakTemplate - optional, unbounded; type BreakTemplate
                          A {@link BreakTemplate} defines what kinds of ads show at which positions within a pod.

                          Break templates are made up of {@link AdSpot} objects. A break template must have a single ad spot that has {@code AdSpot#flexible} set to true.

                          • id - optional; type long
                            The unique ID of the {@link BreakTemplate}. This value is readonly and is assigned by Google.
                          • customTemplate - optional; type boolean
                            Whether this is custom template. Custom templates get created outside of the ad rule workflow and can be referenced in ad tags.

                            Only custom templates can have names and display names.

                          • name - optional; type string
                            Name of the {@link BreakTemplate}. The name is case insenstive and can be referenced in ad tags. This value is required if {@code customTemplate} is true, and cannot be set otherwise.

                            You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.

                          • displayName - optional; type string
                            Descriptive name for the {@link BreakTemplateDto}. This value is optional if {@code customTemplate} is true, and cannot be set otherwise.
                          • breakTemplateMembers - optional, unbounded; type BreakTemplate.BreakTemplateMember
                            The list of the {@link BreakTemplateMember} objects in the order in which they should appear in the ad pod. Each {@link BreakTemplateMember} has a reference to a {@link AdSpot}, which defines what kinds of ads can appear at that position, as well as other metadata that defines how each ad spot should be filled.
                            A building block of a pod template.
                            • adSpotId - optional; type long
                              The ID of the {@link AdSpot} that has the settings about what kinds of ads can appear in this position of the {@link BreakTemplate}.
                            • adSpotFillType - optional; type AdSpotFillType - type string with restriction - enum { 'REQUIRED', 'OPTIONAL', 'UNKNOWN' }
                              The behavior for how the {@link AdSpot} should be filled in the context of the {@link BreakTemplate}.
                        Output:
                        updateBreakTemplatesResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
                        parameters type updateBreakTemplatesResponse
                        • rval - optional, unbounded; type BreakTemplate
                          A {@link BreakTemplate} defines what kinds of ads show at which positions within a pod.

                          Break templates are made up of {@link AdSpot} objects. A break template must have a single ad spot that has {@code AdSpot#flexible} set to true.

                          • id - optional; type long
                            The unique ID of the {@link BreakTemplate}. This value is readonly and is assigned by Google.
                          • customTemplate - optional; type boolean
                            Whether this is custom template. Custom templates get created outside of the ad rule workflow and can be referenced in ad tags.

                            Only custom templates can have names and display names.

                          • name - optional; type string
                            Name of the {@link BreakTemplate}. The name is case insenstive and can be referenced in ad tags. This value is required if {@code customTemplate} is true, and cannot be set otherwise.

                            You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.

                          • displayName - optional; type string
                            Descriptive name for the {@link BreakTemplateDto}. This value is optional if {@code customTemplate} is true, and cannot be set otherwise.
                          • breakTemplateMembers - optional, unbounded; type BreakTemplate.BreakTemplateMember
                            The list of the {@link BreakTemplateMember} objects in the order in which they should appear in the ad pod. Each {@link BreakTemplateMember} has a reference to a {@link AdSpot}, which defines what kinds of ads can appear at that position, as well as other metadata that defines how each ad spot should be filled.
                            A building block of a pod template.
                            • adSpotId - optional; type long
                              The ID of the {@link AdSpot} that has the settings about what kinds of ads can appear in this position of the {@link BreakTemplate}.
                            • adSpotFillType - optional; type AdSpotFillType - type string with restriction - enum { 'REQUIRED', 'OPTIONAL', 'UNKNOWN' }
                              The behavior for how the {@link AdSpot} should be filled in the context of the {@link BreakTemplate}.
                        Fault:
                        ApiException (wsdlsoap:fault, use = literal)Source code
                        ApiException type ApiExceptionFault
                        Exception class for holding a list of service errors.
                        Base class for exceptions.
                        • message - optional; type string
                          Error message.
                        • errors - optional, unbounded; type ApiError
                          The API error base class that provides details about an error that occurred while processing a service request.

                          The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

                          • fieldPath - optional; type string
                            The OGNL field path to identify cause of error.
                          • fieldPathElements - optional, unbounded; type FieldPathElement
                            A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
                            A segment of a field path. Each dot in a field path defines a new segment.
                            • field - optional; type string
                              The name of a field in lower camelcase. (e.g. "biddingStrategy")
                            • index - optional; type int
                              For list fields, this is a 0-indexed position in the list. Null for non-list fields.
                          • trigger - optional; type string
                            The data that caused the error.
                          • errorString - optional; type string
                            A simple string representation of the error and reason.
                          List of errors.
                        A fault element of type ApiException.

                    WSDL source code

                    <?xml version="1.0"?>
                    <!-- Generated file, do not edit -->
                    <!-- Copyright 2025 Google Inc. All Rights Reserved -->
                    <wsdl:definitions targetNamespace="https://www.google.com/apis/ads/publisher/v202502"
                    xmlns:tns="https://www.google.com/apis/ads/publisher/v202502"
                    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
                    >
                    <wsdl:types>
                    <schema elementFormDefault="qualified" jaxb:version="1.0" targetNamespace="https://www.google.com/apis/ads/publisher/v202502"
                    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
                    >
                    <complexType abstract="true" name="ObjectValue">
                    <annotation>
                    <documentation>Contains an object value. <p> <b>This object is experimental! <code>ObjectValue</code> is an experimental, innovative, and rapidly changing new feature for Ad Manager. Unfortunately, being on the bleeding edge means that we may make backwards-incompatible changes to <code>ObjectValue</code>. We will inform the community when this feature is no longer experimental.</b></documentation>
                    </annotation>
                    </complexType>
                    <complexType name="ActivateAdRules">
                    <annotation>
                    <documentation>The action used for resuming {@link AdRule} objects.</documentation>
                    </annotation>
                    </complexType>
                    <complexType abstract="true" name="AdRuleAction">
                    <annotation>
                    <documentation>Represents the actions that can be performed on {@link AdRule} objects.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="AdRuleDateError">
                    <annotation>
                    <documentation>Lists all errors associated with ad rule start and end dates.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="AdRule">
                    <annotation>
                    <documentation>An {@link AdRule} contains data that the ad server will use to generate a playlist of video ads.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="id" type="xsd:long">
                    <annotation>
                    <documentation>The unique ID of the {@link AdRule}. This value is readonly and is assigned by Google.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="name" type="xsd:string">
                    <annotation>
                    <documentation>The unique name of the {@link AdRule}. This attribute is required to create an ad rule and has a maximum length of 255 characters.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="priority" type="xsd:int">
                    <annotation>
                    <documentation>The priority of the {@link AdRule}. This attribute is required and can range from 1 to 1000, with 1 being the highest possible priority. <p>Changing an ad rule's priority can affect the priorities of other ad rules. For example, increasing an ad rule's priority from 5 to 1 will shift the ad rules that were previously in priority positions 1 through 4 down one.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="targeting" type="tns:Targeting">
                    <annotation>
                    <documentation>The targeting criteria of the {@link AdRule}. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="startDateTime" type="tns:DateTime">
                    <annotation>
                    <documentation>This {@link AdRule} object's start date and time. This attribute is required and must be a date in the future for new ad rules.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="startDateTimeType" type="tns:StartDateTimeType">
                    <annotation>
                    <documentation>Specifies whether to start using the {@link AdRule} right away, in an hour, etc. This attribute is optional and defaults to {@link StartDateTimeType#USE_START_DATE_TIME}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="endDateTime" type="tns:DateTime">
                    <annotation>
                    <documentation>This {@link AdRule} object's end date and time. This attribute is required unless {@code unlimitedEndDateTime} is set to {@code true}. If specified, it must be after the {@code startDateTime}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="unlimitedEndDateTime" type="xsd:boolean">
                    <annotation>
                    <documentation>Specifies whether the {@link AdRule} has an end time. This attribute is optional and defaults to false.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="status" type="tns:AdRuleStatus">
                    <annotation>
                    <documentation>The {@link AdRuleStatus} of the ad rule. This attribute is read-only and defaults to {@link AdRuleStatus#INACTIVE}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="frequencyCapBehavior" type="tns:FrequencyCapBehavior">
                    <annotation>
                    <documentation>The {@link FrequencyCapBehavior} of the {@link AdRule}. This attribute is optional and defaults to {@link FrequencyCapBehavior#DEFER}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="maxImpressionsPerLineItemPerStream" type="xsd:int">
                    <annotation>
                    <documentation>This {@link AdRule} object's frequency cap for the maximum impressions per stream. This attribute is optional and defaults to 0.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="maxImpressionsPerLineItemPerPod" type="xsd:int">
                    <annotation>
                    <documentation>This {@link AdRule} object's frequency cap for the maximum impressions per pod. This attribute is optional and defaults to 0.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="preroll" type="tns:BaseAdRuleSlot">
                    <annotation>
                    <documentation>This {@link AdRule} object's pre-roll slot. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="midroll" type="tns:BaseAdRuleSlot">
                    <annotation>
                    <documentation>This {@link AdRule} object's mid-roll slot. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="postroll" type="tns:BaseAdRuleSlot">
                    <annotation>
                    <documentation>This {@link AdRule} object's post-roll slot. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="NoPoddingAdRuleSlot">
                    <annotation>
                    <documentation>An ad rule slot with no podding. It is defined by a {@link BaseAdRuleSlot#maxVideoAdDuration}.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="OptimizedPoddingAdRuleSlot">
                    <annotation>
                    <documentation>Ad rule slot with optimized podding. Optimized pods are defined by a {@link BaseAdRuleSlot#maxPodDuration} and a {@link BaseAdRuleSlot#maxAdsInPod}, and the ad server chooses the best ads for the alloted duration.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="AdRulePage">
                    <annotation>
                    <documentation>Captures a page of {@link AdRule} objects.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="totalResultSetSize" type="xsd:int">
                    <annotation>
                    <documentation>The size of the total result set to which this page belongs.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="startIndex" type="xsd:int">
                    <annotation>
                    <documentation>The absolute index in the total result set on which this page begins.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="results" type="tns:AdRule">
                    <annotation>
                    <documentation>The collection of ad rules contained within this page.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType abstract="true" name="BaseAdRuleSlot">
                    <annotation>
                    <documentation>Simple object representing an ad slot within an {@link AdRule}. Ad rule slots contain information about the types/number of ads to display, as well as additional information on how the ad server will generate playlists.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="slotBehavior" type="tns:AdRuleSlotBehavior">
                    <annotation>
                    <documentation>The {@link AdRuleSlotBehavior} for video ads for this slot. This attribute is optional and defaults to {@link AdRuleSlotBehavior#DEFER}. <p>Indicates whether video ads are allowed for this slot, or if the decision is deferred to a lower-priority ad rule.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="maxVideoAdDuration" type="xsd:long">
                    <annotation>
                    <documentation>The maximum duration in milliseconds of video ads within this slot. This attribute is optional and defaults to 0.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="videoMidrollFrequencyType" type="tns:MidrollFrequencyType">
                    <annotation>
                    <documentation>The frequency type for video ads in this ad rule slot. This attribute is required for mid-rolls, but if this is not a mid-roll, the value is set to {@link MidrollFrequencyType#NONE}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="videoMidrollFrequency" type="xsd:string">
                    <annotation>
                    <documentation>The mid-roll frequency of this ad rule slot for video ads. This attribute is required for mid-rolls, but if {@link MidrollFrequencyType} is set to {@link MidrollFrequencyType#NONE}, this value should be ignored. For example, if this slot has a frequency type of {@link MidrollFrequencyType#EVERY_N_SECONDS} and {@code #videoMidrollFrequency} = "60", this would mean " play a mid-roll every 60 seconds."</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="bumper" type="tns:AdRuleSlotBumper">
                    <annotation>
                    <documentation>The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link AdRuleSlotBumper#NONE}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="maxBumperDuration" type="xsd:long">
                    <annotation>
                    <documentation>The maximum duration of bumper ads within this slot. This attribute is optional and defaults to 0.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="maxPodDuration" type="xsd:long">
                    <annotation>
                    <documentation>The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults to 0.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="maxAdsInPod" type="xsd:int">
                    <annotation>
                    <documentation>The maximum number of ads allowed in a pod in this slot. This attribute is optional and defaults to 0.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="breakTemplateId" type="xsd:long">
                    <annotation>
                    <documentation>ID of a {@link BreakTemplate} that defines what kinds of ads show at which positions within this slot. This field is optional and only supported on {@link OptimizedPoddingAdRuleSlot} entities.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="StandardPoddingAdRuleSlot">
                    <annotation>
                    <documentation>An ad rule slot with standard podding. A standard pod is a series of video ads played back to back. Standard pods are defined by a {@link BaseAdRuleSlot#maxAdsInPod} and a {@link BaseAdRuleSlot#maxVideoAdDuration}.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="AdSpot">
                    <annotation>
                    <documentation>A {@link AdSpot} is a targetable entity used in the creation of {@link AdRule} objects. <p>A ad spot contains a variable number of ads and has constraints (ad duration, reservation type, etc) on the ads that can appear in it.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="id" type="xsd:long">
                    <annotation>
                    <documentation>The unique ID of the {@link AdSpot}. This value is readonly and is assigned by Google.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="name" type="xsd:string">
                    <annotation>
                    <documentation>Name of the {@link AdSpot}. The name is case insenstive and can be referenced in ad tags. This value is required if {@code customSpot} is true, and cannot be set otherwise. <p>You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="displayName" type="xsd:string">
                    <annotation>
                    <documentation>Descriptive name for the {@link AdSpot}.This value is optional if {@code customSpot} is true, and cannot be set otherwise.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="customSpot" type="xsd:boolean">
                    <annotation>
                    <documentation>Whether this ad spot is a custom spot. This field is optional and defaults to false. <p>Custom spots can be reused and targeted in the targeting picker.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="flexible" type="xsd:boolean">
                    <annotation>
                    <documentation>Whether this ad spot is a flexible spot. This field is optional and defaults to false. <p>Flexible spots are allowed to have no max number of ads.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="maxDurationMillis" type="xsd:long">
                    <annotation>
                    <documentation>The maximum total duration for this {@link AdSpot}. This field is optional, defaults to 0, and supports precision to the nearest second.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="maxNumberOfAds" type="xsd:int">
                    <annotation>
                    <documentation>The maximum number of ads allowed in the {@link AdSpot}. This field is optional and defaults to O. <p>A {@code maxNumberOfAds} of 0 means that there is no maximum for the number of ads in the ad spot. No max ads is only supported for ad spots that have {@code flexible} set to true.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="targetingType" type="tns:AdSpotTargetingType">
                    <annotation>
                    <documentation>The {@link SubpodTargetingType} determines how this ad spot can be targeted. This field is required.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="backfillBlocked" type="xsd:boolean">
                    <annotation>
                    <documentation>Whether backfill is blocked in this ad spot. This field is optional and defaults to false.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="allowedLineItemTypes" type="tns:LineItemType">
                    <annotation>
                    <documentation>The set of line item types that may appear in the ad spot. This field is optional and defaults to an empty set, which means that all types are allowed. <p>Note, backfill reservation types are controlled via the {@code backfillBlocked} field.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="inventorySharingBlocked" type="xsd:boolean">
                    <annotation>
                    <documentation>Whether inventory sharing is blocked in this ad spot. This field is optional and defaults to false.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="AdSpotPage">
                    <annotation>
                    <documentation>Captures a page of {@link AdSpot} objects.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="totalResultSetSize" type="xsd:int">
                    <annotation>
                    <documentation>The size of the total result set to which this page belongs.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="startIndex" type="xsd:int">
                    <annotation>
                    <documentation>The absolute index in the total result set on which this page begins.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="results" type="tns:AdSpot">
                    <annotation>
                    <documentation>The collection of ad spot contained within this page.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="AdUnitTargeting">
                    <annotation>
                    <documentation>Represents targeted or excluded ad units.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="adUnitId" type="xsd:string">
                    <annotation>
                    <documentation>Included or excluded ad unit id.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="includeDescendants" type="xsd:boolean">
                    <annotation>
                    <documentation>Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType abstract="true" name="ApiError">
                    <annotation>
                    <documentation>The API error base class that provides details about an error that occurred while processing a service request. <p>The OGNL field path is provided for parsers to identify the request data element that may have caused the error.</p></documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="fieldPath" type="xsd:string">
                    <annotation>
                    <documentation>The OGNL field path to identify cause of error.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="fieldPathElements" type="tns:FieldPathElement">
                    <annotation>
                    <documentation>A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="trigger" type="xsd:string">
                    <annotation>
                    <documentation>The data that caused the error.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="errorString" type="xsd:string">
                    <annotation>
                    <documentation>A simple string representation of the error and reason.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="ApiException">
                    <annotation>
                    <documentation>Exception class for holding a list of service errors.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="TechnologyTargeting">
                    <annotation>
                    <documentation>Provides {@link LineItem} objects the ability to target or exclude technologies.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="bandwidthGroupTargeting" type="tns:BandwidthGroupTargeting">
                    <annotation>
                    <documentation>The bandwidth groups being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="browserTargeting" type="tns:BrowserTargeting">
                    <annotation>
                    <documentation>The browsers being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="browserLanguageTargeting" type="tns:BrowserLanguageTargeting">
                    <annotation>
                    <documentation>The languages of browsers being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="deviceCapabilityTargeting" type="tns:DeviceCapabilityTargeting">
                    <annotation>
                    <documentation>The device capabilities being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="deviceCategoryTargeting" type="tns:DeviceCategoryTargeting">
                    <annotation>
                    <documentation>The device categories being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="deviceManufacturerTargeting" type="tns:DeviceManufacturerTargeting">
                    <annotation>
                    <documentation>The device manufacturers being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="mobileCarrierTargeting" type="tns:MobileCarrierTargeting">
                    <annotation>
                    <documentation>The mobile carriers being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="mobileDeviceTargeting" type="tns:MobileDeviceTargeting">
                    <annotation>
                    <documentation>The mobile devices being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="mobileDeviceSubmodelTargeting" type="tns:MobileDeviceSubmodelTargeting">
                    <annotation>
                    <documentation>The mobile device submodels being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="operatingSystemTargeting" type="tns:OperatingSystemTargeting">
                    <annotation>
                    <documentation>The operating systems being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="operatingSystemVersionTargeting" type="tns:OperatingSystemVersionTargeting">
                    <annotation>
                    <documentation>The operating system versions being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="ApplicationException">
                    <annotation>
                    <documentation>Base class for exceptions.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="AuthenticationError">
                    <annotation>
                    <documentation>An error for an exception that occurred when authenticating.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="BandwidthGroup">
                    <annotation>
                    <documentation>Represents a group of bandwidths that are logically organized by some well known generic names such as 'Cable' or 'DSL'.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="BandwidthGroupTargeting">
                    <annotation>
                    <documentation>Represents bandwidth groups that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                    <annotation>
                    <documentation>Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="bandwidthGroups" type="tns:Technology">
                    <annotation>
                    <documentation>The bandwidth groups that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="BooleanValue">
                    <annotation>
                    <documentation>Contains a boolean value.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="BreakTemplate">
                    <annotation>
                    <documentation>A {@link BreakTemplate} defines what kinds of ads show at which positions within a pod. <p>Break templates are made up of {@link AdSpot} objects. A break template must have a single ad spot that has {@code AdSpot#flexible} set to true.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="id" type="xsd:long">
                    <annotation>
                    <documentation>The unique ID of the {@link BreakTemplate}. This value is readonly and is assigned by Google.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="customTemplate" type="xsd:boolean">
                    <annotation>
                    <documentation>Whether this is custom template. Custom templates get created outside of the ad rule workflow and can be referenced in ad tags. <p>Only custom templates can have names and display names.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="name" type="xsd:string">
                    <annotation>
                    <documentation>Name of the {@link BreakTemplate}. The name is case insenstive and can be referenced in ad tags. This value is required if {@code customTemplate} is true, and cannot be set otherwise. <p>You can use alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="displayName" type="xsd:string">
                    <annotation>
                    <documentation>Descriptive name for the {@link BreakTemplateDto}. This value is optional if {@code customTemplate} is true, and cannot be set otherwise.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="breakTemplateMembers" type="tns:BreakTemplate.BreakTemplateMember">
                    <annotation>
                    <documentation>The list of the {@link BreakTemplateMember} objects in the order in which they should appear in the ad pod. Each {@link BreakTemplateMember} has a reference to a {@link AdSpot}, which defines what kinds of ads can appear at that position, as well as other metadata that defines how each ad spot should be filled.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="BreakTemplate.BreakTemplateMember">
                    <annotation>
                    <documentation>A building block of a pod template.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="adSpotId" type="xsd:long">
                    <annotation>
                    <documentation>The ID of the {@link AdSpot} that has the settings about what kinds of ads can appear in this position of the {@link BreakTemplate}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="adSpotFillType" type="tns:AdSpotFillType">
                    <annotation>
                    <documentation>The behavior for how the {@link AdSpot} should be filled in the context of the {@link BreakTemplate}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="BreakTemplatePage">
                    <annotation>
                    <documentation>Captures a page of {@link BreakTemplate} objects.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="totalResultSetSize" type="xsd:int">
                    <annotation>
                    <documentation>The size of the total result set to which this page belongs.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="startIndex" type="xsd:int">
                    <annotation>
                    <documentation>The absolute index in the total result set on which this page begins.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="results" type="tns:BreakTemplate">
                    <annotation>
                    <documentation>The collection of break templates contained within this page.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="Browser">
                    <annotation>
                    <documentation>Represents an internet browser.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="BrowserLanguage">
                    <annotation>
                    <documentation>Represents a Browser's language.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="BrowserLanguageTargeting">
                    <annotation>
                    <documentation>Represents browser languages that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                    <annotation>
                    <documentation>Indicates whether browsers languages should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="browserLanguages" type="tns:Technology">
                    <annotation>
                    <documentation>Browser languages that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="BrowserTargeting">
                    <annotation>
                    <documentation>Represents browsers that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                    <annotation>
                    <documentation>Indicates whether browsers should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="browsers" type="tns:Technology">
                    <annotation>
                    <documentation>Browsers that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="BuyerUserListTargeting">
                    <annotation>
                    <documentation>The {@code BuyerUserListTargeting} associated with a programmatic {@link LineItem} or {@link ProposalLineItem} object.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="hasBuyerUserListTargeting" type="xsd:boolean">
                    <annotation>
                    <documentation>Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user list targeting.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="CommonError">
                    <annotation>
                    <documentation>A place for common errors that can be used across services.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="ContentTargeting">
                    <annotation>
                    <documentation>Used to target {@link LineItem}s to specific videos on a publisher's site.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="targetedContentIds" type="xsd:long">
                    <annotation>
                    <documentation>The IDs of content being targeted by the {@code LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="excludedContentIds" type="xsd:long">
                    <annotation>
                    <documentation>The IDs of content being excluded by the {@code LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="targetedVideoContentBundleIds" type="xsd:long">
                    <annotation>
                    <documentation>A list of video content bundles, represented by {@link ContentBundle} IDs, that are being targeted by the {@code LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="excludedVideoContentBundleIds" type="xsd:long">
                    <annotation>
                    <documentation>A list of video content bundles, represented by {@link ContentBundle} IDs, that are being excluded by the {@code LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="CustomCriteria">
                    <annotation>
                    <documentation>A {@link CustomCriteria} object is used to perform custom criteria targeting on custom targeting keys of type {@link CustomTargetingKey.Type#PREDEFINED} or {@link CustomTargetingKey.Type#FREEFORM}.</documentation>
                    </annotation>
                    <complexContent>
                    <extension base="tns:CustomCriteriaLeaf">
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="keyId" type="xsd:long">
                    <annotation>
                    <documentation>The {@link CustomTargetingKey#id} of the {@link CustomTargetingKey} object that was created using {@link CustomTargetingService}. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="valueIds" type="xsd:long">
                    <annotation>
                    <documentation>The ids of {@link CustomTargetingValue} objects to target the custom targeting key with id {@link CustomCriteria#keyId}. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="operator" type="tns:CustomCriteria.ComparisonOperator">
                    <annotation>
                    <documentation>The comparison operator. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </extension>
                    </complexContent>
                    </complexType>
                    <complexType name="CustomCriteriaSet">
                    <annotation>
                    <documentation>A {@link CustomCriteriaSet} comprises of a set of {@link CustomCriteriaNode} objects combined by the {@link CustomCriteriaSet.LogicalOperator#logicalOperator}. The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.</documentation>
                    </annotation>
                    <complexContent>
                    <extension base="tns:CustomCriteriaNode">
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="logicalOperator" type="tns:CustomCriteriaSet.LogicalOperator">
                    <annotation>
                    <documentation>The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is required. <span class="constraint Required">This attribute is required.</span></documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="children" type="tns:CustomCriteriaNode">
                    <annotation>
                    <documentation>The custom criteria. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </extension>
                    </complexContent>
                    </complexType>
                    <complexType name="CmsMetadataCriteria">
                    <annotation>
                    <documentation>A {@code CmsMetadataCriteria} object is used to target {@code CmsMetadataValue} objects.</documentation>
                    </annotation>
                    <complexContent>
                    <extension base="tns:CustomCriteriaLeaf">
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="operator" type="tns:CmsMetadataCriteria.ComparisonOperator">
                    <annotation>
                    <documentation>The comparison operator. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="cmsMetadataValueIds" type="xsd:long">
                    <annotation>
                    <documentation>The ids of {@link CmsMetadataValue} objects used to target CMS metadata. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </extension>
                    </complexContent>
                    </complexType>
                    <complexType name="CustomTargetingError">
                    <annotation>
                    <documentation>Lists all errors related to {@link CustomTargetingKey} and {@link CustomTargetingValue} objects.</documentation>
                    </annotation>
                    </complexType>
                    <complexType abstract="true" name="CustomCriteriaLeaf">
                    <annotation>
                    <documentation>A {@link CustomCriteriaLeaf} object represents a generic leaf of {@link CustomCriteria} tree structure.</documentation>
                    </annotation>
                    </complexType>
                    <complexType abstract="true" name="CustomCriteriaNode">
                    <annotation>
                    <documentation>A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="AudienceSegmentCriteria">
                    <annotation>
                    <documentation>An {@link AudienceSegmentCriteria} object is used to target {@link AudienceSegment} objects.</documentation>
                    </annotation>
                    <complexContent>
                    <extension base="tns:CustomCriteriaLeaf">
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="operator" type="tns:AudienceSegmentCriteria.ComparisonOperator">
                    <annotation>
                    <documentation>The comparison operator. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="audienceSegmentIds" type="xsd:long">
                    <annotation>
                    <documentation>The ids of {@link AudienceSegment} objects used to target audience segments. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </extension>
                    </complexContent>
                    </complexType>
                    <complexType name="Date">
                    <annotation>
                    <documentation>Represents a date.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="DateTimeRange">
                    <annotation>
                    <documentation>Represents a range of dates (combined with time of day) that has an upper and/or lower bound.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="startDateTime" type="tns:DateTime">
                    <annotation>
                    <documentation>The start date time of this range. This field is optional and if it is not set then there is no lower bound on the date time range. If this field is not set then {@code endDateTime} must be specified.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="endDateTime" type="tns:DateTime">
                    <annotation>
                    <documentation>The end date time of this range. This field is optional and if it is not set then there is no upper bound on the date time range. If this field is not set then {@code startDateTime} must be specified.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="DateTimeValue">
                    <annotation>
                    <documentation>Contains a date-time value.</documentation>
                    </annotation>
                    <complexContent></complexContent>
                    </complexType>
                    <complexType name="DateValue">
                    <annotation>
                    <documentation>Contains a date value.</documentation>
                    </annotation>
                    <complexContent></complexContent>
                    </complexType>
                    <complexType name="DayPart">
                    <annotation>
                    <documentation>{@code DayPart} represents a time-period within a day of the week which is targeted by a {@link LineItem}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="dayOfWeek" type="tns:DayOfWeek">
                    <annotation>
                    <documentation>Day of the week the target applies to. This field is required.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="startTime" type="tns:TimeOfDay">
                    <annotation>
                    <documentation>Represents the start time of the targeted period (inclusive).</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="endTime" type="tns:TimeOfDay">
                    <annotation>
                    <documentation>Represents the end time of the targeted period (exclusive).</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="DayPartTargeting">
                    <annotation>
                    <documentation>Modify the delivery times of line items for particular days of the week. By default, line items are served at all days and times.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="dayParts" type="tns:DayPart">
                    <annotation>
                    <documentation>Specifies days of the week and times at which a {@code LineItem} will be delivered. <p>If targeting all days and times, this value will be ignored.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="timeZone" type="tns:DeliveryTimeZone">
                    <annotation>
                    <documentation>Specifies the time zone to be used for delivering {@link LineItem} objects. This attribute is optional and defaults to {@link DeliveryTimeZone#BROWSER}. <p>Setting this has no effect if targeting all days and times.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="DeactivateAdRules">
                    <annotation>
                    <documentation>The action used for pausing {@link AdRule} objects.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="DeleteAdRules">
                    <annotation>
                    <documentation>The action used for deleting {@link AdRule} objects.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="DeviceCapability">
                    <annotation>
                    <documentation>Represents a capability of a physical device.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="DeviceCapabilityTargeting">
                    <annotation>
                    <documentation>Represents device capabilities that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="targetedDeviceCapabilities" type="tns:Technology">
                    <annotation>
                    <documentation>Device capabilities that are being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="excludedDeviceCapabilities" type="tns:Technology">
                    <annotation>
                    <documentation>Device capabilities that are being excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="DeviceCategory">
                    <annotation>
                    <documentation>Represents the category of a device.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="DeviceCategoryTargeting">
                    <annotation>
                    <documentation>Represents device categories that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="targetedDeviceCategories" type="tns:Technology">
                    <annotation>
                    <documentation>Device categories that are being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="excludedDeviceCategories" type="tns:Technology">
                    <annotation>
                    <documentation>Device categories that are being excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="DeviceManufacturer">
                    <annotation>
                    <documentation>Represents a mobile device's manufacturer.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="DeviceManufacturerTargeting">
                    <annotation>
                    <documentation>Represents device manufacturer that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                    <annotation>
                    <documentation>Indicates whether device manufacturers should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="deviceManufacturers" type="tns:Technology">
                    <annotation>
                    <documentation>Device manufacturers that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="FeatureError">
                    <annotation>
                    <documentation>Errors related to feature management. If you attempt using a feature that is not available to the current network you'll receive a FeatureError with the missing feature as the trigger.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="FieldPathElement">
                    <annotation>
                    <documentation>A segment of a field path. Each dot in a field path defines a new segment.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="field" type="xsd:string">
                    <annotation>
                    <documentation>The name of a field in lower camelcase. (e.g. "biddingStrategy")</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="index" type="xsd:int">
                    <annotation>
                    <documentation>For list fields, this is a 0-indexed position in the list. Null for non-list fields.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="GeoTargeting">
                    <annotation>
                    <documentation>Provides line items the ability to target geographical locations. By default, line items target all countries and their subdivisions. With geographical targeting, you can target line items to specific countries, regions, metro areas, and cities. You can also exclude the same. <p>The following rules apply for geographical targeting: <ul> <li>You cannot target and exclude the same location. <li>You cannot target a child whose parent has been excluded. For example, if the state of Illinois has been excluded, then you cannot target Chicago. <li>You must not target a location if you are also targeting its parent. For example, if you are targeting New York City, you must not have the state of New York as one of the targeted locations. <li>You cannot explicitly define inclusions or exclusions that are already implicit. For example, if you explicitly include California, you implicitly exclude all other states. You therefore cannot explicitly exclude Florida, because it is already implicitly excluded. Conversely if you explicitly exclude Florida, you cannot explicitly include California. </ul></documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="targetedLocations" type="tns:Location">
                    <annotation>
                    <documentation>The geographical locations being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="excludedLocations" type="tns:Location">
                    <annotation>
                    <documentation>The geographical locations being excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="GeoTargetingError">
                    <annotation>
                    <documentation>Lists all errors associated with geographical targeting for a {@link LineItem}.</documentation>
                    </annotation>
                    <complexContent></complexContent>
                    </complexType>
                    <complexType name="InternalApiError">
                    <annotation>
                    <documentation>Indicates that a server-side error has occured. {@code InternalApiError}s are generally not the result of an invalid request or message sent by the client.</documentation>
                    </annotation>
                    <complexContent></complexContent>
                    </complexType>
                    <complexType name="InventorySizeTargeting">
                    <annotation>
                    <documentation>Represents a collection of targeted and excluded inventory sizes. This is currently only available on {@link YieldGroup} and {@link TrafficDataRequest}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                    <annotation>
                    <documentation>Whether the inventory sizes should be targeted or excluded.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="InventoryTargeting">
                    <annotation>
                    <documentation>A collection of targeted and excluded ad units and placements.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="targetedAdUnits" type="tns:AdUnitTargeting">
                    <annotation>
                    <documentation>A list of targeted {@link AdUnitTargeting}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="excludedAdUnits" type="tns:AdUnitTargeting">
                    <annotation>
                    <documentation>A list of excluded {@link AdUnitTargeting}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="targetedPlacementIds" type="xsd:long">
                    <annotation>
                    <documentation>A list of targeted {@link Placement} ids.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="InventoryTargetingError">
                    <annotation>
                    <documentation>Lists all inventory errors caused by associating a line item with a targeting expression.</documentation>
                    </annotation>
                    <complexContent></complexContent>
                    </complexType>
                    <complexType name="InventoryUrl">
                    <annotation>
                    <documentation>The representation of an inventory Url that is used in targeting.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="Location">
                    <annotation>
                    <documentation>A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="id" type="xsd:long">
                    <annotation>
                    <documentation>Uniquely identifies each {@code Location}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="type" type="xsd:string">
                    <annotation>
                    <documentation>The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="canonicalParentId" type="xsd:int">
                    <annotation>
                    <documentation>The nearest location parent's ID for this geographical entity.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="displayName" type="xsd:string">
                    <annotation>
                    <documentation>The localized name of the geographical entity.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="MobileApplicationTargeting">
                    <annotation>
                    <documentation>Provides the ability to target or exclude users' mobile applications.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="mobileApplicationIds" type="xsd:long">
                    <annotation>
                    <documentation>The {@link MobileApplication#id IDs} that are being targeted or excluded.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                    <annotation>
                    <documentation>Indicates whether mobile apps should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="MobileCarrier">
                    <annotation>
                    <documentation>Represents a mobile carrier. Carrier targeting is only available to Ad Manager mobile publishers. For a list of current mobile carriers, you can use {@link PublisherQueryLanguageService#mobile_carrier}.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="MobileCarrierTargeting">
                    <annotation>
                    <documentation>Represents mobile carriers that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                    <annotation>
                    <documentation>Indicates whether mobile carriers should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="mobileCarriers" type="tns:Technology">
                    <annotation>
                    <documentation>Mobile carriers that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="MobileDevice">
                    <annotation>
                    <documentation>Represents a Mobile Device.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="MobileDeviceSubmodel">
                    <annotation>
                    <documentation>Represents a mobile device submodel.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="MobileDeviceSubmodelTargeting">
                    <annotation>
                    <documentation>Represents mobile devices that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="targetedMobileDeviceSubmodels" type="tns:Technology">
                    <annotation>
                    <documentation>Mobile device submodels that are being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="excludedMobileDeviceSubmodels" type="tns:Technology">
                    <annotation>
                    <documentation>Mobile device submodels that are being excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="MobileDeviceTargeting">
                    <annotation>
                    <documentation>Represents mobile devices that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="targetedMobileDevices" type="tns:Technology">
                    <annotation>
                    <documentation>Mobile devices that are being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="excludedMobileDevices" type="tns:Technology">
                    <annotation>
                    <documentation>Mobile devices that are being excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="NotNullError">
                    <annotation>
                    <documentation>Caused by supplying a null value for an attribute that cannot be null.</documentation>
                    </annotation>
                    <complexContent>
                    <extension base="tns:ApiError">
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="reason" type="tns:NotNullError.Reason">
                    <annotation>
                    <documentation>The error reason represented by an enum.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </extension>
                    </complexContent>
                    </complexType>
                    <complexType name="NumberValue">
                    <annotation>
                    <documentation>Contains a numeric value.</documentation>
                    </annotation>
                    <complexContent>
                    <extension base="tns:Value">
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="value" type="xsd:string">
                    <annotation>
                    <documentation>The numeric value represented as a string.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </extension>
                    </complexContent>
                    </complexType>
                    <complexType name="OperatingSystem">
                    <annotation>
                    <documentation>Represents an Operating System, such as Linux, Mac OS or Windows.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="OperatingSystemTargeting">
                    <annotation>
                    <documentation>Represents operating systems that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                    <annotation>
                    <documentation>Indicates whether operating systems should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="operatingSystems" type="tns:Technology">
                    <annotation>
                    <documentation>Operating systems that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="OperatingSystemVersion">
                    <annotation>
                    <documentation>Represents a specific version of an operating system.</documentation>
                    </annotation>
                    <complexContent>
                    <extension base="tns:Technology">
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="majorVersion" type="xsd:int">
                    <annotation>
                    <documentation>The operating system major version.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="minorVersion" type="xsd:int">
                    <annotation>
                    <documentation>The operating system minor version.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="microVersion" type="xsd:int">
                    <annotation>
                    <documentation>The operating system micro version.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </extension>
                    </complexContent>
                    </complexType>
                    <complexType name="OperatingSystemVersionTargeting">
                    <annotation>
                    <documentation>Represents operating system versions that are being targeted or excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="targetedOperatingSystemVersions" type="tns:Technology">
                    <annotation>
                    <documentation>Operating system versions that are being targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="excludedOperatingSystemVersions" type="tns:Technology">
                    <annotation>
                    <documentation>Operating system versions that are being excluded by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="ParseError">
                    <annotation>
                    <documentation>Lists errors related to parsing.</documentation>
                    </annotation>
                    <complexContent>
                    <extension base="tns:ApiError">
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="reason" type="tns:ParseError.Reason">
                    <annotation>
                    <documentation>The error reason represented by an enum.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </extension>
                    </complexContent>
                    </complexType>
                    <complexType name="PublisherQueryLanguageContextError">
                    <annotation>
                    <documentation>An error that occurs while executing a PQL query contained in a {@link Statement} object.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="PublisherQueryLanguageSyntaxError">
                    <annotation>
                    <documentation>An error that occurs while parsing a PQL query contained in a {@link Statement} object.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="QuotaError">
                    <annotation>
                    <documentation>Describes a client-side error on which a user is attempting to perform an action to which they have no quota remaining.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="RequestPlatformTargeting">
                    <annotation>
                    <documentation>Provides line items the ability to target the platform that requests and renders the ad. <p>The following rules apply for {@link RequestPlatformTargeting} <ul> <li>{@link RequestPlatformTargeting} must be specified for {@link ProposalLineItem}s. <li>{@link RequestPlatformTargeting} must be specified for video line items. Empty values for {@link RequestPlatformTargeting#targetedRequestPlatforms} mean that all request platforms will be targeted. <li>{@link RequestPlatformTargeting} is read-only and assigned by Google for non-video line items. <li>{@link RequestPlatformTargeting} is read-only and assigned by Google for line items generated from proposal line items. </ul></documentation>
                    </annotation>
                    </complexType>
                    <complexType name="RequiredCollectionError">
                    <annotation>
                    <documentation>A list of all errors to be used for validating sizes of collections.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="RequiredError">
                    <annotation>
                    <documentation>Errors due to missing required field.</documentation>
                    </annotation>
                    <complexContent>
                    <extension base="tns:ApiError">
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="reason" type="tns:RequiredError.Reason">
                    <annotation>
                    <documentation>The error reason represented by an enum.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </extension>
                    </complexContent>
                    </complexType>
                    <complexType name="RequiredNumberError">
                    <annotation>
                    <documentation>A list of all errors to be used in conjunction with required number validators.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="SetValue">
                    <annotation>
                    <documentation>Contains a set of {@link Value Values}. May not contain duplicates.</documentation>
                    </annotation>
                    <complexContent>
                    <extension base="tns:Value">
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="values" type="tns:Value">
                    <annotation>
                    <documentation>The values. They must all be the same type of {@code Value} and not contain duplicates.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </extension>
                    </complexContent>
                    </complexType>
                    <complexType name="Size">
                    <annotation>
                    <documentation>Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}. <p>For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="width" type="xsd:int">
                    <annotation>
                    <documentation>The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="height" type="xsd:int">
                    <annotation>
                    <documentation>The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="isAspectRatio" type="xsd:boolean">
                    <annotation>
                    <documentation>Whether this size represents an aspect ratio.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="SoapRequestHeader">
                    <annotation>
                    <documentation>Represents the SOAP request header used by API requests.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="networkCode" type="xsd:string">
                    <annotation>
                    <documentation>The network code to use in the context of a request.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="applicationName" type="xsd:string">
                    <annotation>
                    <documentation>The name of client library application.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="Statement">
                    <annotation>
                    <documentation>Captures the {@code WHERE}, {@code ORDER BY} and {@code LIMIT} clauses of a PQL query. Statements are typically used to retrieve objects of a predefined domain type, which makes SELECT clause unnecessary. <p> An example query text might be {@code "WHERE status = 'ACTIVE' ORDER BY id LIMIT 30"}. </p> <p> Statements support bind variables. These are substitutes for literals and can be thought of as input parameters to a PQL query. </p> <p> An example of such a query might be {@code "WHERE id = :idValue"}. </p> <p> Statements also support use of the LIKE keyword. This provides wildcard string matching. </p> <p> An example of such a query might be {@code "WHERE name LIKE '%searchString%'"}. </p> The value for the variable idValue must then be set with an object of type {@link Value}, e.g., {@link NumberValue}, {@link TextValue} or {@link BooleanValue}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="query" type="xsd:string">
                    <annotation>
                    <documentation>Holds the query in PQL syntax. The syntax is:<br> <code>[WHERE <condition> {[AND | OR] <condition> ...}]</code><br> <code>[ORDER BY <property> [ASC | DESC]]</code><br> <code>[LIMIT {[<offset>,] <count>} | {<count> OFFSET <offset>}]</code><br> <p> <code><condition></code><br> &nbsp;&nbsp;&nbsp;&nbsp; <code>:= <property> {< | <= | > | >= | = | != } <value></code><br> <code><condition></code><br> &nbsp;&nbsp;&nbsp;&nbsp; <code>:= <property> {< | <= | > | >= | = | != } <bind variable></code><br> <code><condition> := <property> IN <list></code><br> <code><condition> := <property> IS NULL</code><br> <code><condition> := <property> LIKE <wildcard%match></code><br> <code><bind variable> := :<name></code><br> </p></documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="unbounded" minOccurs="0" name="values" type="tns:String_ValueMapEntry">
                    <annotation>
                    <documentation>Holds keys and values for bind variables and their values. The key is the name of the bind variable. The value is the literal value of the variable. <p> In the example {@code "WHERE status = :bindStatus ORDER BY id LIMIT 30"}, the bind variable, represented by {@code :bindStatus} is named {@code bindStatus}, which would also be the parameter map key. The bind variable's value would be represented by a parameter map value of type {@link TextValue}. The final result, for example, would be an entry of {@code "bindStatus" => StringParam("ACTIVE")}. </p></documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="StatementError">
                    <annotation>
                    <documentation>An error that occurs while parsing {@link Statement} objects.</documentation>
                    </annotation>
                    <complexContent>
                    <extension base="tns:ApiError">
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="reason" type="tns:StatementError.Reason">
                    <annotation>
                    <documentation>The error reason represented by an enum.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </extension>
                    </complexContent>
                    </complexType>
                    <complexType name="StringFormatError">
                    <annotation>
                    <documentation>A list of error code for reporting invalid content of input strings.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="StringLengthError">
                    <annotation>
                    <documentation>Errors for Strings which do not meet given length constraints.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="TargetedSize">
                    <annotation>
                    <documentation>A size that is targeted on a request.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="Targeting">
                    <annotation>
                    <documentation>Contains targeting criteria for {@link LineItem} objects. See {@link LineItem#targeting}.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="geoTargeting" type="tns:GeoTargeting">
                    <annotation>
                    <documentation>Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is optional.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="inventoryTargeting" type="tns:InventoryTargeting">
                    <annotation>
                    <documentation>Specifies what inventory is targeted by the {@link LineItem}. This attribute is required. The line item must target at least one ad unit or placement.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="dayPartTargeting" type="tns:DayPartTargeting">
                    <annotation>
                    <documentation>Specifies the days of the week and times that are targeted by the {@link LineItem}. This attribute is optional.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="dateTimeRangeTargeting" type="tns:DateTimeRangeTargeting">
                    <annotation>
                    <documentation>Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute is optional.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="technologyTargeting" type="tns:TechnologyTargeting">
                    <annotation>
                    <documentation>Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute is optional.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="customTargeting" type="tns:CustomCriteriaSet">
                    <annotation>
                    <documentation>Specifies the collection of custom criteria that is targeted by the {@link LineItem}. <p>Once the {@link LineItem} is updated or modified with custom targeting, the server may return a normalized, but equivalent representation of the custom targeting expression. <p>{@code customTargeting} will have up to three levels of expressions including itself. <p>The top level {@code CustomCriteriaSet} i.e. the {@code customTargeting} object can only contain a {@link CustomCriteriaSet.LogicalOperator#OR} of all its children. <p>The second level of {@code CustomCriteriaSet} objects can only contain {@link CustomCriteriaSet.LogicalOperator#AND} of all their children. If a {@link CustomCriteria} is placed on this level, the server will wrap it in a {@link CustomCriteriaSet}. <p>The third level can only comprise of {@link CustomCriteria} objects. <p>The resulting custom targeting tree would be of the form: <br> <img src="https://chart.apis.google.com/chart?cht=gv&chl=digraph{customTargeting_LogicalOperator_OR-%3ECustomCriteriaSet_LogicalOperator_AND_1-%3ECustomCriteria_1;CustomCriteriaSet_LogicalOperator_AND_1-%3Eellipsis1;customTargeting_LogicalOperator_OR-%3Eellipsis2;ellipsis1[label=%22...%22,shape=none,fontsize=32];ellipsis2[label=%22...%22,shape=none,fontsize=32]}&chs=450x200"/></documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="userDomainTargeting" type="tns:UserDomainTargeting">
                    <annotation>
                    <documentation>Specifies the domains or subdomains that are targeted or excluded by the {@link LineItem}. Users visiting from an IP address associated with those domains will be targeted or excluded. This attribute is optional.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="contentTargeting" type="tns:ContentTargeting">
                    <annotation>
                    <documentation>Specifies the video categories and individual videos targeted by the {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="videoPositionTargeting" type="tns:VideoPositionTargeting">
                    <annotation>
                    <documentation>Specifies targeting against video position types.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="buyerUserListTargeting" type="tns:BuyerUserListTargeting">
                    <annotation>
                    <documentation>Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link ProposalLineItem}. This attribute is readonly and is populated by Google.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="inventoryUrlTargeting" type="tns:InventoryUrlTargeting">
                    <annotation>
                    <documentation>Specifies the URLs that are targeted by the entity. This is currently only supported by {@link YieldGroup}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="verticalTargeting" type="tns:VerticalTargeting">
                    <annotation>
                    <documentation>Specifies the verticals that are targeted by the entity. The IDs listed here correspond to the IDs in the AD_CATEGORY table of type VERTICAL.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="contentLabelTargeting" type="tns:ContentLabelTargeting">
                    <annotation>
                    <documentation>Specifies the content labels that are excluded by the entity. The IDs listed here correspond to the IDs in the CONTENT_LABEL table.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="requestPlatformTargeting" type="tns:RequestPlatformTargeting">
                    <annotation>
                    <documentation>Specifies the request platforms that are targeted by the {@link LineItem}. This attribute is required for video line items and for {@link ProposalLineItem}. <p>This value is modifiable for video line items, but read-only for non-video line items. <p>This value is read-only for video line items generated from proposal line items.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="inventorySizeTargeting" type="tns:InventorySizeTargeting">
                    <annotation>
                    <documentation>Specifies the sizes that are targeted by the entity. This is currently only supported on {@link YieldGroup} and {@link TrafficDataRequest}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="Technology">
                    <annotation>
                    <documentation>Represents a technology entity that can be targeted.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="id" type="xsd:long">
                    <annotation>
                    <documentation>The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="name" type="xsd:string">
                    <annotation>
                    <documentation>The name of the technology being targeting. This value is read-only and is assigned by Google.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="TextValue">
                    <annotation>
                    <documentation>Contains a string value.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="TimeOfDay">
                    <annotation>
                    <documentation>Represents a specific time in a day.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="hour" type="xsd:int">
                    <annotation>
                    <documentation>Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="minute" type="tns:MinuteOfHour">
                    <annotation>
                    <documentation>Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="UniqueError">
                    <annotation>
                    <documentation>An error for a field which must satisfy a uniqueness constraint</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="UnknownAdRuleSlot">
                    <annotation>
                    <documentation>The {@link BaseAdRuleSlot} subtype returned if the actual type is not exposed by the requested API version.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="UpdateResult">
                    <annotation>
                    <documentation>Represents the result of performing an action on objects.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="numChanges" type="xsd:int">
                    <annotation>
                    <documentation>The number of objects that were changed as a result of performing the action.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="UserDomainTargeting">
                    <annotation>
                    <documentation>Provides line items the ability to target or exclude users visiting their websites from a list of domains or subdomains.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="domains" type="xsd:string">
                    <annotation>
                    <documentation>The domains or subdomains that are being targeted or excluded by the {@link LineItem}. This attribute is required and the maximum length of each domain is 67 characters.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="targeted" type="xsd:boolean">
                    <annotation>
                    <documentation>Indicates whether domains should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType abstract="true" name="Value">
                    <annotation>
                    <documentation>{@code Value} represents a value.</documentation>
                    </annotation>
                    </complexType>
                    <complexType name="VideoPosition">
                    <annotation>
                    <documentation>Represents a targetable position within a video. A video ad can be targeted to a position (pre-roll, all mid-rolls, or post-roll), or to a specific mid-roll index.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="positionType" type="tns:VideoPosition.Type">
                    <annotation>
                    <documentation>The type of video position (pre-roll, mid-roll, or post-roll).</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="midrollIndex" type="xsd:int">
                    <annotation>
                    <documentation>The index of the mid-roll to target. Only valid if the {@link positionType} is {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="VideoPositionTargeting">
                    <annotation>
                    <documentation>Represents positions within and around a video where ads can be targeted to. <p>Example positions could be {@code pre-roll} (before the video plays), {@code post-roll} (after a video has completed playback) and {@code mid-roll} (during video playback). <p>Empty video position targeting means that all video positions are allowed. If a bumper line item has empty video position targeting it will be updated to target all bumper positions.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="unbounded" minOccurs="0" name="targetedPositions" type="tns:VideoPositionTarget">
                    <annotation>
                    <documentation>The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="VideoPositionWithinPod">
                    <annotation>
                    <documentation>Represents a targetable position within a pod within a video stream. A video ad can be targeted to any position in the pod (first, second, third ... last). If there is only 1 ad in a pod, either first or last will target that position.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="index" type="xsd:int">
                    <annotation>
                    <documentation>The specific index of the pod. The index is defined as: <ul><li>1 = first</li> <li>2 = second</li> <li>3 = third</li> <li>....</li> <li>100 = last</li></ul> 100 will always be the last position. For example, for a pod with 5 positions, 100 would target position 5. Multiple targets against the index 100 can exist.<br> Positions over 100 are not supported.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <complexType name="VideoPositionTarget">
                    <annotation>
                    <documentation>Represents the options for targetable positions within a video.</documentation>
                    </annotation>
                    <sequence>
                    <element maxOccurs="1" minOccurs="0" name="videoPosition" type="tns:VideoPosition">
                    <annotation>
                    <documentation>The video position to target. This attribute is required.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="videoBumperType" type="tns:VideoBumperType">
                    <annotation>
                    <documentation>The video bumper type to target. To target a video position or a pod position, this value must be null. To target a bumper position this value must be populated and the line item must have a bumper type. To target a custom ad spot, this value must be null.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="videoPositionWithinPod" type="tns:VideoPositionWithinPod">
                    <annotation>
                    <documentation>The video position within a pod to target. To target a video position or a bumper position, this value must be null. To target a position within a pod this value must be populated. To target a custom ad spot, this value must be null.</documentation>
                    </annotation>
                    </element>
                    <element maxOccurs="1" minOccurs="0" name="adSpotId" type="xsd:long">
                    <annotation>
                    <documentation>A custom spot {@link AdSpot} to target. To target a video position, a bumper type or a video position within a pod this value must be null.</documentation>
                    </annotation>
                    </element>
                    </sequence>
                    </complexType>
                    <simpleType name="AdRuleDateError.Reason">
                    <annotation>
                    <documentation>Describes reasons for {@code AdRuleDateError}s.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="START_DATE_TIME_IS_IN_PAST">
                    <annotation>
                    <documentation>Cannot create a new ad rule with a start date in the past.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="END_DATE_TIME_IS_IN_PAST">
                    <annotation>
                    <documentation>Cannot update an existing ad rule that has already completely passed with a new end date that is still in the past.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="END_DATE_TIME_NOT_AFTER_START_TIME">
                    <annotation>
                    <documentation>End date must be after the start date.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="END_DATE_TIME_TOO_LATE">
                    <annotation>
                    <documentation>{@code DateTime}s after 1 January 2037 are not supported.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="AdRuleError.Reason">
                    <annotation>
                    <documentation>Describes reason for {@code AdRuleError}s.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="NAME_CONTAINS_INVALID_CHARACTERS">
                    <annotation>
                    <documentation>The name contains unsupported or reserved characters.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="BREAK_TEMPLATE_MUST_HAVE_EXACTLY_ONE_FLEXIBLE_AD_SPOT">
                    <annotation>
                    <documentation>The break template must have exactly one flexible ad spot.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="AdRuleFrequencyCapError.Reason">
                    <annotation>
                    <documentation>Describes reason for {@code AdRuleFrequencyCapError}s.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="NO_FREQUENCY_CAPS_SPECIFIED_WHEN_FREQUENCY_CAPS_TURNED_ON">
                    <annotation>
                    <documentation>The ad rule specifies that frequency caps should be turned on, but then none of the frequency caps have actually been set.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="FREQUENCY_CAPS_SPECIFIED_WHEN_FREQUENCY_CAPS_TURNED_OFF">
                    <annotation>
                    <documentation>The ad rule specifies that frequency caps should not be turned on, but then some frequency caps were actually set.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="AdRulePriorityError.Reason">
                    <annotation>
                    <documentation>Reasons for an {@code AdRulePriorityError}.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="DUPLICATE_PRIORITY">
                    <annotation>
                    <documentation>Ad rules must have unique priorities.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="PRIORITIES_NOT_SEQUENTIAL">
                    <annotation>
                    <documentation>One or more priorities are missing.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="AdRuleSlotBehavior">
                    <annotation>
                    <documentation>The types of behaviors for ads within a {@link BaseAdRuleSlot ad rule slot}.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="ALWAYS_SHOW">
                    <annotation>
                    <documentation>This ad rule always includes this slot's ads.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="NEVER_SHOW">
                    <annotation>
                    <documentation>This ad rule never includes this slot's ads.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="DEFER">
                    <annotation>
                    <documentation>Defer to lower priority rules. This ad rule doesn't specify guidelines for this slot's ads.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="AdRuleSlotBumper">
                    <annotation>
                    <documentation>Types of bumper ads on an ad rule slot.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="NONE">
                    <annotation>
                    <documentation>Do not show a bumper ad.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="BEFORE">
                    <annotation>
                    <documentation>Show a bumper ad before the slot's other ads.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="AFTER">
                    <annotation>
                    <documentation>Show a bumper ad after the slot's other ads.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="BEFORE_AND_AFTER">
                    <annotation>
                    <documentation>Show a bumper before and after the slot's other ads.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="AdRuleSlotError.Reason">
                    <annotation>
                    <documentation>Describes reason for {@code AdRuleSlotError}s.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="DIFFERENT_STATUS_THAN_AD_RULE">
                    <annotation>
                    <documentation>Has a different status than the ad rule to which it belongs.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_VIDEO_AD_DURATION_RANGE">
                    <annotation>
                    <documentation>Min video ad duration is greater than max video ad duration.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_VIDEO_MIDROLL_FREQUENCY_TYPE">
                    <annotation>
                    <documentation>Video mid-roll frequency type other than NONE for pre-roll or post-roll.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="MALFORMED_VIDEO_MIDROLL_FREQUENCY_CSV">
                    <annotation>
                    <documentation>Invalid format for video mid-roll frequency when expecting a CSV list of numbers. Valid formats are the following:<ul> <li>empty <li> comma-separated list of numbers (time milliseconds or cue points) <li>a single number (every n milliseconds or cue points, or one specific time / cue point) </ul></documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="MALFORMED_VIDEO_MIDROLL_FREQUENCY_SINGLE_NUMBER">
                    <annotation>
                    <documentation>Invalid format for video mid-roll frequency when expecting a single number only, e.g., every n seconds or every n cue points.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_OVERLAY_AD_DURATION_RANGE">
                    <annotation>
                    <documentation>Min overlay ad duration is greater than max overlay ad duration.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_OVERLAY_MIDROLL_FREQUENCY_TYPE">
                    <annotation>
                    <documentation>Overlay mid-roll frequency type other than NONE for pre-roll or post-roll.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="MALFORMED_OVERLAY_MIDROLL_FREQUENCY_CSV">
                    <annotation>
                    <documentation>Invalid format for overlay mid-roll frequency for list of numbers. See valid formats above.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="MALFORMED_OVERLAY_MIDROLL_FREQUENCY_SINGLE_NUMBER">
                    <annotation>
                    <documentation>Invalid format for overlay mid-roll frequency for a single number.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_BUMPER_MAX_DURATION">
                    <annotation>
                    <documentation>Non-positive bumper duration when expecting a positive number.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="TOO_MANY_MIDROLL_SLOTS_WITHOUT_ADS">
                    <annotation>
                    <documentation>At most one mid-roll can be set to disallow ads.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="AdRuleStatus">
                    <annotation>
                    <documentation>Represents the status of ad rules and ad rule slots.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="ACTIVE">
                    <annotation>
                    <documentation>Created and ready to be served. Is user-visible.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INACTIVE">
                    <annotation>
                    <documentation>Paused, user-visible.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="AdRuleTargetingError.Reason">
                    <annotation>
                    <documentation>Describes reasons for {@code AdRuleTargetingError ad rule targeting errors}.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="VIDEO_POSITION_TARGETING_NOT_ALLOWED">
                    <annotation>
                    <documentation>Cannot target video positions.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="EXACT_CUSTOM_VALUE_TARGETING_REQUIRED">
                    <annotation>
                    <documentation>As part of COPPA requirements, custom targeting for session ad rules requires exact custom value matching.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="ApiVersionError.Reason">
                    <restriction base="xsd:string">
                    <enumeration value="UPDATE_TO_NEWER_VERSION">
                    <annotation>
                    <documentation>Indicates that the operation is not allowed in the version the request was made in.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="AuthenticationError.Reason">
                    <restriction base="xsd:string">
                    <enumeration value="AMBIGUOUS_SOAP_REQUEST_HEADER">
                    <annotation>
                    <documentation>The SOAP message contains a request header with an ambiguous definition of the authentication header fields. This means either the {@code authToken} and {@code oAuthToken} fields were both null or both were specified. Exactly one value should be specified with each request.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_EMAIL">
                    <annotation>
                    <documentation>The login provided is invalid.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="AUTHENTICATION_FAILED">
                    <annotation>
                    <documentation>Tried to authenticate with provided information, but failed.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_OAUTH_SIGNATURE">
                    <annotation>
                    <documentation>The OAuth provided is invalid.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_SERVICE">
                    <annotation>
                    <documentation>The specified service to use was not recognized.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="MISSING_SOAP_REQUEST_HEADER">
                    <annotation>
                    <documentation>The SOAP message is missing a request header with an {@code authToken} and optional {@code networkCode}.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="MISSING_AUTHENTICATION_HTTP_HEADER">
                    <annotation>
                    <documentation>The HTTP request is missing a request header with an {@code authToken}</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="MISSING_AUTHENTICATION">
                    <annotation>
                    <documentation>The request is missing an {@code authToken}</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="NETWORK_API_ACCESS_DISABLED">
                    <annotation>
                    <documentation>The network does not have API access enabled.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="NO_NETWORKS_TO_ACCESS">
                    <annotation>
                    <documentation>The user is not associated with any network.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="NETWORK_NOT_FOUND">
                    <annotation>
                    <documentation>No network for the given {@code networkCode} was found.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="NETWORK_CODE_REQUIRED">
                    <annotation>
                    <documentation>The user has access to more than one network, but did not provide a {@code networkCode}.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="CONNECTION_ERROR">
                    <annotation>
                    <documentation>An error happened on the server side during connection to authentication service.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="GOOGLE_ACCOUNT_ALREADY_ASSOCIATED_WITH_NETWORK">
                    <annotation>
                    <documentation>The user tried to create a test network using an account that already is associated with a network.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNDER_INVESTIGATION">
                    <annotation>
                    <documentation>The account is blocked and under investigation by the collections team. Please contact Google for more information.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="CollectionSizeError.Reason">
                    <restriction base="xsd:string">
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="CommonError.Reason">
                    <annotation>
                    <documentation>Describes reasons for common errors</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="NOT_FOUND">
                    <annotation>
                    <documentation>Indicates that an attempt was made to retrieve an entity that does not exist.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="ALREADY_EXISTS">
                    <annotation>
                    <documentation>Indicates that an attempt was made to create an entity that already exists.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="NOT_APPLICABLE">
                    <annotation>
                    <documentation>Indicates that a value is not applicable for given use case.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="DUPLICATE_OBJECT">
                    <annotation>
                    <documentation>Indicates that two elements in the collection were identical.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="CANNOT_UPDATE">
                    <annotation>
                    <documentation>Indicates that an attempt was made to change an immutable field.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNSUPPORTED_OPERATION">
                    <annotation>
                    <documentation>Indicates that the requested operation is not supported.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="CONCURRENT_MODIFICATION">
                    <annotation>
                    <documentation>Indicates that another request attempted to update the same data in the same network at about the same time. Please wait and try the request again.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="CustomTargetingError.Reason">
                    <annotation>
                    <documentation>The reasons for the target error.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="KEY_NOT_FOUND">
                    <annotation>
                    <documentation>Requested {@link CustomTargetingKey} is not found.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="KEY_COUNT_TOO_LARGE">
                    <annotation>
                    <documentation>Number of {@link CustomTargetingKey} objects created exceeds the limit allowed for the network.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="KEY_NAME_DUPLICATE">
                    <annotation>
                    <documentation>{@link CustomTargetingKey} with the same {@link CustomTargetingKey#name} already exists.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="KEY_NAME_EMPTY">
                    <annotation>
                    <documentation>{@link CustomTargetingKey#name} is empty.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="KEY_NAME_INVALID_LENGTH">
                    <annotation>
                    <documentation>{@link CustomTargetingKey#name} is too long.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="KEY_NAME_INVALID_CHARS">
                    <annotation>
                    <documentation>{@link CustomTargetingKey#name} contains unsupported or reserved characters.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="KEY_NAME_RESERVED">
                    <annotation>
                    <documentation>{@link CustomTargetingKey#name} matches one of the reserved custom targeting key names.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="KEY_DISPLAY_NAME_INVALID_LENGTH">
                    <annotation>
                    <documentation>{@link CustomTargetingKey#displayName} is too long.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="KEY_STATUS_NOT_ACTIVE">
                    <annotation>
                    <documentation>Key is not active.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="VALUE_NOT_FOUND">
                    <annotation>
                    <documentation>Requested {@link CustomTargetingValue} is not found.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="GET_VALUES_BY_STATEMENT_MUST_CONTAIN_KEY_ID">
                    <annotation>
                    <documentation>The {@code WHERE} clause in the {@link Statement#query} must always contain {@link CustomTargetingValue#customTargetingKeyId} as one of its columns in a way that it is AND'ed with the rest of the query.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="VALUE_COUNT_FOR_KEY_TOO_LARGE">
                    <annotation>
                    <documentation>The number of {@link CustomTargetingValue} objects associated with a {@link CustomTargetingKey} exceeds the network limit. This is only applicable for keys of type {@code CustomTargetingKey.Type#PREDEFINED}.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="VALUE_NAME_DUPLICATE">
                    <annotation>
                    <documentation>{@link CustomTargetingValue} with the same {@link CustomTargetingValue#name} already exists.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="VALUE_NAME_EMPTY">
                    <annotation>
                    <documentation>{@link CustomTargetingValue#name} is empty.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="VALUE_NAME_INVALID_LENGTH">
                    <annotation>
                    <documentation>{@link CustomTargetingValue#name} is too long.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="VALUE_NAME_INVALID_CHARS">
                    <annotation>
                    <documentation>{@link CustomTargetingValue#name} contains unsupported or reserved characters.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="VALUE_DISPLAY_NAME_INVALID_LENGTH">
                    <annotation>
                    <documentation>{@link CustomTargetingValue#displayName} is too long.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="VALUE_MATCH_TYPE_NOT_ALLOWED">
                    <annotation>
                    <documentation>Only Ad Manager 360 networks can have {@link CustomTargetingValue#matchType} other than {@link CustomTargetingValue.MatchType#EXACT}.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="VALUE_MATCH_TYPE_NOT_EXACT_FOR_PREDEFINED_KEY">
                    <annotation>
                    <documentation>You can only create {@link CustomTargetingValue} objects with match type {@link CustomTargetingValue.MatchType#EXACT} when associating with {@link CustomTargetingKey} objects of type {@link CustomTargetingKey.Type#PREDEFINED}</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="SUFFIX_MATCH_TYPE_NOT_ALLOWED">
                    <annotation>
                    <documentation>{@link CustomTargetingValue} object cannot have match type of {@link CustomTargetingValue.MatchType#SUFFIX} when adding a {@link CustomTargetingValue} to a line item.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="CONTAINS_MATCH_TYPE_NOT_ALLOWED">
                    <annotation>
                    <documentation>{@link CustomTargetingValue} object cannot have match type of {@link CustomTargetingValue.MatchType#CONTAINS} when adding a {@link CustomTargetingValue} to targeting expression of a line item.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="VALUE_STATUS_NOT_ACTIVE">
                    <annotation>
                    <documentation>Value is not active.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="KEY_WITH_MISSING_VALUES">
                    <annotation>
                    <documentation>The {@link CustomTargetingKey} does not have any {@link CustomTargetingValue} associated with it.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_VALUE_FOR_KEY">
                    <annotation>
                    <documentation>The {@link CustomTargetingKey} has a {@link CustomTargetingValue} specified for which the value is not a valid child.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="CANNOT_OR_DIFFERENT_KEYS">
                    <annotation>
                    <documentation>{@link CustomCriteriaSet.LogicalOperator#OR} operation cannot be applied to values with different keys.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_TARGETING_EXPRESSION">
                    <annotation>
                    <documentation>Targeting expression is invalid. This can happen if the sequence of operators is wrong, or a node contains invalid number of children.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="DELETED_KEY_CANNOT_BE_USED_FOR_TARGETING">
                    <annotation>
                    <documentation>The key has been deleted. {@link CustomCriteria} cannot have deleted keys.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="DELETED_VALUE_CANNOT_BE_USED_FOR_TARGETING">
                    <annotation>
                    <documentation>The value has been deleted. {@link CustomCriteria} cannot have deleted values.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="VIDEO_BROWSE_BY_KEY_CANNOT_BE_USED_FOR_CUSTOM_TARGETING">
                    <annotation>
                    <documentation>The key is set as the video browse-by key, which cannot be used for custom targeting.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="CANNOT_DELETE_CUSTOM_KEY_USED_IN_PARTNER_ASSIGNMENT_TARGETING">
                    <annotation>
                    <documentation>Cannot delete a custom criteria key that is targeted by an active partner assignment.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="CANNOT_DELETE_CUSTOM_VALUE_USED_IN_PARTNER_ASSIGNMENT_TARGETING">
                    <annotation>
                    <documentation>Cannot delete a custom criteria value that is targeted by an active partner assignment.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="CANNOT_TARGET_AUDIENCE_SEGMENT">
                    <annotation>
                    <documentation>{@link AudienceSegment} object cannot be targeted.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="CANNOT_TARGET_THIRD_PARTY_AUDIENCE_SEGMENT">
                    <annotation>
                    <documentation>Third party {@link AudienceSegment} cannot be targeted.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="CANNOT_TARGET_INACTIVE_AUDIENCE_SEGMENT">
                    <annotation>
                    <documentation>Inactive {@link AudienceSegment} object cannot be targeted.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_AUDIENCE_SEGMENTS">
                    <annotation>
                    <documentation>Targeted {@link AudienceSegment} object is not valid.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="CANNOT_TARGET_MAPPED_METADATA">
                    <annotation>
                    <documentation>Mapped metadata key-values are deprecated and cannot be targeted.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="ONLY_APPROVED_AUDIENCE_SEGMENTS_CAN_BE_TARGETED">
                    <annotation>
                    <documentation>Targeted {@link AudienceSegment} objects have not been approved.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="DayOfWeek">
                    <annotation>
                    <documentation>Days of the week.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="MONDAY">
                    <annotation>
                    <documentation>The day of week named Monday.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="TUESDAY">
                    <annotation>
                    <documentation>The day of week named Tuesday.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="WEDNESDAY">
                    <annotation>
                    <documentation>The day of week named Wednesday.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="THURSDAY">
                    <annotation>
                    <documentation>The day of week named Thursday.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="FRIDAY">
                    <annotation>
                    <documentation>The day of week named Friday.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="SATURDAY">
                    <annotation>
                    <documentation>The day of week named Saturday.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="SUNDAY">
                    <annotation>
                    <documentation>The day of week named Sunday.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="DeliveryTimeZone">
                    <annotation>
                    <documentation>Represents the time zone to be used for {@link DayPartTargeting}.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="PUBLISHER">
                    <annotation>
                    <documentation>Use the time zone of the publisher.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="BROWSER">
                    <annotation>
                    <documentation>Use the time zone of the browser.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="FeatureError.Reason">
                    <restriction base="xsd:string">
                    <enumeration value="MISSING_FEATURE">
                    <annotation>
                    <documentation>A feature is being used that is not enabled on the current network.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="FrequencyCapBehavior">
                    <annotation>
                    <documentation>Types of behavior for frequency caps within ad rules.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="TURN_ON">
                    <annotation>
                    <documentation>Turn on at least one of the frequency caps.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="TURN_OFF">
                    <annotation>
                    <documentation>Turn off all frequency caps.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="DEFER">
                    <annotation>
                    <documentation>Defer frequency cap decisions to the next ad rule in priority order.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="GeoTargetingError.Reason">
                    <annotation>
                    <documentation>The reasons for the target error.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="TARGETED_LOCATIONS_NOT_EXCLUDABLE">
                    <annotation>
                    <documentation>A location that is targeted cannot also be excluded.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="EXCLUDED_LOCATIONS_CANNOT_HAVE_CHILDREN_TARGETED">
                    <annotation>
                    <documentation>Excluded locations cannot have any of their children targeted.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="POSTAL_CODES_CANNOT_BE_EXCLUDED">
                    <annotation>
                    <documentation>Postal codes cannot be excluded.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNTARGETABLE_LOCATION">
                    <annotation>
                    <documentation>Indicates that location targeting is not allowed.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="InternalApiError.Reason">
                    <annotation>
                    <documentation>The single reason for the internal API error.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="UNEXPECTED_INTERNAL_API_ERROR">
                    <annotation>
                    <documentation>API encountered an unexpected internal error.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="TRANSIENT_ERROR">
                    <annotation>
                    <documentation>A temporary error occurred during the request. Please retry.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The cause of the error is not known or only defined in newer versions.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="DOWNTIME">
                    <annotation>
                    <documentation>The API is currently unavailable for a planned downtime.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="ERROR_GENERATING_RESPONSE">
                    <annotation>
                    <documentation>Mutate succeeded but server was unable to build response. Client should not retry mutate.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="InventoryTargetingError.Reason">
                    <annotation>
                    <documentation>The reasons for the target error.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="AT_LEAST_ONE_PLACEMENT_OR_INVENTORY_UNIT_REQUIRED">
                    <annotation>
                    <documentation>At least one placement or inventory unit is required</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVENTORY_CANNOT_BE_TARGETED_AND_EXCLUDED">
                    <annotation>
                    <documentation>The same inventory unit or placement cannot be targeted and excluded at the same time</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVENTORY_UNIT_CANNOT_BE_TARGETED_IF_ANCESTOR_IS_TARGETED">
                    <annotation>
                    <documentation>A child inventory unit cannot be targeted if its ancestor inventory unit is also targeted.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVENTORY_UNIT_CANNOT_BE_TARGETED_IF_ANCESTOR_IS_EXCLUDED">
                    <annotation>
                    <documentation>A child inventory unit cannot be targeted if its ancestor inventory unit is excluded.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVENTORY_UNIT_CANNOT_BE_EXCLUDED_IF_ANCESTOR_IS_EXCLUDED">
                    <annotation>
                    <documentation>A child inventory unit cannot be excluded if its ancestor inventory unit is also excluded.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="EXPLICITLY_TARGETED_INVENTORY_UNIT_CANNOT_BE_TARGETED">
                    <annotation>
                    <documentation>An explicitly targeted inventory unit cannot be targeted.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="EXPLICITLY_TARGETED_INVENTORY_UNIT_CANNOT_BE_EXCLUDED">
                    <annotation>
                    <documentation>An explicitly targeted inventory unit cannot be excluded.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="SELF_ONLY_INVENTORY_UNIT_NOT_ALLOWED">
                    <annotation>
                    <documentation>A landing page-only ad unit cannot be targeted.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="SELF_ONLY_INVENTORY_UNIT_WITHOUT_DESCENDANTS">
                    <annotation>
                    <documentation>A landing page-only ad unit cannot be targeted if it doesn't have any children.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="YOUTUBE_AUDIENCE_SEGMENTS_CAN_ONLY_BE_TARGETED_WITH_YOUTUBE_SHARED_INVENTORY">
                    <annotation>
                    <documentation>Audience segments shared from YouTube can only be targeted with inventory shared from YouTube for cross selling.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="LineItemType">
                    <annotation>
                    <documentation>{@code LineItemType} indicates the priority of a {@link LineItem}, determined by the way in which impressions are reserved to be served for it.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="SPONSORSHIP">
                    <annotation>
                    <documentation>The type of {@link LineItem} for which a percentage of all the impressions that are being sold are reserved.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="STANDARD">
                    <annotation>
                    <documentation>The type of {@link LineItem} for which a fixed quantity of impressions or clicks are reserved.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="NETWORK">
                    <annotation>
                    <documentation>The type of {@link LineItem} most commonly used to fill a site's unsold inventory if not contractually obligated to deliver a requested number of impressions. Users specify the daily percentage of unsold impressions or clicks when creating this line item.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="BULK">
                    <annotation>
                    <documentation>The type of {@link LineItem} for which a fixed quantity of impressions or clicks will be delivered at a priority lower than the {@link LineItemType#STANDARD} type.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="PRICE_PRIORITY">
                    <annotation>
                    <documentation>The type of {@link LineItem} most commonly used to fill a site's unsold inventory if not contractually obligated to deliver a requested number of impressions. Users specify the fixed quantity of unsold impressions or clicks when creating this line item.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="HOUSE">
                    <annotation>
                    <documentation>The type of {@link LineItem} typically used for ads that promote products and services chosen by the publisher. These usually do not generate revenue and have the lowest delivery priority.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="LEGACY_DFP">
                    <annotation>
                    <documentation>Represents a legacy {@link LineItem} that has been migrated from the DFP system. Such line items cannot be created any more. Also, these line items cannot be activated or resumed.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="CLICK_TRACKING">
                    <annotation>
                    <documentation>The type of {@link LineItem} used for ads that track ads being served externally of Ad Manager, for example an email newsletter. The click through would reference this ad, and the click would be tracked via this ad.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="ADSENSE">
                    <annotation>
                    <documentation>A {@link LineItem} using dynamic allocation backed by AdSense.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="AD_EXCHANGE">
                    <annotation>
                    <documentation>A {@link LineItem} using dynamic allocation backed by the Google Ad Exchange.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="BUMPER">
                    <annotation>
                    <documentation>Represents a non-monetizable video {@link LineItem} that targets one or more bumper positions, which are short house video messages used by publishers to separate content from ad breaks.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="ADMOB">
                    <annotation>
                    <documentation>A {@link LineItem} using dynamic allocation backed by AdMob.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="PREFERRED_DEAL">
                    <annotation>
                    <documentation>The type of {@link LineItem} for which there are no impressions reserved, and will serve for a second price bid. All {@link LineItem}s of type {@link LineItemType#PREFERRED_DEAL} should be created via a {@link ProposalLineItem} with a matching type. When creating a {@link LineItem} of type {@link LineItemType#PREFERRED_DEAL}, the {@link ProposalLineItem#estimatedMinimumImpressions} field is required.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="MidrollFrequencyType">
                    <annotation>
                    <documentation>Frequency types for mid-roll {@link BaseAdRuleSlot ad rule slots}.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="NONE">
                    <annotation>
                    <documentation>The ad rule slot is not a mid-roll and hence {@code MidrollFrequency} should be ignored.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="EVERY_N_SECONDS">
                    <annotation>
                    <documentation>{@code MidrollFrequency} is a time interval and mentioned as a single numeric value in seconds. For example, "100" would mean "play a mid-roll every 100 seconds".</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="FIXED_TIME">
                    <annotation>
                    <documentation>{@code MidrollFrequency} is a comma-delimited list of points in time (in seconds) when an ad should play. For example, "100,300" would mean "play an ad at 100 seconds and 300 seconds".</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="EVERY_N_CUEPOINTS">
                    <annotation>
                    <documentation>{@code MidrollFrequency} is a cue point interval and is a single integer value, such as "5", which means "play a mid-roll every 5th cue point".</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="FIXED_CUE_POINTS">
                    <annotation>
                    <documentation>Same as {@link #FIXED_TIME}, except the values represent the ordinal cue points ("1,3,5", for example).</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="MinuteOfHour">
                    <annotation>
                    <documentation>Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="ZERO">
                    <annotation>
                    <documentation>Zero minutes past hour.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="FIFTEEN">
                    <annotation>
                    <documentation>Fifteen minutes past hour.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="THIRTY">
                    <annotation>
                    <documentation>Thirty minutes past hour.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="FORTY_FIVE">
                    <annotation>
                    <documentation>Forty-five minutes past hour.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="NotNullError.Reason">
                    <annotation>
                    <documentation>The reasons for the target error.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="ARG1_NULL">
                    <annotation>
                    <documentation>Assuming that a method will not have more than 3 arguments, if it does, return NULL</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="ParseError.Reason">
                    <annotation>
                    <documentation>The reasons for the target error.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="UNPARSABLE">
                    <annotation>
                    <documentation>Indicates an error in parsing an attribute.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="PermissionError.Reason">
                    <annotation>
                    <documentation>Describes reasons for permission errors.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="PERMISSION_DENIED">
                    <annotation>
                    <documentation>User does not have the required permission for the request.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="PoddingError.Reason">
                    <annotation>
                    <documentation>Describes reason for {@code PoddingError}s.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="INVALID_PODDING_TYPE_NONE">
                    <annotation>
                    <documentation>Invalid podding type NONE, but has podding fields filled in. Podding types are defined in {@link com.google.ads.publisher.domain.entity.adrule.export.PoddingType}.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_PODDING_TYPE_STANDARD">
                    <annotation>
                    <documentation>Invalid podding type STANDARD, but doesn't specify the max ads in pod and max ad duration podding fields.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_OPTIMIZED_POD_WITHOUT_DURATION">
                    <annotation>
                    <documentation>Invalid podding type OPTIMIZED, but doesn't specify pod duration.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_OPTIMIZED_POD_WITHOUT_ADS">
                    <annotation>
                    <documentation>Invalid optimized pod that does not specify a valid max ads in pod, which must either be a positive number or -1 to signify that there is no maximum.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_POD_DURATION_RANGE">
                    <annotation>
                    <documentation>Min pod ad duration is greater than max pod ad duration.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="PublisherQueryLanguageContextError.Reason">
                    <annotation>
                    <documentation>The reasons for the target error.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="UNEXECUTABLE">
                    <annotation>
                    <documentation>Indicates that there was an error executing the PQL.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="PublisherQueryLanguageSyntaxError.Reason">
                    <annotation>
                    <documentation>The reasons for the target error.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="UNPARSABLE">
                    <annotation>
                    <documentation>Indicates that there was a PQL syntax error.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="QuotaError.Reason">
                    <restriction base="xsd:string">
                    <enumeration value="EXCEEDED_QUOTA">
                    <annotation>
                    <documentation>The number of requests made per second is too high and has exceeded the allowable limit. The recommended approach to handle this error is to wait about 5 seconds and then retry the request. Note that this does not guarantee the request will succeed. If it fails again, try increasing the wait time. <p>Another way to mitigate this error is to limit requests to 8 per second for Ad Manager 360 accounts, or 2 per second for Ad Manager accounts. Once again this does not guarantee that every request will succeed, but may help reduce the number of times you receive this error.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="REPORT_JOB_LIMIT">
                    <annotation>
                    <documentation>This user has exceeded the allowed number of new report requests per hour (this includes both reports run via the UI and reports run via {@link ReportService#runReportJob}). The recommended approach to handle this error is to wait about 10 minutes and then retry the request. Note that this does not guarantee the request will succeed. If it fails again, try increasing the wait time. <p>Another way to mitigate this error is to limit the number of new report requests to 250 per hour per user. Once again, this does not guarantee that every request will succeed, but may help reduce the number of times you receive this error.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="SEGMENT_POPULATION_LIMIT">
                    <annotation>
                    <documentation>This network has exceeded the allowed number of identifiers uploaded within a 24 hour period. The recommended approach to handle this error is to wait 30 minutes and then retry the request. Note that this does not guarantee the request will succeed. If it fails again, try increasing the wait time.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="RequestPlatform">
                    <annotation>
                    <documentation>Represents the platform which requests and renders the ad.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="BROWSER">
                    <annotation>
                    <documentation>Represents a request made from a web browser. This includes both desktop and mobile web.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="MOBILE_APP">
                    <annotation>
                    <documentation>Represents a request made from a mobile application. This includes mobile app interstitial and rewarded video requests.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="VIDEO_PLAYER">
                    <annotation>
                    <documentation>Represents a request made from a video player that is playing publisher content. This includes video players embedded in web pages and mobile applications, and connected TV screens.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="RequiredCollectionError.Reason">
                    <restriction base="xsd:string">
                    <enumeration value="REQUIRED">
                    <annotation>
                    <documentation>A required collection is missing.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="TOO_LARGE">
                    <annotation>
                    <documentation>Collection size is too large.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="TOO_SMALL">
                    <annotation>
                    <documentation>Collection size is too small.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="RequiredError.Reason">
                    <annotation>
                    <documentation>The reasons for the target error.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="REQUIRED">
                    <annotation>
                    <documentation>Missing required field.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="ServerError.Reason">
                    <annotation>
                    <documentation>Describes reasons for server errors</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="SERVER_ERROR">
                    <annotation>
                    <documentation>Indicates that an unexpected error occured.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="SERVER_BUSY">
                    <annotation>
                    <documentation>Indicates that the server is currently experiencing a high load. Please wait and try your request again.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="StartDateTimeType">
                    <annotation>
                    <documentation>Specifies the start type to use for an entity with a start date time field. For example, a {@link LineItem} or {@link LineItemCreativeAssociation}.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="USE_START_DATE_TIME">
                    <annotation>
                    <documentation>Use the value in {@link #startDateTime}.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="IMMEDIATELY">
                    <annotation>
                    <documentation>The entity will start serving immediately. {@link #startDateTime} in the request is ignored and will be set to the current time. Additionally, {@link #startDateTimeType} will be set to {@link StartDateTimeType#USE_START_DATE_TIME}.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="ONE_HOUR_FROM_NOW">
                    <annotation>
                    <documentation>The entity will start serving one hour from now. {@link #startDateTime} in the request is ignored and will be set to one hour from the current time. Additionally, {@link #startDateTimeType} will be set to {@link StartDateTimeType#USE_START_DATE_TIME}.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="StatementError.Reason">
                    <restriction base="xsd:string">
                    <enumeration value="VARIABLE_NOT_BOUND_TO_VALUE">
                    <annotation>
                    <documentation>A bind variable has not been bound to a value.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="StringFormatError.Reason">
                    <annotation>
                    <documentation>The reasons for the target error.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="ILLEGAL_CHARS">
                    <annotation>
                    <documentation>The input string value contains disallowed characters.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="INVALID_FORMAT">
                    <annotation>
                    <documentation>The input string value is invalid for the associated field.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="StringLengthError.Reason">
                    <restriction base="xsd:string">
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="AdSpotFillType">
                    <annotation>
                    <documentation>The different options for how ad spots are filled. Only some allocations of ads to subpods produce a valid final pod.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="REQUIRED">
                    <annotation>
                    <documentation>If this ad spot is empty, the overall pod is invalid.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="OPTIONAL">
                    <annotation>
                    <documentation>The ad spot is always "satisfied", whether empty or nonempty.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="AdSpotTargetingType">
                    <annotation>
                    <documentation>Defines the targeting behavior of an ad spot.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="NOT_REQUIRED">
                    <annotation>
                    <documentation>Line items not targeting this ad spot explicitly may serve in it.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="EXPLICITLY_TARGETED">
                    <annotation>
                    <documentation>Only line items targeting this ad spots explicitly may serve in it</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="EXPLICITLY_TARGETED_EXCEPT_HOUSE">
                    <annotation>
                    <documentation>If house ads are an allowed reservation type, they may serve in the ad spot regardless of whether they explicitly target it. Ads of other reservation types (whose type is allowed in the ad spot), may serve in the ad spot only if explicitly targeted.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="VideoBumperType">
                    <annotation>
                    <documentation>Represents the options for targetable bumper positions, surrounding an ad pod, within a video stream. This includes before and after the supported ad pod positions, {@link VideoPositionType#PREROLL}, {@link VideoPositionType#MIDROLL}, and {@link VideoPositionType#POSTROLL}.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="BEFORE">
                    <annotation>
                    <documentation>Represents the bumper position before the ad pod.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="AFTER">
                    <annotation>
                    <documentation>Represents the bumper position after the ad pod.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <simpleType name="VideoPosition.Type">
                    <annotation>
                    <documentation>Represents a targetable position within a video.</documentation>
                    </annotation>
                    <restriction base="xsd:string">
                    <enumeration value="UNKNOWN">
                    <annotation>
                    <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="ALL">
                    <annotation>
                    <documentation>This position targets all of the above video positions.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="PREROLL">
                    <annotation>
                    <documentation>The position defined as showing before the video starts playing.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="MIDROLL">
                    <annotation>
                    <documentation>The position defined as showing within the middle of the playing video.</documentation>
                    </annotation>
                    </enumeration>
                    <enumeration value="POSTROLL">
                    <annotation>
                    <documentation>The position defined as showing after the video is completed.</documentation>
                    </annotation>
                    </enumeration>
                    </restriction>
                    </simpleType>
                    <element name="ApiExceptionFault" type="tns:ApiException">
                    <annotation>
                    <documentation>A fault element of type ApiException.</documentation>
                    </annotation>
                    </element>
                    <element name="getAdRulesByStatement">
                    <annotation>
                    <documentation>Gets an {@link AdRulePage} of {@link AdRule} objects that satisfy the given {@link Statement#query}. The following fields are supported for filtering: <table> <tr> <th scope="col">PQL Property</th> <th scope="col">Object Property</th> </tr> <tr> <td>{@code id}</td> <td>{@link AdRule#id} ({@link AdRule#adRuleId} beginning in v201702)</td> </tr> <tr> <td>{@code name}</td> <td>{@link AdRule#name}</td> </tr> <tr> <td>{@code priority}</td> <td>{@link AdRule#priority}</td> </tr> <tr> <td>{@code status}</td> <td>{@link AdRule#status}</td> </table></documentation>
                    </annotation>
                    </element>
                    <element name="getAdSpotsByStatement">
                    <annotation>
                    <documentation>Gets a {@link AdSpotPage} of {@link AdSpot} objects that satisfy the given {@link Statement#query}.</documentation>
                    </annotation>
                    </element>
                    <element name="getBreakTemplatesByStatement">
                    <annotation>
                    <documentation>Gets a {@link BreakTemplatePage} of {@link BreakTemplate} objects that satisfy the given {@link Statement#query}.</documentation>
                    </annotation>
                    </element>
                    <element name="updateAdRules">
                    <annotation>
                    <documentation>Updates the specified {@link AdRule} objects.</documentation>
                    </annotation>
                    </element>
                    <element name="updateAdSpots">
                    <annotation>
                    <documentation>Updates the specified {@link AdSpot} objects.</documentation>
                    </annotation>
                    </element>
                    </schema>
                    </wsdl:types>
                    <wsdl:portType name="AdRuleServiceInterface">
                    <wsdl:documentation>Provides methods for creating, updating and retrieving {@link AdRule} objects. <p>Ad rules contain data that the ad server uses to generate a playlist of video ads.</wsdl:documentation>
                    <wsdl:operation name="getAdRulesByStatement">
                    <wsdl:documentation>Gets an {@link AdRulePage} of {@link AdRule} objects that satisfy the given {@link Statement#query}. The following fields are supported for filtering: <table> <tr> <th scope="col">PQL Property</th> <th scope="col">Object Property</th> </tr> <tr> <td>{@code id}</td> <td>{@link AdRule#id} ({@link AdRule#adRuleId} beginning in v201702)</td> </tr> <tr> <td>{@code name}</td> <td>{@link AdRule#name}</td> </tr> <tr> <td>{@code priority}</td> <td>{@link AdRule#priority}</td> </tr> <tr> <td>{@code status}</td> <td>{@link AdRule#status}</td> </table></wsdl:documentation>
                    </wsdl:operation>
                    </wsdl:portType>
                    <wsdl:binding name="AdRuleServiceSoapBinding" type="tns:AdRuleServiceInterface"></wsdl:binding>
                    </wsdl:definitions>

                    About wsdl-viewer.xsl

                    This document was generated by SAXON 9.1.0.8 from Saxonica XSLT engine. The engine processed the WSDL in XSLT 2.0 compliant mode.
                    This page has been generated bywsdl-viewer.xsl, version 3.1.02
                    Author: tomi vanek
                    Download athttp://tomi.vanek.sk/xml/wsdl-viewer.xsl.

                    The transformation was inspired by the article
                    Uche Ogbuji: WSDL processing with XSLT