adrule

package
v0.0.1-alpha Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActivateAdRules

type ActivateAdRules struct {
	*AdRuleAction
}

type AdRule

type AdRule struct {

	//
	// The unique ID of the {@link AdRule}. This value is readonly and is assigned by Google.
	//
	Id int64 `xml:"id,omitempty" json:"id,omitempty"`

	//
	// The unique name of the {@link AdRule}. This attribute is required to create an ad rule and has
	// a maximum length of 255 characters.
	//
	Name string `xml:"name,omitempty" json:"name,omitempty"`

	//
	// 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.
	//
	Priority int32 `xml:"priority,omitempty" json:"priority,omitempty"`

	//
	// The targeting criteria of the {@link AdRule}. This attribute is required.
	//
	Targeting *Targeting `xml:"targeting,omitempty" json:"targeting,omitempty"`

	//
	// 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.
	//
	StartDateTime soap.XSDDateTime `xml:"startDateTime,omitempty" json:"startDateTime,omitempty"`

	//
	// 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}.
	//
	StartDateTimeType *StartDateTimeType `xml:"startDateTimeType,omitempty" json:"startDateTimeType,omitempty"`

	//
	// 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}.
	//
	EndDateTime soap.XSDDateTime `xml:"endDateTime,omitempty" json:"endDateTime,omitempty"`

	//
	// Specifies whether the {@link AdRule} has an end time. This attribute is optional and defaults
	// to false.
	//
	UnlimitedEndDateTime bool `xml:"unlimitedEndDateTime,omitempty" json:"unlimitedEndDateTime,omitempty"`

	//
	// The {@link AdRuleStatus} of the ad rule. This attribute is read-only and defaults to {@link
	// AdRuleStatus#INACTIVE}.
	//
	Status *AdRuleStatus `xml:"status,omitempty" json:"status,omitempty"`

	//
	// The {@link FrequencyCapBehavior} of the {@link AdRule}. This attribute is optional and defaults
	// to {@link FrequencyCapBehavior#DEFER}.
	//
	FrequencyCapBehavior *FrequencyCapBehavior `xml:"frequencyCapBehavior,omitempty" json:"frequencyCapBehavior,omitempty"`

	//
	// This {@link AdRule} object's frequency cap for the maximum impressions per stream. This
	// attribute is optional and defaults to 0.
	//
	MaxImpressionsPerLineItemPerStream int32 `xml:"maxImpressionsPerLineItemPerStream,omitempty" json:"maxImpressionsPerLineItemPerStream,omitempty"`

	//
	// This {@link AdRule} object's frequency cap for the maximum impressions per pod. This attribute
	// is optional and defaults to 0.
	//
	MaxImpressionsPerLineItemPerPod int32 `xml:"maxImpressionsPerLineItemPerPod,omitempty" json:"maxImpressionsPerLineItemPerPod,omitempty"`

	//
	// This {@link AdRule} object's pre-roll slot. This attribute is required.
	//
	Preroll *BaseAdRuleSlot `xml:"preroll,omitempty" json:"preroll,omitempty"`

	//
	// This {@link AdRule} object's mid-roll slot. This attribute is required.
	//
	Midroll *BaseAdRuleSlot `xml:"midroll,omitempty" json:"midroll,omitempty"`

	//
	// This {@link AdRule} object's post-roll slot. This attribute is required.
	//
	Postroll *BaseAdRuleSlot `xml:"postroll,omitempty" json:"postroll,omitempty"`
}

type AdRuleAction

type AdRuleAction struct {
}

type AdRuleDateError

type AdRuleDateError struct {
	*ApiError

	Reason *AdRuleDateError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type AdRuleDateError_Reason

type AdRuleDateError_Reason string
const (

	//
	// Cannot create a new ad rule with a start date in the past.
	//
	AdRuleDateError_ReasonSTART_DATE_TIME_IS_IN_PAST AdRuleDateError_Reason = "START_DATE_TIME_IS_IN_PAST"

	//
	// Cannot update an existing ad rule that has already completely passed with
	// a new end date that is still in the past.
	//
	AdRuleDateError_ReasonEND_DATE_TIME_IS_IN_PAST AdRuleDateError_Reason = "END_DATE_TIME_IS_IN_PAST"

	//
	// End date must be after the start date.
	//
	AdRuleDateError_ReasonEND_DATE_TIME_NOT_AFTER_START_TIME AdRuleDateError_Reason = "END_DATE_TIME_NOT_AFTER_START_TIME"

	//
	// {@code DateTime}s after 1 January 2037 are not supported.
	//
	AdRuleDateError_ReasonEND_DATE_TIME_TOO_LATE AdRuleDateError_Reason = "END_DATE_TIME_TOO_LATE"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	AdRuleDateError_ReasonUNKNOWN AdRuleDateError_Reason = "UNKNOWN"
)

type AdRuleError

type AdRuleError struct {
	*ApiError

	Reason *AdRuleError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type AdRuleError_Reason

type AdRuleError_Reason string
const (

	//
	// The name contains unsupported or reserved characters.
	//
	AdRuleError_ReasonNAME_CONTAINS_INVALID_CHARACTERS AdRuleError_Reason = "NAME_CONTAINS_INVALID_CHARACTERS"

	//
	// The break template must have exactly one flexible ad spot.
	//
	AdRuleError_ReasonBREAK_TEMPLATE_MUST_HAVE_EXACTLY_ONE_FLEXIBLE_AD_SPOT AdRuleError_Reason = "BREAK_TEMPLATE_MUST_HAVE_EXACTLY_ONE_FLEXIBLE_AD_SPOT"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	AdRuleError_ReasonUNKNOWN AdRuleError_Reason = "UNKNOWN"
)

type AdRuleFrequencyCapError

type AdRuleFrequencyCapError struct {
	*ApiError

	Reason *AdRuleFrequencyCapError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type AdRuleFrequencyCapError_Reason

type AdRuleFrequencyCapError_Reason string
const (

	//
	// The ad rule specifies that frequency caps should be turned on, but then
	// none of the frequency caps have actually been set.
	//
	AdRuleFrequencyCapError_ReasonNO_FREQUENCY_CAPS_SPECIFIED_WHEN_FREQUENCY_CAPS_TURNED_ON AdRuleFrequencyCapError_Reason = "NO_FREQUENCY_CAPS_SPECIFIED_WHEN_FREQUENCY_CAPS_TURNED_ON"

	//
	// The ad rule specifies that frequency caps should not be turned on, but
	// then some frequency caps were actually set.
	//
	AdRuleFrequencyCapError_ReasonFREQUENCY_CAPS_SPECIFIED_WHEN_FREQUENCY_CAPS_TURNED_OFF AdRuleFrequencyCapError_Reason = "FREQUENCY_CAPS_SPECIFIED_WHEN_FREQUENCY_CAPS_TURNED_OFF"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	AdRuleFrequencyCapError_ReasonUNKNOWN AdRuleFrequencyCapError_Reason = "UNKNOWN"
)

type AdRulePage

type AdRulePage struct {

	//
	// The size of the total result set to which this page belongs.
	//
	TotalResultSetSize int32 `xml:"totalResultSetSize,omitempty" json:"totalResultSetSize,omitempty"`

	//
	// The absolute index in the total result set on which this page begins.
	//
	StartIndex int32 `xml:"startIndex,omitempty" json:"startIndex,omitempty"`

	//
	// The collection of ad rules contained within this page.
	//
	Results []*AdRule `xml:"results,omitempty" json:"results,omitempty"`
}

type AdRulePriorityError

type AdRulePriorityError struct {
	*ApiError

	Reason *AdRulePriorityError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type AdRulePriorityError_Reason

type AdRulePriorityError_Reason string
const (

	//
	// Ad rules must have unique priorities.
	//
	AdRulePriorityError_ReasonDUPLICATE_PRIORITY AdRulePriorityError_Reason = "DUPLICATE_PRIORITY"

	//
	// One or more priorities are missing.
	//
	AdRulePriorityError_ReasonPRIORITIES_NOT_SEQUENTIAL AdRulePriorityError_Reason = "PRIORITIES_NOT_SEQUENTIAL"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	AdRulePriorityError_ReasonUNKNOWN AdRulePriorityError_Reason = "UNKNOWN"
)

type AdRuleServiceInterface

type AdRuleServiceInterface interface {

	// Error can be either of the following types:
	//
	//   - ApiException
	/*
	   Creates new {@link AdRule} objects.
	*/
	CreateAdRules(request *CreateAdRules) (*CreateAdRulesResponse, error)

	CreateAdRulesContext(ctx context.Context, request *CreateAdRules) (*CreateAdRulesResponse, error)

	// Error can be either of the following types:
	//
	//   - ApiException
	/*
	   Creates new {@link AdSpot} objects.
	*/
	CreateAdSpots(request *CreateAdSpots) (*CreateAdSpotsResponse, error)

	CreateAdSpotsContext(ctx context.Context, request *CreateAdSpots) (*CreateAdSpotsResponse, error)

	// Error can be either of the following types:
	//
	//   - ApiException
	/*
	   Creates new {@link breakTemplate} objects.
	*/
	CreateBreakTemplates(request *CreateBreakTemplates) (*CreateBreakTemplatesResponse, error)

	CreateBreakTemplatesContext(ctx context.Context, request *CreateBreakTemplates) (*CreateBreakTemplatesResponse, error)

	// Error can be either of the following types:
	//
	//   - ApiException
	/*
	   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>
	*/
	GetAdRulesByStatement(request *GetAdRulesByStatement) (*GetAdRulesByStatementResponse, error)

	GetAdRulesByStatementContext(ctx context.Context, request *GetAdRulesByStatement) (*GetAdRulesByStatementResponse, error)

	// Error can be either of the following types:
	//
	//   - ApiException
	/*
	   Gets a {@link AdSpotPage} of {@link AdSpot} objects that satisfy the given {@link
	   Statement#query}.
	*/
	GetAdSpotsByStatement(request *GetAdSpotsByStatement) (*GetAdSpotsByStatementResponse, error)

	GetAdSpotsByStatementContext(ctx context.Context, request *GetAdSpotsByStatement) (*GetAdSpotsByStatementResponse, error)

	// Error can be either of the following types:
	//
	//   - ApiException
	/*
	   Gets a {@link BreakTemplatePage} of {@link BreakTemplate} objects that satisfy the given {@link
	   Statement#query}.
	*/
	GetBreakTemplatesByStatement(request *GetBreakTemplatesByStatement) (*GetBreakTemplatesByStatementResponse, error)

	GetBreakTemplatesByStatementContext(ctx context.Context, request *GetBreakTemplatesByStatement) (*GetBreakTemplatesByStatementResponse, error)

	// Error can be either of the following types:
	//
	//   - ApiException
	/*
	   Performs actions on {@link AdRule} objects that match the given {@link Statement#query}.
	*/
	PerformAdRuleAction(request *PerformAdRuleAction) (*PerformAdRuleActionResponse, error)

	PerformAdRuleActionContext(ctx context.Context, request *PerformAdRuleAction) (*PerformAdRuleActionResponse, error)

	// Error can be either of the following types:
	//
	//   - ApiException
	/*
	   Updates the specified {@link AdRule} objects.
	*/
	UpdateAdRules(request *UpdateAdRules) (*UpdateAdRulesResponse, error)

	UpdateAdRulesContext(ctx context.Context, request *UpdateAdRules) (*UpdateAdRulesResponse, error)

	// Error can be either of the following types:
	//
	//   - ApiException
	/*
	   Updates the specified {@link AdSpot} objects.
	*/
	UpdateAdSpots(request *UpdateAdSpots) (*UpdateAdSpotsResponse, error)

	UpdateAdSpotsContext(ctx context.Context, request *UpdateAdSpots) (*UpdateAdSpotsResponse, error)

	// Error can be either of the following types:
	//
	//   - ApiException
	/*
	   Updates the specified {@link breakTemplate} objects.
	*/
	UpdateBreakTemplates(request *UpdateBreakTemplates) (*UpdateBreakTemplatesResponse, error)

	UpdateBreakTemplatesContext(ctx context.Context, request *UpdateBreakTemplates) (*UpdateBreakTemplatesResponse, error)
}

func NewAdRuleServiceInterface

func NewAdRuleServiceInterface(client *soap.Client) AdRuleServiceInterface

type AdRuleSlotBehavior

type AdRuleSlotBehavior string
const (

	//
	// This ad rule always includes this slot's ads.
	//
	AdRuleSlotBehaviorALWAYS_SHOW AdRuleSlotBehavior = "ALWAYS_SHOW"

	//
	// This ad rule never includes this slot's ads.
	//
	AdRuleSlotBehaviorNEVER_SHOW AdRuleSlotBehavior = "NEVER_SHOW"

	//
	// Defer to lower priority rules. This ad rule doesn't specify guidelines for this slot's ads.
	//
	AdRuleSlotBehaviorDEFER AdRuleSlotBehavior = "DEFER"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	AdRuleSlotBehaviorUNKNOWN AdRuleSlotBehavior = "UNKNOWN"
)

type AdRuleSlotBumper

type AdRuleSlotBumper string
const (

	//
	// Do not show a bumper ad.
	//
	AdRuleSlotBumperNONE AdRuleSlotBumper = "NONE"

	//
	// Show a bumper ad before the slot's other ads.
	//
	AdRuleSlotBumperBEFORE AdRuleSlotBumper = "BEFORE"

	//
	// Show a bumper ad after the slot's other ads.
	//
	AdRuleSlotBumperAFTER AdRuleSlotBumper = "AFTER"

	//
	// Show a bumper before and after the slot's other ads.
	//
	AdRuleSlotBumperBEFORE_AND_AFTER AdRuleSlotBumper = "BEFORE_AND_AFTER"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	AdRuleSlotBumperUNKNOWN AdRuleSlotBumper = "UNKNOWN"
)

type AdRuleSlotError

type AdRuleSlotError struct {
	*ApiError

	Reason *AdRuleSlotError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type AdRuleSlotError_Reason

type AdRuleSlotError_Reason string
const (

	//
	// Has a different status than the ad rule to which it belongs.
	//
	AdRuleSlotError_ReasonDIFFERENT_STATUS_THAN_AD_RULE AdRuleSlotError_Reason = "DIFFERENT_STATUS_THAN_AD_RULE"

	//
	// Min video ad duration is greater than max video ad duration.
	//
	AdRuleSlotError_ReasonINVALID_VIDEO_AD_DURATION_RANGE AdRuleSlotError_Reason = "INVALID_VIDEO_AD_DURATION_RANGE"

	//
	// Video mid-roll frequency type other than NONE for pre-roll or post-roll.
	//
	AdRuleSlotError_ReasonINVALID_VIDEO_MIDROLL_FREQUENCY_TYPE AdRuleSlotError_Reason = "INVALID_VIDEO_MIDROLL_FREQUENCY_TYPE"

	//
	// 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>
	//
	AdRuleSlotError_ReasonMALFORMED_VIDEO_MIDROLL_FREQUENCY_CSV AdRuleSlotError_Reason = "MALFORMED_VIDEO_MIDROLL_FREQUENCY_CSV"

	//
	// Invalid format for video mid-roll frequency when expecting a single
	// number only, e.g., every n seconds or every n cue points.
	//
	AdRuleSlotError_ReasonMALFORMED_VIDEO_MIDROLL_FREQUENCY_SINGLE_NUMBER AdRuleSlotError_Reason = "MALFORMED_VIDEO_MIDROLL_FREQUENCY_SINGLE_NUMBER"

	//
	// Min overlay ad duration is greater than max overlay ad duration.
	//
	AdRuleSlotError_ReasonINVALID_OVERLAY_AD_DURATION_RANGE AdRuleSlotError_Reason = "INVALID_OVERLAY_AD_DURATION_RANGE"

	//
	// Overlay mid-roll frequency type other than NONE for pre-roll or
	// post-roll.
	//
	AdRuleSlotError_ReasonINVALID_OVERLAY_MIDROLL_FREQUENCY_TYPE AdRuleSlotError_Reason = "INVALID_OVERLAY_MIDROLL_FREQUENCY_TYPE"

	//
	// Invalid format for overlay mid-roll frequency for list of numbers. See
	// valid formats above.
	//
	AdRuleSlotError_ReasonMALFORMED_OVERLAY_MIDROLL_FREQUENCY_CSV AdRuleSlotError_Reason = "MALFORMED_OVERLAY_MIDROLL_FREQUENCY_CSV"

	//
	// Invalid format for overlay mid-roll frequency for a single number.
	//
	AdRuleSlotError_ReasonMALFORMED_OVERLAY_MIDROLL_FREQUENCY_SINGLE_NUMBER AdRuleSlotError_Reason = "MALFORMED_OVERLAY_MIDROLL_FREQUENCY_SINGLE_NUMBER"

	//
	// Non-positive bumper duration when expecting a positive number.
	//
	AdRuleSlotError_ReasonINVALID_BUMPER_MAX_DURATION AdRuleSlotError_Reason = "INVALID_BUMPER_MAX_DURATION"

	//
	// At most one mid-roll can be set to disallow ads.
	//
	AdRuleSlotError_ReasonTOO_MANY_MIDROLL_SLOTS_WITHOUT_ADS AdRuleSlotError_Reason = "TOO_MANY_MIDROLL_SLOTS_WITHOUT_ADS"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	AdRuleSlotError_ReasonUNKNOWN AdRuleSlotError_Reason = "UNKNOWN"
)

type AdRuleStatus

type AdRuleStatus string
const (

	//
	// Created and ready to be served. Is user-visible.
	//
	AdRuleStatusACTIVE AdRuleStatus = "ACTIVE"

	//
	// Paused, user-visible.
	//
	AdRuleStatusINACTIVE AdRuleStatus = "INACTIVE"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	AdRuleStatusUNKNOWN AdRuleStatus = "UNKNOWN"
)

type AdRuleTargetingError

type AdRuleTargetingError struct {
	*ApiError

	Reason *AdRuleTargetingError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type AdRuleTargetingError_Reason

type AdRuleTargetingError_Reason string
const (

	//
	// Cannot target video positions.
	//
	AdRuleTargetingError_ReasonVIDEO_POSITION_TARGETING_NOT_ALLOWED AdRuleTargetingError_Reason = "VIDEO_POSITION_TARGETING_NOT_ALLOWED"

	//
	// As part of COPPA requirements, custom targeting for session ad rules requires exact custom
	// value matching.
	//
	AdRuleTargetingError_ReasonEXACT_CUSTOM_VALUE_TARGETING_REQUIRED AdRuleTargetingError_Reason = "EXACT_CUSTOM_VALUE_TARGETING_REQUIRED"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	AdRuleTargetingError_ReasonUNKNOWN AdRuleTargetingError_Reason = "UNKNOWN"
)

type AdSpot

type AdSpot struct {

	//
	// The unique ID of the {@link AdSpot}. This value is readonly and is assigned by Google.
	//
	Id int64 `xml:"id,omitempty" json:"id,omitempty"`

	//
	// 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.
	//
	Name string `xml:"name,omitempty" json:"name,omitempty"`

	//
	// Descriptive name for the {@link AdSpot}.This value is optional if {@code customSpot} is true,
	// and cannot be set otherwise.
	//
	DisplayName string `xml:"displayName,omitempty" json:"displayName,omitempty"`

	//
	// 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.
	//
	CustomSpot bool `xml:"customSpot,omitempty" json:"customSpot,omitempty"`

	//
	// 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.
	//
	Flexible bool `xml:"flexible,omitempty" json:"flexible,omitempty"`

	//
	// The maximum total duration for this {@link AdSpot}. This field is optional, defaults to 0, and
	// supports precision to the nearest second.
	//
	MaxDurationMillis int64 `xml:"maxDurationMillis,omitempty" json:"maxDurationMillis,omitempty"`

	//
	// 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.
	//
	MaxNumberOfAds int32 `xml:"maxNumberOfAds,omitempty" json:"maxNumberOfAds,omitempty"`

	//
	// The {@link SubpodTargetingType} determines how this ad spot can be targeted. This field is
	// required.
	//
	TargetingType *AdSpotTargetingType `xml:"targetingType,omitempty" json:"targetingType,omitempty"`

	//
	// Whether backfill is blocked in this ad spot. This field is optional and defaults to false.
	//
	BackfillBlocked bool `xml:"backfillBlocked,omitempty" json:"backfillBlocked,omitempty"`

	//
	// 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.
	//
	AllowedLineItemTypes []*LineItemType `xml:"allowedLineItemTypes,omitempty" json:"allowedLineItemTypes,omitempty"`

	//
	// Whether inventory sharing is blocked in this ad spot. This field is optional and defaults to
	// false.
	//
	InventorySharingBlocked bool `xml:"inventorySharingBlocked,omitempty" json:"inventorySharingBlocked,omitempty"`
}

type AdSpotFillType

type AdSpotFillType string
const (

	//
	// If this ad spot is empty, the overall pod is invalid.
	//
	AdSpotFillTypeREQUIRED AdSpotFillType = "REQUIRED"

	//
	// The ad spot is always "satisfied", whether empty or nonempty.
	//
	AdSpotFillTypeOPTIONAL AdSpotFillType = "OPTIONAL"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	AdSpotFillTypeUNKNOWN AdSpotFillType = "UNKNOWN"
)

type AdSpotPage

type AdSpotPage struct {

	//
	// The size of the total result set to which this page belongs.
	//
	TotalResultSetSize int32 `xml:"totalResultSetSize,omitempty" json:"totalResultSetSize,omitempty"`

	//
	// The absolute index in the total result set on which this page begins.
	//
	StartIndex int32 `xml:"startIndex,omitempty" json:"startIndex,omitempty"`

	//
	// The collection of ad spot contained within this page.
	//
	Results []*AdSpot `xml:"results,omitempty" json:"results,omitempty"`
}

type AdSpotTargetingType

type AdSpotTargetingType string
const (

	//
	// Line items not targeting this ad spot explicitly may serve in it.
	//
	AdSpotTargetingTypeNOT_REQUIRED AdSpotTargetingType = "NOT_REQUIRED"

	//
	// Only line items targeting this ad spots explicitly may serve in it
	//
	AdSpotTargetingTypeEXPLICITLY_TARGETED AdSpotTargetingType = "EXPLICITLY_TARGETED"

	//
	// 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.
	//
	AdSpotTargetingTypeEXPLICITLY_TARGETED_EXCEPT_HOUSE AdSpotTargetingType = "EXPLICITLY_TARGETED_EXCEPT_HOUSE"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	AdSpotTargetingTypeUNKNOWN AdSpotTargetingType = "UNKNOWN"
)

type AdUnitTargeting

type AdUnitTargeting struct {

	//
	// Included or excluded ad unit id.
	//
	AdUnitId string `xml:"adUnitId,omitempty" json:"adUnitId,omitempty"`

	//
	// 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.
	//
	IncludeDescendants bool `xml:"includeDescendants,omitempty" json:"includeDescendants,omitempty"`
}

type AnyType

type AnyType struct {
	InnerXML string `xml:",innerxml"`
}

type AnyURI

type AnyURI string

type ApiError

type ApiError struct {

	//
	// The OGNL field path to identify cause of error.
	//
	FieldPath string `xml:"fieldPath,omitempty" json:"fieldPath,omitempty"`

	//
	// 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)}.
	//
	FieldPathElements []*FieldPathElement `xml:"fieldPathElements,omitempty" json:"fieldPathElements,omitempty"`

	//
	// The data that caused the error.
	//
	Trigger string `xml:"trigger,omitempty" json:"trigger,omitempty"`

	//
	// A simple string representation of the error and reason.
	//
	ErrorString string `xml:"errorString,omitempty" json:"errorString,omitempty"`
}

type ApiException

type ApiException struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 ApiExceptionFault"`

	*ApplicationException

	//
	// List of errors.
	//
	Errors []*ApiError `xml:"errors,omitempty" json:"errors,omitempty"`
}

type ApiExceptionFault

type ApiExceptionFault ApiException

type ApiVersionError

type ApiVersionError struct {
	*ApiError

	Reason *ApiVersionError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type ApiVersionError_Reason

type ApiVersionError_Reason string
const (

	//
	// Indicates that the operation is not allowed in the version the request
	// was made in.
	//
	ApiVersionError_ReasonUPDATE_TO_NEWER_VERSION ApiVersionError_Reason = "UPDATE_TO_NEWER_VERSION"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	ApiVersionError_ReasonUNKNOWN ApiVersionError_Reason = "UNKNOWN"
)

type ApplicationException

type ApplicationException struct {

	//
	// Error message.
	//
	Message string `xml:"message,omitempty" json:"message,omitempty"`
}

type AudienceSegmentCriteria

type AudienceSegmentCriteria struct {
	*CustomCriteriaLeaf

	//
	// The comparison operator. This attribute is required.
	//
	Operator *AudienceSegmentCriteria_ComparisonOperator `xml:"operator,omitempty" json:"operator,omitempty"`

	//
	// The ids of {@link AudienceSegment} objects used to target audience segments. This attribute is
	// required.
	//
	AudienceSegmentIds []int64 `xml:"audienceSegmentIds,omitempty" json:"audienceSegmentIds,omitempty"`
}

type AudienceSegmentCriteria_ComparisonOperator

type AudienceSegmentCriteria_ComparisonOperator string
const (
	AudienceSegmentCriteria_ComparisonOperatorIS AudienceSegmentCriteria_ComparisonOperator = "IS"

	AudienceSegmentCriteria_ComparisonOperatorIS_NOT AudienceSegmentCriteria_ComparisonOperator = "IS_NOT"
)

type AuthenticationError

type AuthenticationError struct {
	*ApiError

	Reason *AuthenticationError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type AuthenticationError_Reason

type AuthenticationError_Reason string
const (

	//
	// 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.
	//
	AuthenticationError_ReasonAMBIGUOUS_SOAP_REQUEST_HEADER AuthenticationError_Reason = "AMBIGUOUS_SOAP_REQUEST_HEADER"

	//
	// The login provided is invalid.
	//
	AuthenticationError_ReasonINVALID_EMAIL AuthenticationError_Reason = "INVALID_EMAIL"

	//
	// Tried to authenticate with provided information, but failed.
	//
	AuthenticationError_ReasonAUTHENTICATION_FAILED AuthenticationError_Reason = "AUTHENTICATION_FAILED"

	//
	// The OAuth provided is invalid.
	//
	AuthenticationError_ReasonINVALID_OAUTH_SIGNATURE AuthenticationError_Reason = "INVALID_OAUTH_SIGNATURE"

	//
	// The specified service to use was not recognized.
	//
	AuthenticationError_ReasonINVALID_SERVICE AuthenticationError_Reason = "INVALID_SERVICE"

	//
	// The SOAP message is missing a request header with an {@code authToken} and optional {@code
	// networkCode}.
	//
	AuthenticationError_ReasonMISSING_SOAP_REQUEST_HEADER AuthenticationError_Reason = "MISSING_SOAP_REQUEST_HEADER"

	//
	// The HTTP request is missing a request header with an {@code authToken}
	//
	AuthenticationError_ReasonMISSING_AUTHENTICATION_HTTP_HEADER AuthenticationError_Reason = "MISSING_AUTHENTICATION_HTTP_HEADER"

	//
	// The request is missing an {@code authToken}
	//
	AuthenticationError_ReasonMISSING_AUTHENTICATION AuthenticationError_Reason = "MISSING_AUTHENTICATION"

	//
	// The network does not have API access enabled.
	//
	AuthenticationError_ReasonNETWORK_API_ACCESS_DISABLED AuthenticationError_Reason = "NETWORK_API_ACCESS_DISABLED"

	//
	// The user is not associated with any network.
	//
	AuthenticationError_ReasonNO_NETWORKS_TO_ACCESS AuthenticationError_Reason = "NO_NETWORKS_TO_ACCESS"

	//
	// No network for the given {@code networkCode} was found.
	//
	AuthenticationError_ReasonNETWORK_NOT_FOUND AuthenticationError_Reason = "NETWORK_NOT_FOUND"

	//
	// The user has access to more than one network, but did not provide a {@code networkCode}.
	//
	AuthenticationError_ReasonNETWORK_CODE_REQUIRED AuthenticationError_Reason = "NETWORK_CODE_REQUIRED"

	//
	// An error happened on the server side during connection to authentication service.
	//
	AuthenticationError_ReasonCONNECTION_ERROR AuthenticationError_Reason = "CONNECTION_ERROR"

	//
	// The user tried to create a test network using an account that already is associated with a
	// network.
	//
	AuthenticationError_ReasonGOOGLE_ACCOUNT_ALREADY_ASSOCIATED_WITH_NETWORK AuthenticationError_Reason = "GOOGLE_ACCOUNT_ALREADY_ASSOCIATED_WITH_NETWORK"

	//
	// The account is blocked and under investigation by the collections team. Please contact Google
	// for more information.
	//
	AuthenticationError_ReasonUNDER_INVESTIGATION AuthenticationError_Reason = "UNDER_INVESTIGATION"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	AuthenticationError_ReasonUNKNOWN AuthenticationError_Reason = "UNKNOWN"
)

type BandwidthGroup

type BandwidthGroup struct {
	*Technology
}

type BandwidthGroupTargeting

type BandwidthGroupTargeting struct {

	//
	// Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional
	// and defaults to {@code true}.
	//
	IsTargeted bool `xml:"isTargeted,omitempty" json:"isTargeted,omitempty"`

	//
	// The bandwidth groups that are being targeted or excluded by the {@link LineItem}.
	//
	BandwidthGroups []*Technology `xml:"bandwidthGroups,omitempty" json:"bandwidthGroups,omitempty"`
}

type BaseAdRuleSlot

type BaseAdRuleSlot struct {

	//
	// 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.
	//
	SlotBehavior *AdRuleSlotBehavior `xml:"slotBehavior,omitempty" json:"slotBehavior,omitempty"`

	//
	// The maximum duration in milliseconds of video ads within this slot. This attribute is optional
	// and defaults to 0.
	//
	MaxVideoAdDuration int64 `xml:"maxVideoAdDuration,omitempty" json:"maxVideoAdDuration,omitempty"`

	//
	// 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}.
	//
	VideoMidrollFrequencyType *MidrollFrequencyType `xml:"videoMidrollFrequencyType,omitempty" json:"videoMidrollFrequencyType,omitempty"`

	//
	// 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."
	//
	VideoMidrollFrequency string `xml:"videoMidrollFrequency,omitempty" json:"videoMidrollFrequency,omitempty"`

	//
	// The {@link AdRuleSlotBumper} for this slot. This attribute is optional and defaults to {@link
	// AdRuleSlotBumper#NONE}.
	//
	Bumper *AdRuleSlotBumper `xml:"bumper,omitempty" json:"bumper,omitempty"`

	//
	// The maximum duration of bumper ads within this slot. This attribute is optional and defaults to
	// 0.
	//
	MaxBumperDuration int64 `xml:"maxBumperDuration,omitempty" json:"maxBumperDuration,omitempty"`

	//
	// The maximum pod duration in milliseconds for this slot. This attribute is optional and defaults
	// to 0.
	//
	MaxPodDuration int64 `xml:"maxPodDuration,omitempty" json:"maxPodDuration,omitempty"`

	//
	// The maximum number of ads allowed in a pod in this slot. This attribute is optional and
	// defaults to 0.
	//
	MaxAdsInPod int32 `xml:"maxAdsInPod,omitempty" json:"maxAdsInPod,omitempty"`

	//
	// 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.
	//
	BreakTemplateId int64 `xml:"breakTemplateId,omitempty" json:"breakTemplateId,omitempty"`
}

type BooleanValue

type BooleanValue struct {

	//
	// The boolean value.
	//
	Value bool `xml:"value,omitempty" json:"value,omitempty"`
	// contains filtered or unexported fields
}

type BreakTemplate

type BreakTemplate struct {

	//
	// The unique ID of the {@link BreakTemplate}. This value is readonly and is assigned by Google.
	//
	Id int64 `xml:"id,omitempty" json:"id,omitempty"`

	//
	// 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.
	//
	CustomTemplate bool `xml:"customTemplate,omitempty" json:"customTemplate,omitempty"`

	//
	// 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.
	//
	Name string `xml:"name,omitempty" json:"name,omitempty"`

	//
	// Descriptive name for the {@link BreakTemplateDto}. This value is optional if {@code
	// customTemplate} is true, and cannot be set otherwise.
	//
	DisplayName string `xml:"displayName,omitempty" json:"displayName,omitempty"`

	//
	// 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.
	//
	BreakTemplateMembers []*BreakTemplate_BreakTemplateMember `xml:"breakTemplateMembers,omitempty" json:"breakTemplateMembers,omitempty"`
}

type BreakTemplatePage

type BreakTemplatePage struct {

	//
	// The size of the total result set to which this page belongs.
	//
	TotalResultSetSize int32 `xml:"totalResultSetSize,omitempty" json:"totalResultSetSize,omitempty"`

	//
	// The absolute index in the total result set on which this page begins.
	//
	StartIndex int32 `xml:"startIndex,omitempty" json:"startIndex,omitempty"`

	//
	// The collection of break templates contained within this page.
	//
	Results []*BreakTemplate `xml:"results,omitempty" json:"results,omitempty"`
}

type BreakTemplate_BreakTemplateMember

type BreakTemplate_BreakTemplateMember struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 BreakTemplate.BreakTemplateMember"`

	//
	// The ID of the {@link AdSpot} that has the settings about what kinds of ads can appear in this
	// position of the {@link BreakTemplate}.
	//
	AdSpotId int64 `xml:"adSpotId,omitempty" json:"adSpotId,omitempty"`

	//
	// The behavior for how the {@link AdSpot} should be filled in the context of the {@link
	// BreakTemplate}.
	//
	AdSpotFillType *AdSpotFillType `xml:"adSpotFillType,omitempty" json:"adSpotFillType,omitempty"`
}

type Browser

type Browser struct {
	*Technology

	//
	// Browser major version.
	//
	MajorVersion string `xml:"majorVersion,omitempty" json:"majorVersion,omitempty"`

	//
	// Browser minor version.
	//
	MinorVersion string `xml:"minorVersion,omitempty" json:"minorVersion,omitempty"`
}

type BrowserLanguage

type BrowserLanguage struct {
	*Technology
}

type BrowserLanguageTargeting

type BrowserLanguageTargeting struct {

	//
	// Indicates whether browsers languages should be targeted or excluded. This attribute is optional
	// and defaults to {@code true}.
	//
	IsTargeted bool `xml:"isTargeted,omitempty" json:"isTargeted,omitempty"`

	//
	// Browser languages that are being targeted or excluded by the {@link LineItem}.
	//
	BrowserLanguages []*Technology `xml:"browserLanguages,omitempty" json:"browserLanguages,omitempty"`
}

type BrowserTargeting

type BrowserTargeting struct {

	//
	// Indicates whether browsers should be targeted or excluded. This attribute is optional and
	// defaults to {@code true}.
	//
	IsTargeted bool `xml:"isTargeted,omitempty" json:"isTargeted,omitempty"`

	//
	// Browsers that are being targeted or excluded by the {@link LineItem}.
	//
	Browsers []*Technology `xml:"browsers,omitempty" json:"browsers,omitempty"`
}

type BuyerUserListTargeting

type BuyerUserListTargeting struct {

	//
	// Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user
	// list targeting.
	//
	HasBuyerUserListTargeting bool `xml:"hasBuyerUserListTargeting,omitempty" json:"hasBuyerUserListTargeting,omitempty"`
}

type CmsMetadataCriteria

type CmsMetadataCriteria struct {
	*CustomCriteriaLeaf

	//
	// The comparison operator. This attribute is required.
	//
	Operator *CmsMetadataCriteria_ComparisonOperator `xml:"operator,omitempty" json:"operator,omitempty"`

	//
	// The ids of {@link CmsMetadataValue} objects used to target CMS metadata. This attribute is
	// required.
	//
	CmsMetadataValueIds []int64 `xml:"cmsMetadataValueIds,omitempty" json:"cmsMetadataValueIds,omitempty"`
}

type CmsMetadataCriteria_ComparisonOperator

type CmsMetadataCriteria_ComparisonOperator string
const (
	CmsMetadataCriteria_ComparisonOperatorEQUALS CmsMetadataCriteria_ComparisonOperator = "EQUALS"

	CmsMetadataCriteria_ComparisonOperatorNOT_EQUALS CmsMetadataCriteria_ComparisonOperator = "NOT_EQUALS"
)

type CollectionSizeError

type CollectionSizeError struct {
	*ApiError

	Reason *CollectionSizeError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type CollectionSizeError_Reason

type CollectionSizeError_Reason string
const (
	CollectionSizeError_ReasonTOO_LARGE CollectionSizeError_Reason = "TOO_LARGE"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	CollectionSizeError_ReasonUNKNOWN CollectionSizeError_Reason = "UNKNOWN"
)

type CommonError

type CommonError struct {
	*ApiError

	Reason *CommonError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type CommonError_Reason

type CommonError_Reason string
const (

	//
	// Indicates that an attempt was made to retrieve an entity that does not
	// exist.
	//
	CommonError_ReasonNOT_FOUND CommonError_Reason = "NOT_FOUND"

	//
	// Indicates that an attempt was made to create an entity that already
	// exists.
	//
	CommonError_ReasonALREADY_EXISTS CommonError_Reason = "ALREADY_EXISTS"

	//
	// Indicates that a value is not applicable for given use case.
	//
	CommonError_ReasonNOT_APPLICABLE CommonError_Reason = "NOT_APPLICABLE"

	//
	// Indicates that two elements in the collection were identical.
	//
	CommonError_ReasonDUPLICATE_OBJECT CommonError_Reason = "DUPLICATE_OBJECT"

	//
	// Indicates that an attempt was made to change an immutable field.
	//
	CommonError_ReasonCANNOT_UPDATE CommonError_Reason = "CANNOT_UPDATE"

	//
	// Indicates that the requested operation is not supported.
	//
	CommonError_ReasonUNSUPPORTED_OPERATION CommonError_Reason = "UNSUPPORTED_OPERATION"

	//
	// 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.
	//
	CommonError_ReasonCONCURRENT_MODIFICATION CommonError_Reason = "CONCURRENT_MODIFICATION"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	CommonError_ReasonUNKNOWN CommonError_Reason = "UNKNOWN"
)

type ContentTargeting

type ContentTargeting struct {

	//
	// The IDs of content being targeted by the {@code LineItem}.
	//
	TargetedContentIds []int64 `xml:"targetedContentIds,omitempty" json:"targetedContentIds,omitempty"`

	//
	// The IDs of content being excluded by the {@code LineItem}.
	//
	ExcludedContentIds []int64 `xml:"excludedContentIds,omitempty" json:"excludedContentIds,omitempty"`

	//
	// A list of video content bundles, represented by {@link ContentBundle} IDs, that are being
	// targeted by the {@code LineItem}.
	//
	TargetedVideoContentBundleIds []int64 `xml:"targetedVideoContentBundleIds,omitempty" json:"targetedVideoContentBundleIds,omitempty"`

	//
	// A list of video content bundles, represented by {@link ContentBundle} IDs, that are being
	// excluded by the {@code LineItem}.
	//
	ExcludedVideoContentBundleIds []int64 `xml:"excludedVideoContentBundleIds,omitempty" json:"excludedVideoContentBundleIds,omitempty"`
}

type CreateAdRules

type CreateAdRules struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 createAdRules"`

	AdRules []*AdRule `xml:"adRules,omitempty" json:"adRules,omitempty"`
}

type CreateAdRulesResponse

type CreateAdRulesResponse struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 createAdRulesResponse"`

	Rval []*AdRule `xml:"rval,omitempty" json:"rval,omitempty"`
}

type CreateAdSpots

type CreateAdSpots struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 createAdSpots"`

	AdSpots []*AdSpot `xml:"adSpots,omitempty" json:"adSpots,omitempty"`
}

type CreateAdSpotsResponse

type CreateAdSpotsResponse struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 createAdSpotsResponse"`

	Rval []*AdSpot `xml:"rval,omitempty" json:"rval,omitempty"`
}

type CreateBreakTemplates

type CreateBreakTemplates struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 createBreakTemplates"`

	BreakTemplate []*BreakTemplate `xml:"breakTemplate,omitempty" json:"breakTemplate,omitempty"`
}

type CreateBreakTemplatesResponse

type CreateBreakTemplatesResponse struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 createBreakTemplatesResponse"`

	Rval []*BreakTemplate `xml:"rval,omitempty" json:"rval,omitempty"`
}

type CustomCriteria

type CustomCriteria struct {
	*CustomCriteriaLeaf

	//
	// The {@link CustomTargetingKey#id} of the {@link CustomTargetingKey} object that was created
	// using {@link CustomTargetingService}. This attribute is required.
	//
	KeyId int64 `xml:"keyId,omitempty" json:"keyId,omitempty"`

	//
	// The ids of {@link CustomTargetingValue} objects to target the custom targeting key with id
	// {@link CustomCriteria#keyId}. This attribute is required.
	//
	ValueIds []int64 `xml:"valueIds,omitempty" json:"valueIds,omitempty"`

	//
	// The comparison operator. This attribute is required.
	//
	Operator *CustomCriteria_ComparisonOperator `xml:"operator,omitempty" json:"operator,omitempty"`
}

type CustomCriteriaLeaf

type CustomCriteriaLeaf struct {
	*CustomCriteriaNode
}

type CustomCriteriaNode

type CustomCriteriaNode struct {
}

type CustomCriteriaSet

type CustomCriteriaSet struct {
	*CustomCriteriaNode

	//
	// The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is
	// required.
	// <span class="constraint Required">This attribute is required.</span>
	//
	LogicalOperator *CustomCriteriaSet_LogicalOperator `xml:"logicalOperator,omitempty" json:"logicalOperator,omitempty"`

	//
	// The custom criteria. This attribute is required.
	//
	Children []*CustomCriteriaNode `xml:"children,omitempty" json:"children,omitempty"`
}

type CustomCriteriaSet_LogicalOperator

type CustomCriteriaSet_LogicalOperator string
const (
	CustomCriteriaSet_LogicalOperatorAND CustomCriteriaSet_LogicalOperator = "AND"

	CustomCriteriaSet_LogicalOperatorOR CustomCriteriaSet_LogicalOperator = "OR"
)

type CustomCriteria_ComparisonOperator

type CustomCriteria_ComparisonOperator string
const (
	CustomCriteria_ComparisonOperatorIS CustomCriteria_ComparisonOperator = "IS"

	CustomCriteria_ComparisonOperatorIS_NOT CustomCriteria_ComparisonOperator = "IS_NOT"
)

type CustomTargetingError

type CustomTargetingError struct {
	*ApiError

	Reason *CustomTargetingError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type CustomTargetingError_Reason

type CustomTargetingError_Reason string
const (

	//
	// Requested {@link CustomTargetingKey} is not found.
	//
	CustomTargetingError_ReasonKEY_NOT_FOUND CustomTargetingError_Reason = "KEY_NOT_FOUND"

	//
	// Number of {@link CustomTargetingKey} objects created exceeds the limit
	// allowed for the network.
	//
	CustomTargetingError_ReasonKEY_COUNT_TOO_LARGE CustomTargetingError_Reason = "KEY_COUNT_TOO_LARGE"

	//
	// {@link CustomTargetingKey} with the same {@link CustomTargetingKey#name}
	// already exists.
	//
	CustomTargetingError_ReasonKEY_NAME_DUPLICATE CustomTargetingError_Reason = "KEY_NAME_DUPLICATE"

	//
	// {@link CustomTargetingKey#name} is empty.
	//
	CustomTargetingError_ReasonKEY_NAME_EMPTY CustomTargetingError_Reason = "KEY_NAME_EMPTY"

	//
	// {@link CustomTargetingKey#name} is too long.
	//
	CustomTargetingError_ReasonKEY_NAME_INVALID_LENGTH CustomTargetingError_Reason = "KEY_NAME_INVALID_LENGTH"

	//
	// {@link CustomTargetingKey#name} contains unsupported or reserved
	// characters.
	//
	CustomTargetingError_ReasonKEY_NAME_INVALID_CHARS CustomTargetingError_Reason = "KEY_NAME_INVALID_CHARS"

	//
	// {@link CustomTargetingKey#name} matches one of the reserved custom
	// targeting key names.
	//
	CustomTargetingError_ReasonKEY_NAME_RESERVED CustomTargetingError_Reason = "KEY_NAME_RESERVED"

	//
	// {@link CustomTargetingKey#displayName} is too long.
	//
	CustomTargetingError_ReasonKEY_DISPLAY_NAME_INVALID_LENGTH CustomTargetingError_Reason = "KEY_DISPLAY_NAME_INVALID_LENGTH"

	//
	// Key is not active.
	//
	CustomTargetingError_ReasonKEY_STATUS_NOT_ACTIVE CustomTargetingError_Reason = "KEY_STATUS_NOT_ACTIVE"

	//
	// Requested {@link CustomTargetingValue} is not found.
	//
	CustomTargetingError_ReasonVALUE_NOT_FOUND CustomTargetingError_Reason = "VALUE_NOT_FOUND"

	//
	// 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.
	//
	CustomTargetingError_ReasonGET_VALUES_BY_STATEMENT_MUST_CONTAIN_KEY_ID CustomTargetingError_Reason = "GET_VALUES_BY_STATEMENT_MUST_CONTAIN_KEY_ID"

	//
	// 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}.
	//
	CustomTargetingError_ReasonVALUE_COUNT_FOR_KEY_TOO_LARGE CustomTargetingError_Reason = "VALUE_COUNT_FOR_KEY_TOO_LARGE"

	//
	// {@link CustomTargetingValue} with the same
	// {@link CustomTargetingValue#name} already exists.
	//
	CustomTargetingError_ReasonVALUE_NAME_DUPLICATE CustomTargetingError_Reason = "VALUE_NAME_DUPLICATE"

	//
	// {@link CustomTargetingValue#name} is empty.
	//
	CustomTargetingError_ReasonVALUE_NAME_EMPTY CustomTargetingError_Reason = "VALUE_NAME_EMPTY"

	//
	// {@link CustomTargetingValue#name} is too long.
	//
	CustomTargetingError_ReasonVALUE_NAME_INVALID_LENGTH CustomTargetingError_Reason = "VALUE_NAME_INVALID_LENGTH"

	//
	// {@link CustomTargetingValue#name} contains unsupported or reserved
	// characters.
	//
	CustomTargetingError_ReasonVALUE_NAME_INVALID_CHARS CustomTargetingError_Reason = "VALUE_NAME_INVALID_CHARS"

	//
	// {@link CustomTargetingValue#displayName} is too long.
	//
	CustomTargetingError_ReasonVALUE_DISPLAY_NAME_INVALID_LENGTH CustomTargetingError_Reason = "VALUE_DISPLAY_NAME_INVALID_LENGTH"

	//
	// Only Ad Manager 360 networks can have {@link CustomTargetingValue#matchType}
	// other than {@link CustomTargetingValue.MatchType#EXACT}.
	//
	CustomTargetingError_ReasonVALUE_MATCH_TYPE_NOT_ALLOWED CustomTargetingError_Reason = "VALUE_MATCH_TYPE_NOT_ALLOWED"

	//
	// 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}
	//
	CustomTargetingError_ReasonVALUE_MATCH_TYPE_NOT_EXACT_FOR_PREDEFINED_KEY CustomTargetingError_Reason = "VALUE_MATCH_TYPE_NOT_EXACT_FOR_PREDEFINED_KEY"

	//
	// {@link CustomTargetingValue} object cannot have match type of
	// {@link CustomTargetingValue.MatchType#SUFFIX} when adding a
	// {@link CustomTargetingValue} to a line item.
	//
	CustomTargetingError_ReasonSUFFIX_MATCH_TYPE_NOT_ALLOWED CustomTargetingError_Reason = "SUFFIX_MATCH_TYPE_NOT_ALLOWED"

	//
	// {@link CustomTargetingValue} object cannot have match type of
	// {@link CustomTargetingValue.MatchType#CONTAINS} when adding a
	// {@link CustomTargetingValue} to targeting expression of a line item.
	//
	CustomTargetingError_ReasonCONTAINS_MATCH_TYPE_NOT_ALLOWED CustomTargetingError_Reason = "CONTAINS_MATCH_TYPE_NOT_ALLOWED"

	//
	// Value is not active.
	//
	CustomTargetingError_ReasonVALUE_STATUS_NOT_ACTIVE CustomTargetingError_Reason = "VALUE_STATUS_NOT_ACTIVE"

	//
	// The {@link CustomTargetingKey} does not have any
	// {@link CustomTargetingValue} associated with it.
	//
	CustomTargetingError_ReasonKEY_WITH_MISSING_VALUES CustomTargetingError_Reason = "KEY_WITH_MISSING_VALUES"

	//
	// The {@link CustomTargetingKey} has a {@link CustomTargetingValue} specified for which the
	// value is not a valid child.
	//
	CustomTargetingError_ReasonINVALID_VALUE_FOR_KEY CustomTargetingError_Reason = "INVALID_VALUE_FOR_KEY"

	//
	// {@link CustomCriteriaSet.LogicalOperator#OR} operation cannot be applied
	// to values with different keys.
	//
	CustomTargetingError_ReasonCANNOT_OR_DIFFERENT_KEYS CustomTargetingError_Reason = "CANNOT_OR_DIFFERENT_KEYS"

	//
	// Targeting expression is invalid. This can happen if the sequence of
	// operators is wrong, or a node contains invalid number of children.
	//
	CustomTargetingError_ReasonINVALID_TARGETING_EXPRESSION CustomTargetingError_Reason = "INVALID_TARGETING_EXPRESSION"

	//
	// The key has been deleted. {@link CustomCriteria} cannot have deleted
	// keys.
	//
	CustomTargetingError_ReasonDELETED_KEY_CANNOT_BE_USED_FOR_TARGETING CustomTargetingError_Reason = "DELETED_KEY_CANNOT_BE_USED_FOR_TARGETING"

	//
	// The value has been deleted. {@link CustomCriteria} cannot have deleted
	// values.
	//
	CustomTargetingError_ReasonDELETED_VALUE_CANNOT_BE_USED_FOR_TARGETING CustomTargetingError_Reason = "DELETED_VALUE_CANNOT_BE_USED_FOR_TARGETING"

	//
	// The key is set as the video browse-by key, which cannot be used for
	// custom targeting.
	//
	CustomTargetingError_ReasonVIDEO_BROWSE_BY_KEY_CANNOT_BE_USED_FOR_CUSTOM_TARGETING CustomTargetingError_Reason = "VIDEO_BROWSE_BY_KEY_CANNOT_BE_USED_FOR_CUSTOM_TARGETING"

	//
	// Only active custom-criteria keys are supported in content metadata mapping.
	//
	CustomTargetingError_ReasonCANNOT_DELETE_CUSTOM_KEY_USED_IN_CONTENT_METADATA_MAPPING CustomTargetingError_Reason = "CANNOT_DELETE_CUSTOM_KEY_USED_IN_CONTENT_METADATA_MAPPING"

	//
	// Only active custom-criteria values are supported in content metadata mapping.
	//
	CustomTargetingError_ReasonCANNOT_DELETE_CUSTOM_VALUE_USED_IN_CONTENT_METADATA_MAPPING CustomTargetingError_Reason = "CANNOT_DELETE_CUSTOM_VALUE_USED_IN_CONTENT_METADATA_MAPPING"

	//
	// Cannot delete a custom criteria key that is targeted by an active partner assignment.
	//
	CustomTargetingError_ReasonCANNOT_DELETE_CUSTOM_KEY_USED_IN_PARTNER_ASSIGNMENT_TARGETING CustomTargetingError_Reason = "CANNOT_DELETE_CUSTOM_KEY_USED_IN_PARTNER_ASSIGNMENT_TARGETING"

	//
	// Cannot delete a custom criteria value that is targeted by an active partner assignment.
	//
	CustomTargetingError_ReasonCANNOT_DELETE_CUSTOM_VALUE_USED_IN_PARTNER_ASSIGNMENT_TARGETING CustomTargetingError_Reason = "CANNOT_DELETE_CUSTOM_VALUE_USED_IN_PARTNER_ASSIGNMENT_TARGETING"

	//
	// {@link AudienceSegment} object cannot be targeted.
	//
	CustomTargetingError_ReasonCANNOT_TARGET_AUDIENCE_SEGMENT CustomTargetingError_Reason = "CANNOT_TARGET_AUDIENCE_SEGMENT"

	//
	// Third party {@link AudienceSegment} cannot be targeted.
	//
	CustomTargetingError_ReasonCANNOT_TARGET_THIRD_PARTY_AUDIENCE_SEGMENT CustomTargetingError_Reason = "CANNOT_TARGET_THIRD_PARTY_AUDIENCE_SEGMENT"

	//
	// Inactive {@link AudienceSegment} object cannot be targeted.
	//
	CustomTargetingError_ReasonCANNOT_TARGET_INACTIVE_AUDIENCE_SEGMENT CustomTargetingError_Reason = "CANNOT_TARGET_INACTIVE_AUDIENCE_SEGMENT"

	//
	// Targeted {@link AudienceSegment} object is not valid.
	//
	CustomTargetingError_ReasonINVALID_AUDIENCE_SEGMENTS CustomTargetingError_Reason = "INVALID_AUDIENCE_SEGMENTS"

	//
	// Mapped metadata key-values are deprecated and cannot be targeted.
	//
	CustomTargetingError_ReasonCANNOT_TARGET_MAPPED_METADATA CustomTargetingError_Reason = "CANNOT_TARGET_MAPPED_METADATA"

	//
	// Targeted {@link AudienceSegment} objects have not been approved.
	//
	CustomTargetingError_ReasonONLY_APPROVED_AUDIENCE_SEGMENTS_CAN_BE_TARGETED CustomTargetingError_Reason = "ONLY_APPROVED_AUDIENCE_SEGMENTS_CAN_BE_TARGETED"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	CustomTargetingError_ReasonUNKNOWN CustomTargetingError_Reason = "UNKNOWN"
)

type Date

type Date struct {

	//
	// Year (e.g., 2009)
	//
	Year int32 `xml:"year,omitempty" json:"year,omitempty"`

	//
	// Month (1..12)
	//
	Month int32 `xml:"month,omitempty" json:"month,omitempty"`

	//
	// Day (1..31)
	//
	Day int32 `xml:"day,omitempty" json:"day,omitempty"`
}

type DateTime

type DateTime struct {
	Date soap.XSDDate `xml:"date,omitempty" json:"date,omitempty"`

	Hour int32 `xml:"hour,omitempty" json:"hour,omitempty"`

	Minute int32 `xml:"minute,omitempty" json:"minute,omitempty"`

	Second int32 `xml:"second,omitempty" json:"second,omitempty"`

	TimeZoneId string `xml:"timeZoneId,omitempty" json:"timeZoneId,omitempty"`
}

type DateTimeRange

type DateTimeRange struct {

	//
	// 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.
	//
	StartDateTime soap.XSDDateTime `xml:"startDateTime,omitempty" json:"startDateTime,omitempty"`

	//
	// 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.
	//
	EndDateTime soap.XSDDateTime `xml:"endDateTime,omitempty" json:"endDateTime,omitempty"`
}

type DateTimeRangeTargeting

type DateTimeRangeTargeting struct {
	TargetedDateTimeRanges []*DateTimeRange `xml:"targetedDateTimeRanges,omitempty" json:"targetedDateTimeRanges,omitempty"`
}

type DateTimeValue

type DateTimeValue struct {

	//
	// The {@code DateTime} value.
	//
	Value soap.XSDDateTime `xml:"value,omitempty" json:"value,omitempty"`
	// contains filtered or unexported fields
}

type DateValue

type DateValue struct {

	//
	// The {@code Date} value.
	//
	Value soap.XSDDate `xml:"value,omitempty" json:"value,omitempty"`
	// contains filtered or unexported fields
}

type DayOfWeek

type DayOfWeek string
const (

	//
	// The day of week named Monday.
	//
	DayOfWeekMONDAY DayOfWeek = "MONDAY"

	//
	// The day of week named Tuesday.
	//
	DayOfWeekTUESDAY DayOfWeek = "TUESDAY"

	//
	// The day of week named Wednesday.
	//
	DayOfWeekWEDNESDAY DayOfWeek = "WEDNESDAY"

	//
	// The day of week named Thursday.
	//
	DayOfWeekTHURSDAY DayOfWeek = "THURSDAY"

	//
	// The day of week named Friday.
	//
	DayOfWeekFRIDAY DayOfWeek = "FRIDAY"

	//
	// The day of week named Saturday.
	//
	DayOfWeekSATURDAY DayOfWeek = "SATURDAY"

	//
	// The day of week named Sunday.
	//
	DayOfWeekSUNDAY DayOfWeek = "SUNDAY"
)

type DayPart

type DayPart struct {

	//
	// Day of the week the target applies to. This field is required.
	//
	DayOfWeek *DayOfWeek `xml:"dayOfWeek,omitempty" json:"dayOfWeek,omitempty"`

	//
	// Represents the start time of the targeted period (inclusive).
	//
	StartTime *TimeOfDay `xml:"startTime,omitempty" json:"startTime,omitempty"`

	//
	// Represents the end time of the targeted period (exclusive).
	//
	EndTime *TimeOfDay `xml:"endTime,omitempty" json:"endTime,omitempty"`
}

type DayPartTargeting

type DayPartTargeting struct {

	//
	// 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.
	//
	DayParts []*DayPart `xml:"dayParts,omitempty" json:"dayParts,omitempty"`

	//
	// 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.
	//
	TimeZone *DeliveryTimeZone `xml:"timeZone,omitempty" json:"timeZone,omitempty"`
}

type DeactivateAdRules

type DeactivateAdRules struct {
	*AdRuleAction
}

type DeleteAdRules

type DeleteAdRules struct {
	*AdRuleAction
}

type DeliveryTimeZone

type DeliveryTimeZone string
const (

	//
	// Use the time zone of the publisher.
	//
	DeliveryTimeZonePUBLISHER DeliveryTimeZone = "PUBLISHER"

	//
	// Use the time zone of the browser.
	//
	DeliveryTimeZoneBROWSER DeliveryTimeZone = "BROWSER"
)

type DeviceCapability

type DeviceCapability struct {
	*Technology
}

type DeviceCapabilityTargeting

type DeviceCapabilityTargeting struct {

	//
	// Device capabilities that are being targeted by the {@link LineItem}.
	//
	TargetedDeviceCapabilities []*Technology `xml:"targetedDeviceCapabilities,omitempty" json:"targetedDeviceCapabilities,omitempty"`

	//
	// Device capabilities that are being excluded by the {@link LineItem}.
	//
	ExcludedDeviceCapabilities []*Technology `xml:"excludedDeviceCapabilities,omitempty" json:"excludedDeviceCapabilities,omitempty"`
}

type DeviceCategory

type DeviceCategory struct {
	*Technology
}

type DeviceCategoryTargeting

type DeviceCategoryTargeting struct {

	//
	// Device categories that are being targeted by the {@link LineItem}.
	//
	TargetedDeviceCategories []*Technology `xml:"targetedDeviceCategories,omitempty" json:"targetedDeviceCategories,omitempty"`

	//
	// Device categories that are being excluded by the {@link LineItem}.
	//
	ExcludedDeviceCategories []*Technology `xml:"excludedDeviceCategories,omitempty" json:"excludedDeviceCategories,omitempty"`
}

type DeviceManufacturer

type DeviceManufacturer struct {
	*Technology
}

type DeviceManufacturerTargeting

type DeviceManufacturerTargeting struct {

	//
	// Indicates whether device manufacturers should be targeted or excluded. This attribute is
	// optional and defaults to {@code true}.
	//
	IsTargeted bool `xml:"isTargeted,omitempty" json:"isTargeted,omitempty"`

	//
	// Device manufacturers that are being targeted or excluded by the {@link LineItem}.
	//
	DeviceManufacturers []*Technology `xml:"deviceManufacturers,omitempty" json:"deviceManufacturers,omitempty"`
}

type FeatureError

type FeatureError struct {
	*ApiError

	Reason *FeatureError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type FeatureError_Reason

type FeatureError_Reason string
const (

	//
	// A feature is being used that is not enabled on the current network.
	//
	FeatureError_ReasonMISSING_FEATURE FeatureError_Reason = "MISSING_FEATURE"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	FeatureError_ReasonUNKNOWN FeatureError_Reason = "UNKNOWN"
)

type FieldPathElement

type FieldPathElement struct {

	//
	// The name of a field in lower camelcase. (e.g. "biddingStrategy")
	//
	Field string `xml:"field,omitempty" json:"field,omitempty"`

	//
	// For list fields, this is a 0-indexed position in the list. Null for non-list fields.
	//
	Index int32 `xml:"index,omitempty" json:"index,omitempty"`
}

type FrequencyCapBehavior

type FrequencyCapBehavior string
const (

	//
	// Turn on at least one of the frequency caps.
	//
	FrequencyCapBehaviorTURN_ON FrequencyCapBehavior = "TURN_ON"

	//
	// Turn off all frequency caps.
	//
	FrequencyCapBehaviorTURN_OFF FrequencyCapBehavior = "TURN_OFF"

	//
	// Defer frequency cap decisions to the next ad rule in priority order.
	//
	FrequencyCapBehaviorDEFER FrequencyCapBehavior = "DEFER"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	FrequencyCapBehaviorUNKNOWN FrequencyCapBehavior = "UNKNOWN"
)

type GeoTargeting

type GeoTargeting struct {

	//
	// The geographical locations being targeted by the {@link LineItem}.
	//
	TargetedLocations []*Location `xml:"targetedLocations,omitempty" json:"targetedLocations,omitempty"`

	//
	// The geographical locations being excluded by the {@link LineItem}.
	//
	ExcludedLocations []*Location `xml:"excludedLocations,omitempty" json:"excludedLocations,omitempty"`
}

type GeoTargetingError

type GeoTargetingError struct {
	*ApiError

	//
	// The error reason represented by an enum.
	//
	Reason *GeoTargetingError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type GeoTargetingError_Reason

type GeoTargetingError_Reason string
const (

	//
	// A location that is targeted cannot also be excluded.
	//
	GeoTargetingError_ReasonTARGETED_LOCATIONS_NOT_EXCLUDABLE GeoTargetingError_Reason = "TARGETED_LOCATIONS_NOT_EXCLUDABLE"

	//
	// Excluded locations cannot have any of their children targeted.
	//
	GeoTargetingError_ReasonEXCLUDED_LOCATIONS_CANNOT_HAVE_CHILDREN_TARGETED GeoTargetingError_Reason = "EXCLUDED_LOCATIONS_CANNOT_HAVE_CHILDREN_TARGETED"

	//
	// Postal codes cannot be excluded.
	//
	GeoTargetingError_ReasonPOSTAL_CODES_CANNOT_BE_EXCLUDED GeoTargetingError_Reason = "POSTAL_CODES_CANNOT_BE_EXCLUDED"

	//
	// Indicates that location targeting is not allowed.
	//
	GeoTargetingError_ReasonUNTARGETABLE_LOCATION GeoTargetingError_Reason = "UNTARGETABLE_LOCATION"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	GeoTargetingError_ReasonUNKNOWN GeoTargetingError_Reason = "UNKNOWN"
)

type GetAdRulesByStatement

type GetAdRulesByStatement struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 getAdRulesByStatement"`

	Statement *Statement `xml:"statement,omitempty" json:"statement,omitempty"`
}

type GetAdRulesByStatementResponse

type GetAdRulesByStatementResponse struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 getAdRulesByStatementResponse"`

	Rval *AdRulePage `xml:"rval,omitempty" json:"rval,omitempty"`
}

type GetAdSpotsByStatement

type GetAdSpotsByStatement struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 getAdSpotsByStatement"`

	FilterStatement *Statement `xml:"filterStatement,omitempty" json:"filterStatement,omitempty"`
}

type GetAdSpotsByStatementResponse

type GetAdSpotsByStatementResponse struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 getAdSpotsByStatementResponse"`

	Rval *AdSpotPage `xml:"rval,omitempty" json:"rval,omitempty"`
}

type GetBreakTemplatesByStatement

type GetBreakTemplatesByStatement struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 getBreakTemplatesByStatement"`

	FilterStatement *Statement `xml:"filterStatement,omitempty" json:"filterStatement,omitempty"`
}

type GetBreakTemplatesByStatementResponse

type GetBreakTemplatesByStatementResponse struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 getBreakTemplatesByStatementResponse"`

	Rval *BreakTemplatePage `xml:"rval,omitempty" json:"rval,omitempty"`
}

type InternalApiError

type InternalApiError struct {
	*ApiError

	//
	// The error reason represented by an enum.
	//
	Reason *InternalApiError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type InternalApiError_Reason

type InternalApiError_Reason string
const (

	//
	// API encountered an unexpected internal error.
	//
	InternalApiError_ReasonUNEXPECTED_INTERNAL_API_ERROR InternalApiError_Reason = "UNEXPECTED_INTERNAL_API_ERROR"

	//
	// A temporary error occurred during the request. Please retry.
	//
	InternalApiError_ReasonTRANSIENT_ERROR InternalApiError_Reason = "TRANSIENT_ERROR"

	//
	// The cause of the error is not known or only defined in newer versions.
	//
	InternalApiError_ReasonUNKNOWN InternalApiError_Reason = "UNKNOWN"

	//
	// The API is currently unavailable for a planned downtime.
	//
	InternalApiError_ReasonDOWNTIME InternalApiError_Reason = "DOWNTIME"

	//
	// Mutate succeeded but server was unable to build response. Client should not retry mutate.
	//
	InternalApiError_ReasonERROR_GENERATING_RESPONSE InternalApiError_Reason = "ERROR_GENERATING_RESPONSE"
)

type InventorySizeTargeting

type InventorySizeTargeting struct {

	//
	// Whether the inventory sizes should be targeted or excluded.
	//
	IsTargeted bool `xml:"isTargeted,omitempty" json:"isTargeted,omitempty"`

	//
	// A list of {@link TargetedSizeDto}s.
	//
	TargetedSizes []*TargetedSize `xml:"targetedSizes,omitempty" json:"targetedSizes,omitempty"`
}

type InventoryTargeting

type InventoryTargeting struct {

	//
	// A list of targeted {@link AdUnitTargeting}.
	//
	TargetedAdUnits []*AdUnitTargeting `xml:"targetedAdUnits,omitempty" json:"targetedAdUnits,omitempty"`

	//
	// A list of excluded {@link AdUnitTargeting}.
	//
	ExcludedAdUnits []*AdUnitTargeting `xml:"excludedAdUnits,omitempty" json:"excludedAdUnits,omitempty"`

	//
	// A list of targeted {@link Placement} ids.
	//
	TargetedPlacementIds []int64 `xml:"targetedPlacementIds,omitempty" json:"targetedPlacementIds,omitempty"`
}

type InventoryTargetingError

type InventoryTargetingError struct {
	*ApiError

	//
	// The error reason represented by an enum.
	//
	Reason *InventoryTargetingError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type InventoryTargetingError_Reason

type InventoryTargetingError_Reason string
const (

	//
	// At least one placement or inventory unit is required
	//
	InventoryTargetingError_ReasonAT_LEAST_ONE_PLACEMENT_OR_INVENTORY_UNIT_REQUIRED InventoryTargetingError_Reason = "AT_LEAST_ONE_PLACEMENT_OR_INVENTORY_UNIT_REQUIRED"

	//
	// The same inventory unit or placement cannot be targeted and excluded at
	// the same time
	//
	InventoryTargetingError_ReasonINVENTORY_CANNOT_BE_TARGETED_AND_EXCLUDED InventoryTargetingError_Reason = "INVENTORY_CANNOT_BE_TARGETED_AND_EXCLUDED"

	//
	// A child inventory unit cannot be targeted if its ancestor inventory unit
	// is also targeted.
	//
	InventoryTargetingError_ReasonINVENTORY_UNIT_CANNOT_BE_TARGETED_IF_ANCESTOR_IS_TARGETED InventoryTargetingError_Reason = "INVENTORY_UNIT_CANNOT_BE_TARGETED_IF_ANCESTOR_IS_TARGETED"

	//
	// A child inventory unit cannot be targeted if its ancestor inventory unit
	// is excluded.
	//
	InventoryTargetingError_ReasonINVENTORY_UNIT_CANNOT_BE_TARGETED_IF_ANCESTOR_IS_EXCLUDED InventoryTargetingError_Reason = "INVENTORY_UNIT_CANNOT_BE_TARGETED_IF_ANCESTOR_IS_EXCLUDED"

	//
	// A child inventory unit cannot be excluded if its ancestor inventory unit
	// is also excluded.
	//
	InventoryTargetingError_ReasonINVENTORY_UNIT_CANNOT_BE_EXCLUDED_IF_ANCESTOR_IS_EXCLUDED InventoryTargetingError_Reason = "INVENTORY_UNIT_CANNOT_BE_EXCLUDED_IF_ANCESTOR_IS_EXCLUDED"

	//
	// An explicitly targeted inventory unit cannot be targeted.
	//
	InventoryTargetingError_ReasonEXPLICITLY_TARGETED_INVENTORY_UNIT_CANNOT_BE_TARGETED InventoryTargetingError_Reason = "EXPLICITLY_TARGETED_INVENTORY_UNIT_CANNOT_BE_TARGETED"

	//
	// An explicitly targeted inventory unit cannot be excluded.
	//
	InventoryTargetingError_ReasonEXPLICITLY_TARGETED_INVENTORY_UNIT_CANNOT_BE_EXCLUDED InventoryTargetingError_Reason = "EXPLICITLY_TARGETED_INVENTORY_UNIT_CANNOT_BE_EXCLUDED"

	//
	// A landing page-only ad unit cannot be targeted.
	//
	InventoryTargetingError_ReasonSELF_ONLY_INVENTORY_UNIT_NOT_ALLOWED InventoryTargetingError_Reason = "SELF_ONLY_INVENTORY_UNIT_NOT_ALLOWED"

	//
	// A landing page-only ad unit cannot be targeted if it doesn't have any
	// children.
	//
	InventoryTargetingError_ReasonSELF_ONLY_INVENTORY_UNIT_WITHOUT_DESCENDANTS InventoryTargetingError_Reason = "SELF_ONLY_INVENTORY_UNIT_WITHOUT_DESCENDANTS"

	//
	// Audience segments shared from YouTube can only be targeted with inventory shared
	// from YouTube for cross selling.
	//
	InventoryTargetingError_ReasonYOUTUBE_AUDIENCE_SEGMENTS_CAN_ONLY_BE_TARGETED_WITH_YOUTUBE_SHARED_INVENTORY InventoryTargetingError_Reason = "YOUTUBE_AUDIENCE_SEGMENTS_CAN_ONLY_BE_TARGETED_WITH_YOUTUBE_SHARED_INVENTORY"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	InventoryTargetingError_ReasonUNKNOWN InventoryTargetingError_Reason = "UNKNOWN"
)

type InventoryUrl

type InventoryUrl struct {
	Id int64 `xml:"id,omitempty" json:"id,omitempty"`
}

type InventoryUrlTargeting

type InventoryUrlTargeting struct {
	TargetedUrls []*InventoryUrl `xml:"targetedUrls,omitempty" json:"targetedUrls,omitempty"`

	ExcludedUrls []*InventoryUrl `xml:"excludedUrls,omitempty" json:"excludedUrls,omitempty"`
}

type LineItemType

type LineItemType string
const (

	//
	// The type of {@link LineItem} for which a percentage of all the impressions that are being sold
	// are reserved.
	//
	LineItemTypeSPONSORSHIP LineItemType = "SPONSORSHIP"

	//
	// The type of {@link LineItem} for which a fixed quantity of impressions or clicks are reserved.
	//
	LineItemTypeSTANDARD LineItemType = "STANDARD"

	//
	// 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.
	//
	LineItemTypeNETWORK LineItemType = "NETWORK"

	//
	// 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.
	//
	LineItemTypeBULK LineItemType = "BULK"

	//
	// 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.
	//
	LineItemTypePRICE_PRIORITY LineItemType = "PRICE_PRIORITY"

	//
	// 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.
	//
	LineItemTypeHOUSE LineItemType = "HOUSE"

	//
	// 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.
	//
	LineItemTypeLEGACY_DFP LineItemType = "LEGACY_DFP"

	//
	// 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.
	//
	LineItemTypeCLICK_TRACKING LineItemType = "CLICK_TRACKING"

	//
	// A {@link LineItem} using dynamic allocation backed by AdSense.
	//
	LineItemTypeADSENSE LineItemType = "ADSENSE"

	//
	// A {@link LineItem} using dynamic allocation backed by the Google Ad Exchange.
	//
	LineItemTypeAD_EXCHANGE LineItemType = "AD_EXCHANGE"

	//
	// 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.
	//
	LineItemTypeBUMPER LineItemType = "BUMPER"

	//
	// A {@link LineItem} using dynamic allocation backed by AdMob.
	//
	LineItemTypeADMOB LineItemType = "ADMOB"

	//
	// 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.
	//
	LineItemTypePREFERRED_DEAL LineItemType = "PREFERRED_DEAL"

	//
	// The value returned if the actual value is not exposed by the requested API
	// version.
	//
	LineItemTypeUNKNOWN LineItemType = "UNKNOWN"
)

type Location

type Location struct {

	//
	// Uniquely identifies each {@code Location}.
	//
	Id int64 `xml:"id,omitempty" json:"id,omitempty"`

	//
	// The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
	//
	Type_ string `xml:"type,omitempty" json:"type,omitempty"`

	//
	// The nearest location parent's ID for this geographical entity.
	//
	CanonicalParentId int32 `xml:"canonicalParentId,omitempty" json:"canonicalParentId,omitempty"`

	//
	// The localized name of the geographical entity.
	//
	DisplayName string `xml:"displayName,omitempty" json:"displayName,omitempty"`
}

type MidrollFrequencyType

type MidrollFrequencyType string
const (

	//
	// The ad rule slot is not a mid-roll and hence {@code MidrollFrequency}
	// should be ignored.
	//
	MidrollFrequencyTypeNONE MidrollFrequencyType = "NONE"

	//
	// {@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".
	//
	MidrollFrequencyTypeEVERY_N_SECONDS MidrollFrequencyType = "EVERY_N_SECONDS"

	//
	// {@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".
	//
	MidrollFrequencyTypeFIXED_TIME MidrollFrequencyType = "FIXED_TIME"

	//
	// {@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".
	//
	MidrollFrequencyTypeEVERY_N_CUEPOINTS MidrollFrequencyType = "EVERY_N_CUEPOINTS"

	//
	// Same as {@link #FIXED_TIME}, except the values represent the ordinal cue
	// points ("1,3,5", for example).
	//
	MidrollFrequencyTypeFIXED_CUE_POINTS MidrollFrequencyType = "FIXED_CUE_POINTS"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	MidrollFrequencyTypeUNKNOWN MidrollFrequencyType = "UNKNOWN"
)

type MinuteOfHour

type MinuteOfHour string
const (

	//
	// Zero minutes past hour.
	//
	MinuteOfHourZERO MinuteOfHour = "ZERO"

	//
	// Fifteen minutes past hour.
	//
	MinuteOfHourFIFTEEN MinuteOfHour = "FIFTEEN"

	//
	// Thirty minutes past hour.
	//
	MinuteOfHourTHIRTY MinuteOfHour = "THIRTY"

	//
	// Forty-five minutes past hour.
	//
	MinuteOfHourFORTY_FIVE MinuteOfHour = "FORTY_FIVE"
)

type MobileApplicationTargeting

type MobileApplicationTargeting struct {

	//
	// The {@link MobileApplication#applicationId IDs} that are being targeted or excluded by the
	// {@link LineItem}.
	//
	MobileApplicationIds []int64 `xml:"mobileApplicationIds,omitempty" json:"mobileApplicationIds,omitempty"`

	//
	// Indicates whether mobile apps should be targeted or excluded. This attribute is optional and
	// defaults to {@code true}.
	//
	IsTargeted bool `xml:"isTargeted,omitempty" json:"isTargeted,omitempty"`
}

type MobileCarrier

type MobileCarrier struct {
	*Technology
}

type MobileCarrierTargeting

type MobileCarrierTargeting struct {

	//
	// Indicates whether mobile carriers should be targeted or excluded. This attribute is optional
	// and defaults to {@code true}.
	//
	IsTargeted bool `xml:"isTargeted,omitempty" json:"isTargeted,omitempty"`

	//
	// Mobile carriers that are being targeted or excluded by the {@link LineItem}.
	//
	MobileCarriers []*Technology `xml:"mobileCarriers,omitempty" json:"mobileCarriers,omitempty"`
}

type MobileDevice

type MobileDevice struct {
	*Technology

	//
	// Manufacturer Id.
	//
	ManufacturerCriterionId int64 `xml:"manufacturerCriterionId,omitempty" json:"manufacturerCriterionId,omitempty"`
}

type MobileDeviceSubmodel

type MobileDeviceSubmodel struct {
	*Technology

	//
	// The mobile device id.
	//
	MobileDeviceCriterionId int64 `xml:"mobileDeviceCriterionId,omitempty" json:"mobileDeviceCriterionId,omitempty"`

	//
	// The device manufacturer id.
	//
	DeviceManufacturerCriterionId int64 `xml:"deviceManufacturerCriterionId,omitempty" json:"deviceManufacturerCriterionId,omitempty"`
}

type MobileDeviceSubmodelTargeting

type MobileDeviceSubmodelTargeting struct {

	//
	// Mobile device submodels that are being targeted by the {@link LineItem}.
	//
	TargetedMobileDeviceSubmodels []*Technology `xml:"targetedMobileDeviceSubmodels,omitempty" json:"targetedMobileDeviceSubmodels,omitempty"`

	//
	// Mobile device submodels that are being excluded by the {@link LineItem}.
	//
	ExcludedMobileDeviceSubmodels []*Technology `xml:"excludedMobileDeviceSubmodels,omitempty" json:"excludedMobileDeviceSubmodels,omitempty"`
}

type MobileDeviceTargeting

type MobileDeviceTargeting struct {

	//
	// Mobile devices that are being targeted by the {@link LineItem}.
	//
	TargetedMobileDevices []*Technology `xml:"targetedMobileDevices,omitempty" json:"targetedMobileDevices,omitempty"`

	//
	// Mobile devices that are being excluded by the {@link LineItem}.
	//
	ExcludedMobileDevices []*Technology `xml:"excludedMobileDevices,omitempty" json:"excludedMobileDevices,omitempty"`
}

type NCName

type NCName string

type NoPoddingAdRuleSlot

type NoPoddingAdRuleSlot struct {
	*BaseAdRuleSlot
}

type NotNullError

type NotNullError struct {
	*ApiError

	//
	// The error reason represented by an enum.
	//
	Reason *NotNullError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type NotNullError_Reason

type NotNullError_Reason string
const (

	//
	// Assuming that a method will not have more than 3 arguments, if it does,
	// return NULL
	//
	NotNullError_ReasonARG1_NULL NotNullError_Reason = "ARG1_NULL"

	NotNullError_ReasonARG2_NULL NotNullError_Reason = "ARG2_NULL"

	NotNullError_ReasonARG3_NULL NotNullError_Reason = "ARG3_NULL"

	NotNullError_ReasonNULL NotNullError_Reason = "NULL"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	NotNullError_ReasonUNKNOWN NotNullError_Reason = "UNKNOWN"
)

type NumberValue

type NumberValue struct {

	//
	// The numeric value represented as a string.
	//
	Value string `xml:"value,omitempty" json:"value,omitempty"`
	// contains filtered or unexported fields
}

type ObjectValue

type ObjectValue struct {
	// contains filtered or unexported fields
}

type OperatingSystem

type OperatingSystem struct {
	*Technology
}

type OperatingSystemTargeting

type OperatingSystemTargeting struct {

	//
	// Indicates whether operating systems should be targeted or excluded. This attribute is optional
	// and defaults to {@code true}.
	//
	IsTargeted bool `xml:"isTargeted,omitempty" json:"isTargeted,omitempty"`

	//
	// Operating systems that are being targeted or excluded by the {@link LineItem}.
	//
	OperatingSystems []*Technology `xml:"operatingSystems,omitempty" json:"operatingSystems,omitempty"`
}

type OperatingSystemVersion

type OperatingSystemVersion struct {
	*Technology

	//
	// The operating system major version.
	//
	MajorVersion int32 `xml:"majorVersion,omitempty" json:"majorVersion,omitempty"`

	//
	// The operating system minor version.
	//
	MinorVersion int32 `xml:"minorVersion,omitempty" json:"minorVersion,omitempty"`

	//
	// The operating system micro version.
	//
	MicroVersion int32 `xml:"microVersion,omitempty" json:"microVersion,omitempty"`
}

type OperatingSystemVersionTargeting

type OperatingSystemVersionTargeting struct {

	//
	// Operating system versions that are being targeted by the {@link LineItem}.
	//
	TargetedOperatingSystemVersions []*Technology `xml:"targetedOperatingSystemVersions,omitempty" json:"targetedOperatingSystemVersions,omitempty"`

	//
	// Operating system versions that are being excluded by the {@link LineItem}.
	//
	ExcludedOperatingSystemVersions []*Technology `xml:"excludedOperatingSystemVersions,omitempty" json:"excludedOperatingSystemVersions,omitempty"`
}

type OptimizedPoddingAdRuleSlot

type OptimizedPoddingAdRuleSlot struct {
	*BaseAdRuleSlot
}

type ParseError

type ParseError struct {
	*ApiError

	//
	// The error reason represented by an enum.
	//
	Reason *ParseError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type ParseError_Reason

type ParseError_Reason string
const (

	//
	// Indicates an error in parsing an attribute.
	//
	ParseError_ReasonUNPARSABLE ParseError_Reason = "UNPARSABLE"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	ParseError_ReasonUNKNOWN ParseError_Reason = "UNKNOWN"
)

type PerformAdRuleAction

type PerformAdRuleAction struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 performAdRuleAction"`

	AdRuleAction *AdRuleAction `xml:"adRuleAction,omitempty" json:"adRuleAction,omitempty"`

	FilterStatement *Statement `xml:"filterStatement,omitempty" json:"filterStatement,omitempty"`
}

type PerformAdRuleActionResponse

type PerformAdRuleActionResponse struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 performAdRuleActionResponse"`

	Rval *UpdateResult `xml:"rval,omitempty" json:"rval,omitempty"`
}

type PermissionError

type PermissionError struct {
	*ApiError

	Reason *PermissionError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type PermissionError_Reason

type PermissionError_Reason string
const (

	//
	// User does not have the required permission for the request.
	//
	PermissionError_ReasonPERMISSION_DENIED PermissionError_Reason = "PERMISSION_DENIED"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	PermissionError_ReasonUNKNOWN PermissionError_Reason = "UNKNOWN"
)

type PoddingError

type PoddingError struct {
	*ApiError

	Reason *PoddingError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type PoddingError_Reason

type PoddingError_Reason string
const (

	//
	// 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}.
	//
	PoddingError_ReasonINVALID_PODDING_TYPE_NONE PoddingError_Reason = "INVALID_PODDING_TYPE_NONE"

	//
	// Invalid podding type STANDARD, but doesn't specify the max ads in pod and max ad duration
	// podding fields.
	//
	PoddingError_ReasonINVALID_PODDING_TYPE_STANDARD PoddingError_Reason = "INVALID_PODDING_TYPE_STANDARD"

	//
	// Invalid podding type OPTIMIZED, but doesn't specify pod duration.
	//
	PoddingError_ReasonINVALID_OPTIMIZED_POD_WITHOUT_DURATION PoddingError_Reason = "INVALID_OPTIMIZED_POD_WITHOUT_DURATION"

	//
	// 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.
	//
	PoddingError_ReasonINVALID_OPTIMIZED_POD_WITHOUT_ADS PoddingError_Reason = "INVALID_OPTIMIZED_POD_WITHOUT_ADS"

	//
	// Min pod ad duration is greater than max pod ad duration.
	//
	PoddingError_ReasonINVALID_POD_DURATION_RANGE PoddingError_Reason = "INVALID_POD_DURATION_RANGE"
)

type PublisherQueryLanguageContextError

type PublisherQueryLanguageContextError struct {
	*ApiError

	//
	// The error reason represented by an enum.
	//
	Reason *PublisherQueryLanguageContextError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type PublisherQueryLanguageContextError_Reason

type PublisherQueryLanguageContextError_Reason string
const (

	//
	// Indicates that there was an error executing the PQL.
	//
	PublisherQueryLanguageContextError_ReasonUNEXECUTABLE PublisherQueryLanguageContextError_Reason = "UNEXECUTABLE"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	PublisherQueryLanguageContextError_ReasonUNKNOWN PublisherQueryLanguageContextError_Reason = "UNKNOWN"
)

type PublisherQueryLanguageSyntaxError

type PublisherQueryLanguageSyntaxError struct {
	*ApiError

	//
	// The error reason represented by an enum.
	//
	Reason *PublisherQueryLanguageSyntaxError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type PublisherQueryLanguageSyntaxError_Reason

type PublisherQueryLanguageSyntaxError_Reason string
const (

	//
	// Indicates that there was a PQL syntax error.
	//
	PublisherQueryLanguageSyntaxError_ReasonUNPARSABLE PublisherQueryLanguageSyntaxError_Reason = "UNPARSABLE"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	PublisherQueryLanguageSyntaxError_ReasonUNKNOWN PublisherQueryLanguageSyntaxError_Reason = "UNKNOWN"
)

type QuotaError

type QuotaError struct {
	*ApiError

	Reason *QuotaError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type QuotaError_Reason

type QuotaError_Reason string
const (

	//
	// 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.
	//
	QuotaError_ReasonEXCEEDED_QUOTA QuotaError_Reason = "EXCEEDED_QUOTA"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	QuotaError_ReasonUNKNOWN QuotaError_Reason = "UNKNOWN"

	//
	// 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.
	//
	QuotaError_ReasonREPORT_JOB_LIMIT QuotaError_Reason = "REPORT_JOB_LIMIT"

	//
	// 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.
	//
	QuotaError_ReasonSEGMENT_POPULATION_LIMIT QuotaError_Reason = "SEGMENT_POPULATION_LIMIT"
)

type RequestHeader

type RequestHeader SoapRequestHeader

type RequestPlatform

type RequestPlatform string
const (

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	RequestPlatformUNKNOWN RequestPlatform = "UNKNOWN"

	//
	// Represents a request made from a web browser. This includes both desktop and mobile web.
	//
	RequestPlatformBROWSER RequestPlatform = "BROWSER"

	//
	// Represents a request made from a mobile application. This includes mobile app interstitial and
	// rewarded video requests.
	//
	RequestPlatformMOBILE_APP RequestPlatform = "MOBILE_APP"

	//
	// 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.
	//
	RequestPlatformVIDEO_PLAYER RequestPlatform = "VIDEO_PLAYER"
)

type RequestPlatformTargeting

type RequestPlatformTargeting struct {
	TargetedRequestPlatforms []*RequestPlatform `xml:"targetedRequestPlatforms,omitempty" json:"targetedRequestPlatforms,omitempty"`
}

type RequiredCollectionError

type RequiredCollectionError struct {
	*ApiError

	Reason *RequiredCollectionError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type RequiredCollectionError_Reason

type RequiredCollectionError_Reason string
const (

	//
	// A required collection is missing.
	//
	RequiredCollectionError_ReasonREQUIRED RequiredCollectionError_Reason = "REQUIRED"

	//
	// Collection size is too large.
	//
	RequiredCollectionError_ReasonTOO_LARGE RequiredCollectionError_Reason = "TOO_LARGE"

	//
	// Collection size is too small.
	//
	RequiredCollectionError_ReasonTOO_SMALL RequiredCollectionError_Reason = "TOO_SMALL"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	RequiredCollectionError_ReasonUNKNOWN RequiredCollectionError_Reason = "UNKNOWN"
)

type RequiredError

type RequiredError struct {
	*ApiError

	//
	// The error reason represented by an enum.
	//
	Reason *RequiredError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type RequiredError_Reason

type RequiredError_Reason string
const (

	//
	// Missing required field.
	//
	RequiredError_ReasonREQUIRED RequiredError_Reason = "REQUIRED"
)

type RequiredNumberError

type RequiredNumberError struct {
	*ApiError

	Reason *RequiredNumberError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type RequiredNumberError_Reason

type RequiredNumberError_Reason string
const (
	RequiredNumberError_ReasonREQUIRED RequiredNumberError_Reason = "REQUIRED"

	RequiredNumberError_ReasonTOO_LARGE RequiredNumberError_Reason = "TOO_LARGE"

	RequiredNumberError_ReasonTOO_SMALL RequiredNumberError_Reason = "TOO_SMALL"

	RequiredNumberError_ReasonTOO_LARGE_WITH_DETAILS RequiredNumberError_Reason = "TOO_LARGE_WITH_DETAILS"

	RequiredNumberError_ReasonTOO_SMALL_WITH_DETAILS RequiredNumberError_Reason = "TOO_SMALL_WITH_DETAILS"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	RequiredNumberError_ReasonUNKNOWN RequiredNumberError_Reason = "UNKNOWN"
)

type ResponseHeader

type ResponseHeader SoapResponseHeader

type ServerError

type ServerError struct {
	*ApiError

	Reason *ServerError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type ServerError_Reason

type ServerError_Reason string
const (

	//
	// Indicates that an unexpected error occured.
	//
	ServerError_ReasonSERVER_ERROR ServerError_Reason = "SERVER_ERROR"

	//
	// Indicates that the server is currently experiencing a high load. Please
	// wait and try your request again.
	//
	ServerError_ReasonSERVER_BUSY ServerError_Reason = "SERVER_BUSY"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	ServerError_ReasonUNKNOWN ServerError_Reason = "UNKNOWN"
)

type SetValue

type SetValue struct {

	//
	// The values. They must all be the same type of {@code Value} and not contain duplicates.
	//
	Values []*_Value `xml:"values,omitempty" json:"values,omitempty"`
	// contains filtered or unexported fields
}

type Size

type Size struct {

	//
	// The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
	//
	Width int32 `xml:"width,omitempty" json:"width,omitempty"`

	//
	// The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
	//
	Height int32 `xml:"height,omitempty" json:"height,omitempty"`

	//
	// Whether this size represents an aspect ratio.
	//
	IsAspectRatio bool `xml:"isAspectRatio,omitempty" json:"isAspectRatio,omitempty"`
}

type SoapRequestHeader

type SoapRequestHeader struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 RequestHeader"`

	//
	// The network code to use in the context of a request.
	//
	NetworkCode string `xml:"networkCode,omitempty" json:"networkCode,omitempty"`

	//
	// The name of client library application.
	//
	ApplicationName string `xml:"applicationName,omitempty" json:"applicationName,omitempty"`
}

type SoapResponseHeader

type SoapResponseHeader struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 ResponseHeader"`

	RequestId string `xml:"requestId,omitempty" json:"requestId,omitempty"`

	ResponseTime int64 `xml:"responseTime,omitempty" json:"responseTime,omitempty"`
}

type StandardPoddingAdRuleSlot

type StandardPoddingAdRuleSlot struct {
	*BaseAdRuleSlot
}

type StartDateTimeType

type StartDateTimeType string
const (

	//
	// Use the value in {@link #startDateTime}.
	//
	StartDateTimeTypeUSE_START_DATE_TIME StartDateTimeType = "USE_START_DATE_TIME"

	//
	// 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}.
	//
	StartDateTimeTypeIMMEDIATELY StartDateTimeType = "IMMEDIATELY"

	//
	// 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}.
	//
	StartDateTimeTypeONE_HOUR_FROM_NOW StartDateTimeType = "ONE_HOUR_FROM_NOW"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	StartDateTimeTypeUNKNOWN StartDateTimeType = "UNKNOWN"
)

type Statement

type Statement struct {

	//
	// 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>
	//
	Query string `xml:"query,omitempty" json:"query,omitempty"`

	//
	// 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>
	//
	Values []*String_ValueMapEntry `xml:"values,omitempty" json:"values,omitempty"`
}

type StatementError

type StatementError struct {
	*ApiError

	//
	// The error reason represented by an enum.
	//
	Reason *StatementError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type StatementError_Reason

type StatementError_Reason string
const (

	//
	// A bind variable has not been bound to a value.
	//
	StatementError_ReasonVARIABLE_NOT_BOUND_TO_VALUE StatementError_Reason = "VARIABLE_NOT_BOUND_TO_VALUE"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	StatementError_ReasonUNKNOWN StatementError_Reason = "UNKNOWN"
)

type StringFormatError

type StringFormatError struct {
	*ApiError

	Reason *StringFormatError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type StringFormatError_Reason

type StringFormatError_Reason string
const (
	StringFormatError_ReasonUNKNOWN StringFormatError_Reason = "UNKNOWN"

	//
	// The input string value contains disallowed characters.
	//
	StringFormatError_ReasonILLEGAL_CHARS StringFormatError_Reason = "ILLEGAL_CHARS"

	//
	// The input string value is invalid for the associated field.
	//
	StringFormatError_ReasonINVALID_FORMAT StringFormatError_Reason = "INVALID_FORMAT"
)

type StringLengthError

type StringLengthError struct {
	*ApiError

	Reason *StringLengthError_Reason `xml:"reason,omitempty" json:"reason,omitempty"`
}

type StringLengthError_Reason

type StringLengthError_Reason string
const (
	StringLengthError_ReasonTOO_LONG StringLengthError_Reason = "TOO_LONG"

	StringLengthError_ReasonTOO_SHORT StringLengthError_Reason = "TOO_SHORT"

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	StringLengthError_ReasonUNKNOWN StringLengthError_Reason = "UNKNOWN"
)

type String_ValueMapEntry

type String_ValueMapEntry struct {
	Key string `xml:"key,omitempty" json:"key,omitempty"`

	Value *_Value `xml:"value,omitempty" json:"value,omitempty"`
}

type TargetedSize

type TargetedSize struct {
	Size *Size `xml:"size,omitempty" json:"size,omitempty"`
}

type Targeting

type Targeting struct {

	//
	// Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is
	// optional.
	//
	GeoTargeting *GeoTargeting `xml:"geoTargeting,omitempty" json:"geoTargeting,omitempty"`

	//
	// 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.
	//
	InventoryTargeting *InventoryTargeting `xml:"inventoryTargeting,omitempty" json:"inventoryTargeting,omitempty"`

	//
	// Specifies the days of the week and times that are targeted by the {@link LineItem}. This
	// attribute is optional.
	//
	DayPartTargeting *DayPartTargeting `xml:"dayPartTargeting,omitempty" json:"dayPartTargeting,omitempty"`

	//
	// Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute
	// is optional.
	//
	DateTimeRangeTargeting *DateTimeRangeTargeting `xml:"dateTimeRangeTargeting,omitempty" json:"dateTimeRangeTargeting,omitempty"`

	//
	// Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute
	// is optional.
	//
	TechnologyTargeting *TechnologyTargeting `xml:"technologyTargeting,omitempty" json:"technologyTargeting,omitempty"`

	//
	// 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"/>
	//
	CustomTargeting *CustomCriteriaSet `xml:"customTargeting,omitempty" json:"customTargeting,omitempty"`

	//
	// 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.
	//
	UserDomainTargeting *UserDomainTargeting `xml:"userDomainTargeting,omitempty" json:"userDomainTargeting,omitempty"`

	//
	// Specifies the video categories and individual videos targeted by the {@link LineItem}.
	//
	ContentTargeting *ContentTargeting `xml:"contentTargeting,omitempty" json:"contentTargeting,omitempty"`

	//
	// Specifies targeting against video position types.
	//
	VideoPositionTargeting *VideoPositionTargeting `xml:"videoPositionTargeting,omitempty" json:"videoPositionTargeting,omitempty"`

	//
	// Specifies targeting against mobile applications.
	//
	MobileApplicationTargeting *MobileApplicationTargeting `xml:"mobileApplicationTargeting,omitempty" json:"mobileApplicationTargeting,omitempty"`

	//
	// Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link
	// ProposalLineItem}. This attribute is readonly and is populated by Google.
	//
	BuyerUserListTargeting *BuyerUserListTargeting `xml:"buyerUserListTargeting,omitempty" json:"buyerUserListTargeting,omitempty"`

	//
	// Specifies the URLs that are targeted by the entity. This is currently only supported by {@link
	// YieldGroup}.
	//
	InventoryUrlTargeting *InventoryUrlTargeting `xml:"inventoryUrlTargeting,omitempty" json:"inventoryUrlTargeting,omitempty"`

	//
	// 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.
	//
	RequestPlatformTargeting *RequestPlatformTargeting `xml:"requestPlatformTargeting,omitempty" json:"requestPlatformTargeting,omitempty"`

	//
	// Specifies the sizes that are targeted by the entity. This is currently only supported on {@link
	// YieldGroup} and {@link TrafficDataRequest}.
	//
	InventorySizeTargeting *InventorySizeTargeting `xml:"inventorySizeTargeting,omitempty" json:"inventorySizeTargeting,omitempty"`
}

type Technology

type Technology struct {

	//
	// The unique ID of the {@code Technology}. This value is required for all forms of {@code
	// TechnologyTargeting}.
	//
	Id int64 `xml:"id,omitempty" json:"id,omitempty"`

	//
	// The name of the technology being targeting. This value is read-only and is assigned by Google.
	//
	Name string `xml:"name,omitempty" json:"name,omitempty"`
}

type TechnologyTargeting

type TechnologyTargeting struct {

	//
	// The bandwidth groups being targeted by the {@link LineItem}.
	//
	BandwidthGroupTargeting *BandwidthGroupTargeting `xml:"bandwidthGroupTargeting,omitempty" json:"bandwidthGroupTargeting,omitempty"`

	//
	// The browsers being targeted by the {@link LineItem}.
	//
	BrowserTargeting *BrowserTargeting `xml:"browserTargeting,omitempty" json:"browserTargeting,omitempty"`

	//
	// The languages of browsers being targeted by the {@link LineItem}.
	//
	BrowserLanguageTargeting *BrowserLanguageTargeting `xml:"browserLanguageTargeting,omitempty" json:"browserLanguageTargeting,omitempty"`

	//
	// The device capabilities being targeted by the {@link LineItem}.
	//
	DeviceCapabilityTargeting *DeviceCapabilityTargeting `xml:"deviceCapabilityTargeting,omitempty" json:"deviceCapabilityTargeting,omitempty"`

	//
	// The device categories being targeted by the {@link LineItem}.
	//
	DeviceCategoryTargeting *DeviceCategoryTargeting `xml:"deviceCategoryTargeting,omitempty" json:"deviceCategoryTargeting,omitempty"`

	//
	// The device manufacturers being targeted by the {@link LineItem}.
	//
	DeviceManufacturerTargeting *DeviceManufacturerTargeting `xml:"deviceManufacturerTargeting,omitempty" json:"deviceManufacturerTargeting,omitempty"`

	//
	// The mobile carriers being targeted by the {@link LineItem}.
	//
	MobileCarrierTargeting *MobileCarrierTargeting `xml:"mobileCarrierTargeting,omitempty" json:"mobileCarrierTargeting,omitempty"`

	//
	// The mobile devices being targeted by the {@link LineItem}.
	//
	MobileDeviceTargeting *MobileDeviceTargeting `xml:"mobileDeviceTargeting,omitempty" json:"mobileDeviceTargeting,omitempty"`

	//
	// The mobile device submodels being targeted by the {@link LineItem}.
	//
	MobileDeviceSubmodelTargeting *MobileDeviceSubmodelTargeting `xml:"mobileDeviceSubmodelTargeting,omitempty" json:"mobileDeviceSubmodelTargeting,omitempty"`

	//
	// The operating systems being targeted by the {@link LineItem}.
	//
	OperatingSystemTargeting *OperatingSystemTargeting `xml:"operatingSystemTargeting,omitempty" json:"operatingSystemTargeting,omitempty"`

	//
	// The operating system versions being targeted by the {@link LineItem}.
	//
	OperatingSystemVersionTargeting *OperatingSystemVersionTargeting `xml:"operatingSystemVersionTargeting,omitempty" json:"operatingSystemVersionTargeting,omitempty"`
}

type TextValue

type TextValue struct {

	//
	// The string value.
	//
	Value string `xml:"value,omitempty" json:"value,omitempty"`
	// contains filtered or unexported fields
}

type TimeOfDay

type TimeOfDay struct {

	//
	// Hour in 24 hour time (0..24). This field must be between 0 and 24,
	// inclusive. This field is required.
	//
	Hour int32 `xml:"hour,omitempty" json:"hour,omitempty"`

	//
	// Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This
	// field is required.
	//
	Minute *MinuteOfHour `xml:"minute,omitempty" json:"minute,omitempty"`
}

type UniqueError

type UniqueError struct {
	*ApiError
}

type UnknownAdRuleSlot

type UnknownAdRuleSlot struct {
	*BaseAdRuleSlot
}

type UpdateAdRules

type UpdateAdRules struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 updateAdRules"`

	AdRules []*AdRule `xml:"adRules,omitempty" json:"adRules,omitempty"`
}

type UpdateAdRulesResponse

type UpdateAdRulesResponse struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 updateAdRulesResponse"`

	Rval []*AdRule `xml:"rval,omitempty" json:"rval,omitempty"`
}

type UpdateAdSpots

type UpdateAdSpots struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 updateAdSpots"`

	AdSpots []*AdSpot `xml:"adSpots,omitempty" json:"adSpots,omitempty"`
}

type UpdateAdSpotsResponse

type UpdateAdSpotsResponse struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 updateAdSpotsResponse"`

	Rval []*AdSpot `xml:"rval,omitempty" json:"rval,omitempty"`
}

type UpdateBreakTemplates

type UpdateBreakTemplates struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 updateBreakTemplates"`

	BreakTemplate []*BreakTemplate `xml:"breakTemplate,omitempty" json:"breakTemplate,omitempty"`
}

type UpdateBreakTemplatesResponse

type UpdateBreakTemplatesResponse struct {
	XMLName xml.Name `xml:"https://www.google.com/apis/ads/publisher/v202311 updateBreakTemplatesResponse"`

	Rval []*BreakTemplate `xml:"rval,omitempty" json:"rval,omitempty"`
}

type UpdateResult

type UpdateResult struct {

	//
	// The number of objects that were changed as a result of performing the
	// action.
	//
	NumChanges int32 `xml:"numChanges,omitempty" json:"numChanges,omitempty"`
}

type UserDomainTargeting

type UserDomainTargeting struct {

	//
	// 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.
	//
	Domains []string `xml:"domains,omitempty" json:"domains,omitempty"`

	//
	// Indicates whether domains should be targeted or excluded. This attribute is optional and
	// defaults to {@code true}.
	//
	Targeted bool `xml:"targeted,omitempty" json:"targeted,omitempty"`
}

type VideoBumperType

type VideoBumperType string
const (

	//
	// Represents the bumper position before the ad pod.
	//
	VideoBumperTypeBEFORE VideoBumperType = "BEFORE"

	//
	// Represents the bumper position after the ad pod.
	//
	VideoBumperTypeAFTER VideoBumperType = "AFTER"
)

type VideoPosition

type VideoPosition struct {

	//
	// The type of video position (pre-roll, mid-roll, or post-roll).
	//
	PositionType *VideoPosition_Type `xml:"positionType,omitempty" json:"positionType,omitempty"`

	//
	// The index of the mid-roll to target.  Only valid if the {@link positionType} is
	// {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.
	//
	MidrollIndex int32 `xml:"midrollIndex,omitempty" json:"midrollIndex,omitempty"`
}

type VideoPositionTarget

type VideoPositionTarget struct {

	//
	// The video position to target.  This attribute is required.
	//
	VideoPosition *VideoPosition `xml:"videoPosition,omitempty" json:"videoPosition,omitempty"`

	//
	// 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.
	//
	VideoBumperType *VideoBumperType `xml:"videoBumperType,omitempty" json:"videoBumperType,omitempty"`

	//
	// 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.
	//
	VideoPositionWithinPod *VideoPositionWithinPod `xml:"videoPositionWithinPod,omitempty" json:"videoPositionWithinPod,omitempty"`

	//
	// 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.
	//
	AdSpotId int64 `xml:"adSpotId,omitempty" json:"adSpotId,omitempty"`
}

type VideoPositionTargeting

type VideoPositionTargeting struct {

	//
	// The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.
	//
	TargetedPositions []*VideoPositionTarget `xml:"targetedPositions,omitempty" json:"targetedPositions,omitempty"`
}

type VideoPositionWithinPod

type VideoPositionWithinPod struct {

	//
	// 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.
	//
	Index int32 `xml:"index,omitempty" json:"index,omitempty"`
}

type VideoPosition_Type

type VideoPosition_Type string
const (

	//
	// The value returned if the actual value is not exposed by the requested API version.
	//
	VideoPosition_TypeUNKNOWN VideoPosition_Type = "UNKNOWN"

	//
	// This position targets all of the above video positions.
	//
	VideoPosition_TypeALL VideoPosition_Type = "ALL"

	//
	// The position defined as showing before the video starts playing.
	//
	VideoPosition_TypePREROLL VideoPosition_Type = "PREROLL"

	//
	// The position defined as showing within the middle of the playing video.
	//
	VideoPosition_TypeMIDROLL VideoPosition_Type = "MIDROLL"

	//
	// The position defined as showing after the video is completed.
	//
	VideoPosition_TypePOSTROLL VideoPosition_Type = "POSTROLL"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL