// Copyright 2026 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Code generated file. DO NOT EDIT.

// Package datamanager provides access to the Data Manager API.
//
// For product documentation, see: https://developers.google.com/data-manager
//
// # Library status
//
// These client libraries are officially supported by Google. However, this
// library is considered complete and is in maintenance mode. This means
// that we will address critical bugs and security issues but will not add
// any new features.
//
// When possible, we recommend using our newer
// [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
// that are still actively being worked and iterated on.
//
// # Creating a client
//
// Usage example:
//
//	import "google.golang.org/api/datamanager/v1"
//	...
//	ctx := context.Background()
//	datamanagerService, err := datamanager.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for
// authentication. For information on how to create and obtain Application
// Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// # Other authentication options
//
// By default, all available scopes (see "Constants") are used to authenticate.
// To restrict scopes, use [google.golang.org/api/option.WithScopes]:
//
//	datamanagerService, err := datamanager.NewService(ctx, option.WithScopes(datamanager.DatamanagerPartnerlinkScope))
//
// To use an API key for authentication (note: some APIs do not support API
// keys), use [google.golang.org/api/option.WithAPIKey]:
//
//	datamanagerService, err := datamanager.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
// flow, use [google.golang.org/api/option.WithTokenSource]:
//
//	config := &oauth2.Config{...}
//	// ...
//	token, err := config.Exchange(ctx, ...)
//	datamanagerService, err := datamanager.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See [google.golang.org/api/option.ClientOption] for details on options.
package datamanager // import "google.golang.org/api/datamanager/v1"

import (
	"bytes"
	"context"
	"encoding/json"
	"errors"
	"fmt"
	"io"
	"log/slog"
	"net/http"
	"net/url"
	"strconv"
	"strings"

	"github.com/googleapis/gax-go/v2/internallog"
	googleapi "google.golang.org/api/googleapi"
	internal "google.golang.org/api/internal"
	gensupport "google.golang.org/api/internal/gensupport"
	option "google.golang.org/api/option"
	internaloption "google.golang.org/api/option/internaloption"
	htransport "google.golang.org/api/transport/http"
)

// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = internaloption.WithDefaultEndpoint
var _ = internal.Version
var _ = internallog.New

const apiId = "datamanager:v1"
const apiName = "datamanager"
const apiVersion = "v1"
const basePath = "https://datamanager.googleapis.com/"
const basePathTemplate = "https://datamanager.UNIVERSE_DOMAIN/"
const mtlsBasePath = "https://datamanager.mtls.googleapis.com/"

// OAuth2 scopes used by this API.
const (
	// See, edit, create, import, or delete your customer data in Google Ads,
	// Google Marketing Platform (Campaign Manager 360, Search Ads 360, Display &
	// Video 360), and Google Analytics
	DatamanagerScope = "https://www.googleapis.com/auth/datamanager"

	// View, create, or delete your partner links in Google Ads, Marketing Platform
	// (Campaign Manager 360, Search Ads 360, Display & Video 360), and Analytics
	DatamanagerPartnerlinkScope = "https://www.googleapis.com/auth/datamanager.partnerlink"
)

// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
	scopesOption := internaloption.WithDefaultScopes(
		"https://www.googleapis.com/auth/datamanager",
		"https://www.googleapis.com/auth/datamanager.partnerlink",
	)
	// NOTE: prepend, so we don't override user-specified scopes.
	opts = append([]option.ClientOption{scopesOption}, opts...)
	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
	opts = append(opts, internaloption.EnableNewAuthLibrary())
	client, endpoint, err := htransport.NewClient(ctx, opts...)
	if err != nil {
		return nil, err
	}
	s := &Service{client: client, BasePath: basePath, logger: internaloption.GetLogger(opts)}
	s.AccountTypes = NewAccountTypesService(s)
	s.AdEvents = NewAdEventsService(s)
	s.AudienceMembers = NewAudienceMembersService(s)
	s.Events = NewEventsService(s)
	s.RequestStatus = NewRequestStatusService(s)
	if endpoint != "" {
		s.BasePath = endpoint
	}
	return s, nil
}

// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
	if client == nil {
		return nil, errors.New("client is nil")
	}
	return NewService(context.TODO(), option.WithHTTPClient(client))
}

type Service struct {
	client    *http.Client
	logger    *slog.Logger
	BasePath  string // API endpoint base URL
	UserAgent string // optional additional User-Agent fragment

	AccountTypes *AccountTypesService

	AdEvents *AdEventsService

	AudienceMembers *AudienceMembersService

	Events *EventsService

	RequestStatus *RequestStatusService
}

func (s *Service) userAgent() string {
	if s.UserAgent == "" {
		return googleapi.UserAgent
	}
	return googleapi.UserAgent + " " + s.UserAgent
}

func NewAccountTypesService(s *Service) *AccountTypesService {
	rs := &AccountTypesService{s: s}
	rs.Accounts = NewAccountTypesAccountsService(s)
	return rs
}

type AccountTypesService struct {
	s *Service

	Accounts *AccountTypesAccountsService
}

func NewAccountTypesAccountsService(s *Service) *AccountTypesAccountsService {
	rs := &AccountTypesAccountsService{s: s}
	rs.Insights = NewAccountTypesAccountsInsightsService(s)
	rs.PartnerLinks = NewAccountTypesAccountsPartnerLinksService(s)
	rs.UserListDirectLicenses = NewAccountTypesAccountsUserListDirectLicensesService(s)
	rs.UserListGlobalLicenses = NewAccountTypesAccountsUserListGlobalLicensesService(s)
	rs.UserLists = NewAccountTypesAccountsUserListsService(s)
	return rs
}

type AccountTypesAccountsService struct {
	s *Service

	Insights *AccountTypesAccountsInsightsService

	PartnerLinks *AccountTypesAccountsPartnerLinksService

	UserListDirectLicenses *AccountTypesAccountsUserListDirectLicensesService

	UserListGlobalLicenses *AccountTypesAccountsUserListGlobalLicensesService

	UserLists *AccountTypesAccountsUserListsService
}

func NewAccountTypesAccountsInsightsService(s *Service) *AccountTypesAccountsInsightsService {
	rs := &AccountTypesAccountsInsightsService{s: s}
	return rs
}

type AccountTypesAccountsInsightsService struct {
	s *Service
}

func NewAccountTypesAccountsPartnerLinksService(s *Service) *AccountTypesAccountsPartnerLinksService {
	rs := &AccountTypesAccountsPartnerLinksService{s: s}
	return rs
}

type AccountTypesAccountsPartnerLinksService struct {
	s *Service
}

func NewAccountTypesAccountsUserListDirectLicensesService(s *Service) *AccountTypesAccountsUserListDirectLicensesService {
	rs := &AccountTypesAccountsUserListDirectLicensesService{s: s}
	return rs
}

type AccountTypesAccountsUserListDirectLicensesService struct {
	s *Service
}

func NewAccountTypesAccountsUserListGlobalLicensesService(s *Service) *AccountTypesAccountsUserListGlobalLicensesService {
	rs := &AccountTypesAccountsUserListGlobalLicensesService{s: s}
	rs.UserListGlobalLicenseCustomerInfos = NewAccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosService(s)
	return rs
}

type AccountTypesAccountsUserListGlobalLicensesService struct {
	s *Service

	UserListGlobalLicenseCustomerInfos *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosService
}

func NewAccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosService(s *Service) *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosService {
	rs := &AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosService{s: s}
	return rs
}

type AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosService struct {
	s *Service
}

func NewAccountTypesAccountsUserListsService(s *Service) *AccountTypesAccountsUserListsService {
	rs := &AccountTypesAccountsUserListsService{s: s}
	return rs
}

type AccountTypesAccountsUserListsService struct {
	s *Service
}

func NewAdEventsService(s *Service) *AdEventsService {
	rs := &AdEventsService{s: s}
	return rs
}

type AdEventsService struct {
	s *Service
}

func NewAudienceMembersService(s *Service) *AudienceMembersService {
	rs := &AudienceMembersService{s: s}
	return rs
}

type AudienceMembersService struct {
	s *Service
}

func NewEventsService(s *Service) *EventsService {
	rs := &EventsService{s: s}
	return rs
}

type EventsService struct {
	s *Service
}

func NewRequestStatusService(s *Service) *RequestStatusService {
	rs := &RequestStatusService{s: s}
	return rs
}

type RequestStatusService struct {
	s *Service
}

type AdEvent struct {
	// Possible values:
	//   "AD_FORMAT_UNSPECIFIED"
	//   "AD_FORMAT_AR"
	//   "AD_FORMAT_AUDIO"
	//   "AD_FORMAT_BANNER"
	//   "AD_FORMAT_BUMPER"
	//   "AD_FORMAT_CAROUSEL"
	//   "AD_FORMAT_COLLECTION"
	//   "AD_FORMAT_IMAGE"
	//   "AD_FORMAT_INTERACTIVE"
	//   "AD_FORMAT_INTERSTITIAL"
	//   "AD_FORMAT_IN_FEED"
	//   "AD_FORMAT_IN_STREAM"
	//   "AD_FORMAT_IN_STREAM_SKIPPABLE"
	//   "AD_FORMAT_IN_STREAM_NON_SKIPPABLE"
	//   "AD_FORMAT_NATIVE"
	//   "AD_FORMAT_SHORTS"
	//   "AD_FORMAT_STORY"
	//   "AD_FORMAT_SPONSORED"
	//   "AD_FORMAT_VIDEO"
	AdFormat       string `json:"adFormat,omitempty"`
	AdFormatString string `json:"adFormatString,omitempty"`
	AdGroupId      string `json:"adGroupId,omitempty"`
	AdHeight       int64  `json:"adHeight,omitempty"`
	AdId           string `json:"adId,omitempty"`
	// Possible values:
	//   "AD_PLACEMENT_UNSPECIFIED"
	//   "AD_PLACEMENT_DISCOVER"
	//   "AD_PLACEMENT_FEED"
	//   "AD_PLACEMENT_FOOTER"
	//   "AD_PLACEMENT_HEADER"
	//   "AD_PLACEMENT_HOME"
	//   "AD_PLACEMENT_IN_CONTENT"
	//   "AD_PLACEMENT_PROMOTED"
	//   "AD_PLACEMENT_SEARCH"
	//   "AD_PLACEMENT_STORY"
	AdPlacement       string `json:"adPlacement,omitempty"`
	AdPlacementString string `json:"adPlacementString,omitempty"`
	// Possible values:
	//   "AD_TYPE_UNSPECIFIED"
	//   "AD_TYPE_DISPLAY"
	//   "AD_TYPE_TEXT"
	//   "AD_TYPE_IMAGE"
	//   "AD_TYPE_RICH_MEDIA"
	//   "AD_TYPE_HTML"
	//   "AD_TYPE_AUDIO"
	//   "AD_TYPE_VIDEO"
	AdType       string `json:"adType,omitempty"`
	AdTypeString string `json:"adTypeString,omitempty"`
	AdWidth      int64  `json:"adWidth,omitempty"`
	AdvertiserId string `json:"advertiserId,omitempty"`
	// Possible values:
	//   "ATTRIBUTION_HINT_UNSPECIFIED"
	//   "ATTRIBUTION_HINT_CONVERTED"
	//   "ATTRIBUTION_HINT_NOT_CONVERTED"
	AttributionHint string      `json:"attributionHint,omitempty"`
	CampaignId      string      `json:"campaignId,omitempty"`
	CampaignName    string      `json:"campaignName,omitempty"`
	DeviceInfo      *DeviceInfo `json:"deviceInfo,omitempty"`
	EventId         string      `json:"eventId,omitempty"`
	// Possible values:
	//   "EVENT_SUBTYPE_UNSPECIFIED"
	//   "EVENT_SUBTYPE_IMPRESSION"
	//   "EVENT_SUBTYPE_ENGAGED_VIEW"
	//   "EVENT_SUBTYPE_ONSITE_CLICK"
	//   "EVENT_SUBTYPE_OUTBOUND_CLICK"
	EventSubtype       string `json:"eventSubtype,omitempty"`
	EventSubtypeString string `json:"eventSubtypeString,omitempty"`
	// Possible values:
	//   "EVENT_TYPE_UNSPECIFIED"
	//   "EVENT_TYPE_VIEW"
	//   "EVENT_TYPE_CLICK"
	EventType          string `json:"eventType,omitempty"`
	IpAddress          string `json:"ipAddress,omitempty"`
	MeasurementAllowed bool   `json:"measurementAllowed,omitempty"`
	Medium             string `json:"medium,omitempty"`
	MobileDeviceId     string `json:"mobileDeviceId,omitempty"`
	// Possible values:
	//   "PLATFORM_UNSPECIFIED"
	//   "PLATFORM_IOS"
	//   "PLATFORM_ANDROID"
	//   "PLATFORM_WEB"
	Platform       string `json:"platform,omitempty"`
	PlatformString string `json:"platformString,omitempty"`
	// Possible values:
	//   "PLATFORM_TYPE_UNSPECIFIED"
	//   "PLATFORM_TYPE_MOBILE"
	//   "PLATFORM_TYPE_DESKTOP"
	//   "PLATFORM_TYPE_CTV"
	//   "PLATFORM_TYPE_PHONE"
	//   "PLATFORM_TYPE_TABLET"
	PlatformType       string `json:"platformType,omitempty"`
	PlatformTypeString string `json:"platformTypeString,omitempty"`
	RegionCode         string `json:"regionCode,omitempty"`
	Source             string `json:"source,omitempty"`
	// Possible values:
	//   "TARGETING_TYPE_UNSPECIFIED"
	//   "TARGETING_TYPE_AUDIENCE"
	//   "TARGETING_TYPE_CONTEXTUAL"
	//   "TARGETING_TYPE_DEMOGRAPHIC"
	//   "TARGETING_TYPE_DEVICE"
	//   "TARGETING_TYPE_GEO"
	//   "TARGETING_TYPE_INTEREST"
	//   "TARGETING_TYPE_PURCHASE_INTENT"
	//   "TARGETING_TYPE_REMARKETING"
	TargetingType       string           `json:"targetingType,omitempty"`
	TargetingTypeString string           `json:"targetingTypeString,omitempty"`
	Timestamp           string           `json:"timestamp,omitempty"`
	UserData            *UserData        `json:"userData,omitempty"`
	ViewabilityInfo     *ViewabilityInfo `json:"viewabilityInfo,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdFormat") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdFormat") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AdEvent) MarshalJSON() ([]byte, error) {
	type NoMethod AdEvent
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type AdIdentifiers struct {
	Dclid                 string             `json:"dclid,omitempty"`
	EncryptedUserIds      []*EncryptedUserId `json:"encryptedUserIds,omitempty"`
	Gbraid                string             `json:"gbraid,omitempty"`
	Gclid                 string             `json:"gclid,omitempty"`
	ImpressionId          string             `json:"impressionId,omitempty"`
	LandingPageDeviceInfo *DeviceInfo        `json:"landingPageDeviceInfo,omitempty"`
	MatchId               string             `json:"matchId,omitempty"`
	MobileDeviceId        string             `json:"mobileDeviceId,omitempty"`
	Ppid                  string             `json:"ppid,omitempty"`
	SessionAttributes     string             `json:"sessionAttributes,omitempty"`
	VisitorPpid           string             `json:"visitorPpid,omitempty"`
	Wbraid                string             `json:"wbraid,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Dclid") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Dclid") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AdIdentifiers) MarshalJSON() ([]byte, error) {
	type NoMethod AdIdentifiers
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type AddressInfo struct {
	AddressLine        string `json:"addressLine,omitempty"`
	AdministrativeArea string `json:"administrativeArea,omitempty"`
	City               string `json:"city,omitempty"`
	FamilyName         string `json:"familyName,omitempty"`
	GivenName          string `json:"givenName,omitempty"`
	PostalCode         string `json:"postalCode,omitempty"`
	RegionCode         string `json:"regionCode,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AddressLine") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AddressLine") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AddressInfo) MarshalJSON() ([]byte, error) {
	type NoMethod AddressInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type AudienceMember struct {
	CompositeData         *CompositeData         `json:"compositeData,omitempty"`
	Consent               *Consent               `json:"consent,omitempty"`
	DestinationReferences []string               `json:"destinationReferences,omitempty"`
	GoogleUserIdData      *GoogleUserIdData      `json:"googleUserIdData,omitempty"`
	MobileData            *MobileData            `json:"mobileData,omitempty"`
	PairData              *PairData              `json:"pairData,omitempty"`
	PartnerProvidedIdData *PartnerProvidedIdData `json:"partnerProvidedIdData,omitempty"`
	PpidData              *PpidData              `json:"ppidData,omitempty"`
	UserData              *UserData              `json:"userData,omitempty"`
	UserIdData            *UserIdData            `json:"userIdData,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CompositeData") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CompositeData") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AudienceMember) MarshalJSON() ([]byte, error) {
	type NoMethod AudienceMember
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type AwsWrappedKeyInfo struct {
	EncryptedDek string `json:"encryptedDek,omitempty"`
	KekUri       string `json:"kekUri,omitempty"`
	// Possible values:
	//   "KEY_TYPE_UNSPECIFIED"
	//   "XCHACHA20_POLY1305"
	KeyType string `json:"keyType,omitempty"`
	RoleArn string `json:"roleArn,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EncryptedDek") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EncryptedDek") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AwsWrappedKeyInfo) MarshalJSON() ([]byte, error) {
	type NoMethod AwsWrappedKeyInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type Baseline struct {
	BaselineLocation             *Location `json:"baselineLocation,omitempty"`
	LocationAutoDetectionEnabled bool      `json:"locationAutoDetectionEnabled,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BaselineLocation") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BaselineLocation") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s Baseline) MarshalJSON() ([]byte, error) {
	type NoMethod Baseline
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type CartData struct {
	CouponCodes              []string `json:"couponCodes,omitempty"`
	Items                    []*Item  `json:"items,omitempty"`
	MerchantFeedLabel        string   `json:"merchantFeedLabel,omitempty"`
	MerchantFeedLanguageCode string   `json:"merchantFeedLanguageCode,omitempty"`
	MerchantId               string   `json:"merchantId,omitempty"`
	TransactionDiscount      float64  `json:"transactionDiscount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CouponCodes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CouponCodes") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CartData) MarshalJSON() ([]byte, error) {
	type NoMethod CartData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *CartData) UnmarshalJSON(data []byte) error {
	type NoMethod CartData
	var s1 struct {
		TransactionDiscount gensupport.JSONFloat64 `json:"transactionDiscount"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.TransactionDiscount = float64(s1.TransactionDiscount)
	return nil
}

type CompositeData struct {
	IpData   []*IpData `json:"ipData,omitempty"`
	UserData *UserData `json:"userData,omitempty"`
	// ForceSendFields is a list of field names (e.g. "IpData") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IpData") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CompositeData) MarshalJSON() ([]byte, error) {
	type NoMethod CompositeData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type Consent struct {
	// Possible values:
	//   "CONSENT_STATUS_UNSPECIFIED"
	//   "CONSENT_GRANTED"
	//   "CONSENT_DENIED"
	AdPersonalization string `json:"adPersonalization,omitempty"`
	// Possible values:
	//   "CONSENT_STATUS_UNSPECIFIED"
	//   "CONSENT_GRANTED"
	//   "CONSENT_DENIED"
	AdUserData string `json:"adUserData,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdPersonalization") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdPersonalization") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s Consent) MarshalJSON() ([]byte, error) {
	type NoMethod Consent
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type ContactIdInfo struct {
	// Possible values:
	//   "DATA_SOURCE_TYPE_UNSPECIFIED"
	//   "DATA_SOURCE_TYPE_FIRST_PARTY"
	//   "DATA_SOURCE_TYPE_THIRD_PARTY_CREDIT_BUREAU"
	//   "DATA_SOURCE_TYPE_THIRD_PARTY_VOTER_FILE"
	//   "DATA_SOURCE_TYPE_THIRD_PARTY_PARTNER_DATA"
	DataSourceType      string `json:"dataSourceType,omitempty"`
	MatchRatePercentage int64  `json:"matchRatePercentage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataSourceType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataSourceType") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ContactIdInfo) MarshalJSON() ([]byte, error) {
	type NoMethod ContactIdInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type CoordinatorKeyInfo struct {
	KeyId string `json:"keyId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "KeyId") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "KeyId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CoordinatorKeyInfo) MarshalJSON() ([]byte, error) {
	type NoMethod CoordinatorKeyInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type CustomVariable struct {
	DestinationReferences []string `json:"destinationReferences,omitempty"`
	Value                 string   `json:"value,omitempty"`
	Variable              string   `json:"variable,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DestinationReferences") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DestinationReferences") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CustomVariable) MarshalJSON() ([]byte, error) {
	type NoMethod CustomVariable
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type DataTypeCount struct {
	Count int64 `json:"count,omitempty,string"`
	// Possible values:
	//   "DATA_TYPE_UNSPECIFIED"
	//   "EMAIL"
	//   "PHONE_NUMBER"
	//   "ADDRESS"
	//   "IP_ADDRESS"
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Count") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DataTypeCount) MarshalJSON() ([]byte, error) {
	type NoMethod DataTypeCount
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type Destination struct {
	LinkedAccount        *ProductAccount `json:"linkedAccount,omitempty"`
	LoginAccount         *ProductAccount `json:"loginAccount,omitempty"`
	OperatingAccount     *ProductAccount `json:"operatingAccount,omitempty"`
	ProductDestinationId string          `json:"productDestinationId,omitempty"`
	Reference            string          `json:"reference,omitempty"`
	// ForceSendFields is a list of field names (e.g. "LinkedAccount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "LinkedAccount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s Destination) MarshalJSON() ([]byte, error) {
	type NoMethod Destination
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type DeviceInfo struct {
	Brand                  string `json:"brand,omitempty"`
	Browser                string `json:"browser,omitempty"`
	BrowserVersion         string `json:"browserVersion,omitempty"`
	Category               string `json:"category,omitempty"`
	IpAddress              string `json:"ipAddress,omitempty"`
	LanguageCode           string `json:"languageCode,omitempty"`
	Model                  string `json:"model,omitempty"`
	OperatingSystem        string `json:"operatingSystem,omitempty"`
	OperatingSystemVersion string `json:"operatingSystemVersion,omitempty"`
	ScreenHeight           int64  `json:"screenHeight,omitempty"`
	ScreenWidth            int64  `json:"screenWidth,omitempty"`
	UserAgent              string `json:"userAgent,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Brand") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Brand") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DeviceInfo) MarshalJSON() ([]byte, error) {
	type NoMethod DeviceInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type Empty struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

type EncryptedUserId struct {
	EncryptedId string `json:"encryptedId,omitempty"`
	EntityId    int64  `json:"entityId,omitempty,string"`
	// Possible values:
	//   "ENCRYPTION_ENTITY_TYPE_UNSPECIFIED"
	//   "CAMPAIGN_MANAGER_ACCOUNT"
	//   "CAMPAIGN_MANAGER_ADVERTISER"
	//   "DISPLAY_VIDEO_PARTNER"
	//   "DISPLAY_VIDEO_ADVERTISER"
	//   "GOOGLE_ADS_CUSTOMER"
	//   "GOOGLE_AD_MANAGER_NETWORK_CODE"
	EntityType string `json:"entityType,omitempty"`
	// Possible values:
	//   "ENCRYPTION_SOURCE_UNSPECIFIED"
	//   "AD_SERVING"
	//   "DATA_TRANSFER"
	Source string `json:"source,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EncryptedId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EncryptedId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s EncryptedUserId) MarshalJSON() ([]byte, error) {
	type NoMethod EncryptedUserId
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type EncryptionInfo struct {
	AwsWrappedKeyInfo  *AwsWrappedKeyInfo  `json:"awsWrappedKeyInfo,omitempty"`
	CoordinatorKeyInfo *CoordinatorKeyInfo `json:"coordinatorKeyInfo,omitempty"`
	GcpWrappedKeyInfo  *GcpWrappedKeyInfo  `json:"gcpWrappedKeyInfo,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AwsWrappedKeyInfo") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AwsWrappedKeyInfo") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s EncryptionInfo) MarshalJSON() ([]byte, error) {
	type NoMethod EncryptionInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type ErrorCount struct {
	// Possible values:
	//   "PROCESSING_ERROR_REASON_UNSPECIFIED"
	//   "PROCESSING_ERROR_REASON_INVALID_CUSTOM_VARIABLE"
	//   "PROCESSING_ERROR_REASON_CUSTOM_VARIABLE_NOT_ENABLED"
	//   "PROCESSING_ERROR_REASON_EVENT_TOO_OLD"
	//   "PROCESSING_ERROR_REASON_DENIED_CONSENT"
	//   "PROCESSING_ERROR_REASON_NO_CONSENT"
	//   "PROCESSING_ERROR_REASON_UNKNOWN_CONSENT"
	//   "PROCESSING_ERROR_REASON_DUPLICATE_GCLID"
	//   "PROCESSING_ERROR_REASON_DUPLICATE_TRANSACTION_ID"
	//   "PROCESSING_ERROR_REASON_INVALID_GBRAID"
	//   "PROCESSING_ERROR_REASON_INVALID_GCLID"
	//   "PROCESSING_ERROR_REASON_INVALID_MERCHANT_ID"
	//   "PROCESSING_ERROR_REASON_INVALID_WBRAID"
	//   "PROCESSING_ERROR_REASON_INTERNAL_ERROR"
	//
	// "PROCESSING_ERROR_REASON_DESTINATION_ACCOUNT_ENHANCED_CONVERSIONS_TERMS_NOT_S
	// IGNED"
	//   "PROCESSING_ERROR_REASON_INVALID_EVENT"
	//   "PROCESSING_ERROR_REASON_INSUFFICIENT_MATCHED_TRANSACTIONS"
	//   "PROCESSING_ERROR_REASON_INSUFFICIENT_TRANSACTIONS"
	//   "PROCESSING_ERROR_REASON_INVALID_FORMAT"
	//   "PROCESSING_ERROR_REASON_DECRYPTION_ERROR"
	//   "PROCESSING_ERROR_REASON_DEK_DECRYPTION_ERROR"
	//   "PROCESSING_ERROR_REASON_INVALID_WIP"
	//   "PROCESSING_ERROR_REASON_INVALID_KEK"
	//   "PROCESSING_ERROR_REASON_WIP_AUTH_FAILED"
	//   "PROCESSING_ERROR_REASON_KEK_PERMISSION_DENIED"
	//   "PROCESSING_ERROR_REASON_AWS_AUTH_FAILED"
	//   "PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR"
	//   "PROCESSING_ERROR_OPERATING_ACCOUNT_MISMATCH_FOR_AD_IDENTIFIER"
	//
	// "PROCESSING_ERROR_REASON_ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_B
	// RAID"
	//   "PROCESSING_ERROR_REASON_MATCH_ID_NOT_FOUND"
	//   "PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_MATCH_ID"
	//   "PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_GCLID"
	//   "PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_DCLID"
	//   "PROCESSING_ERROR_REASON_INVALID_AD_IDENTIFIERS"
	//   "PROCESSING_ERROR_REASON_INVALID_MOBILE_ID_FORMAT"
	//   "PROCESSING_ERROR_REASON_ORIGINAL_CONVERSIONS_NOT_FOUND"
	//   "PROCESSING_ERROR_REASON_EVENT_ID_DECODE_ERROR"
	//   "PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_IMPRESSION_ID"
	//   "PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND"
	//   "PROCESSING_ERROR_REASON_CONVERSION_PRECEDES_CLICK"
	//   "PROCESSING_ERROR_REASON_TOO_RECENT_CLICK"
	//   "PROCESSING_ERROR_REASON_INVALID_CLICK"
	//   "PROCESSING_ERROR_REASON_INVALID_OPERATING_ACCOUNT_FOR_CLICK"
	//   "PROCESSING_ERROR_REASON_CLICK_NOT_FOUND"
	//   "PROCESSING_ERROR_REASON_EXTERNAL_ATTRIBUTION_DATA_MISSING"
	Reason      string `json:"reason,omitempty"`
	RecordCount int64  `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "Reason") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Reason") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ErrorCount) MarshalJSON() ([]byte, error) {
	type NoMethod ErrorCount
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type ErrorInfo struct {
	ErrorCounts []*ErrorCount `json:"errorCounts,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ErrorCounts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ErrorCounts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ErrorInfo) MarshalJSON() ([]byte, error) {
	type NoMethod ErrorInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type Event struct {
	AdIdentifiers             *AdIdentifiers    `json:"adIdentifiers,omitempty"`
	AdditionalEventParameters []*EventParameter `json:"additionalEventParameters,omitempty"`
	AppInstanceId             string            `json:"appInstanceId,omitempty"`
	CartData                  *CartData         `json:"cartData,omitempty"`
	ClientId                  string            `json:"clientId,omitempty"`
	Consent                   *Consent          `json:"consent,omitempty"`
	ConversionCount           float64           `json:"conversionCount,omitempty"`
	ConversionValue           float64           `json:"conversionValue,omitempty"`
	Currency                  string            `json:"currency,omitempty"`
	CustomVariables           []*CustomVariable `json:"customVariables,omitempty"`
	DestinationReferences     []string          `json:"destinationReferences,omitempty"`
	EventDeviceInfo           *DeviceInfo       `json:"eventDeviceInfo,omitempty"`
	EventLocation             *EventLocation    `json:"eventLocation,omitempty"`
	EventName                 string            `json:"eventName,omitempty"`
	// Possible values:
	//   "EVENT_SOURCE_UNSPECIFIED"
	//   "WEB"
	//   "APP"
	//   "IN_STORE"
	//   "PHONE"
	//   "MESSAGE"
	//   "OTHER"
	EventSource          string               `json:"eventSource,omitempty"`
	EventTimestamp       string               `json:"eventTimestamp,omitempty"`
	ExperimentalFields   []*ExperimentalField `json:"experimentalFields,omitempty"`
	LastUpdatedTimestamp string               `json:"lastUpdatedTimestamp,omitempty"`
	ThirdPartyUserData   *UserData            `json:"thirdPartyUserData,omitempty"`
	TransactionId        string               `json:"transactionId,omitempty"`
	UserData             *UserData            `json:"userData,omitempty"`
	UserId               string               `json:"userId,omitempty"`
	UserProperties       *UserProperties      `json:"userProperties,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdIdentifiers") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdIdentifiers") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s Event) MarshalJSON() ([]byte, error) {
	type NoMethod Event
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *Event) UnmarshalJSON(data []byte) error {
	type NoMethod Event
	var s1 struct {
		ConversionCount gensupport.JSONFloat64 `json:"conversionCount"`
		ConversionValue gensupport.JSONFloat64 `json:"conversionValue"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConversionCount = float64(s1.ConversionCount)
	s.ConversionValue = float64(s1.ConversionValue)
	return nil
}

type EventLocation struct {
	City             string `json:"city,omitempty"`
	ContinentCode    string `json:"continentCode,omitempty"`
	RegionCode       string `json:"regionCode,omitempty"`
	StoreId          string `json:"storeId,omitempty"`
	SubcontinentCode string `json:"subcontinentCode,omitempty"`
	SubdivisionCode  string `json:"subdivisionCode,omitempty"`
	// ForceSendFields is a list of field names (e.g. "City") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "City") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s EventLocation) MarshalJSON() ([]byte, error) {
	type NoMethod EventLocation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type EventParameter struct {
	ParameterName string `json:"parameterName,omitempty"`
	Value         string `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ParameterName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ParameterName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s EventParameter) MarshalJSON() ([]byte, error) {
	type NoMethod EventParameter
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type ExperimentalField struct {
	Field string `json:"field,omitempty"`
	Value string `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Field") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Field") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ExperimentalField) MarshalJSON() ([]byte, error) {
	type NoMethod ExperimentalField
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type FieldWarning struct {
	Description string `json:"description,omitempty"`
	Field       string `json:"field,omitempty"`
	// Possible values:
	//   "WARNING_REASON_UNSPECIFIED"
	//   "WARNING_REASON_CUSTOM_VARIABLE_NOT_ENABLED"
	//   "WARNING_REASON_CUSTOM_VARIABLE_NOT_PREDEFINED"
	//   "WARNING_REASON_CART_DATA_NOT_SUPPORTED_WITH_GBRAID_OR_WBRAID"
	//   "WARNING_REASON_CART_DATA_ITEM_MERCHANT_PRODUCT_ID_MISSING"
	//   "WARNING_REASON_CART_DATA_ITEM_UNIT_PRICE_MISSING"
	//   "WARNING_REASON_GENERIC"
	//   "WARNING_REASON_INVALID_CLIENT_ID"
	//   "WARNING_REASON_INVALID_SUBDIVISION_CODE"
	//   "WARNING_REASON_INVALID_REGION_CODE"
	//   "WARNING_REASON_INVALID_SUBCONTINENT_CODE"
	//   "WARNING_REASON_INVALID_CONTINENT_CODE"
	//   "WARNING_REASON_INVALID_DEVICE_CATEGORY"
	//   "WARNING_REASON_INVALID_DEVICE_SCREEN_RESOLUTION"
	//   "WARNING_REASON_INVALID_MERCHANT_ID"
	Reason string `json:"reason,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Description") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Description") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s FieldWarning) MarshalJSON() ([]byte, error) {
	type NoMethod FieldWarning
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GcpWrappedKeyInfo struct {
	EncryptedDek string `json:"encryptedDek,omitempty"`
	KekUri       string `json:"kekUri,omitempty"`
	// Possible values:
	//   "KEY_TYPE_UNSPECIFIED"
	//   "XCHACHA20_POLY1305"
	KeyType     string `json:"keyType,omitempty"`
	WipProvider string `json:"wipProvider,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EncryptedDek") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EncryptedDek") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GcpWrappedKeyInfo) MarshalJSON() ([]byte, error) {
	type NoMethod GcpWrappedKeyInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type GoogleUserIdData struct {
	GoogleUserIds []string `json:"googleUserIds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GoogleUserIds") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GoogleUserIds") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleUserIdData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleUserIdData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestAdEventsRequest struct {
	AdEvents       []*AdEvent      `json:"adEvents,omitempty"`
	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
	ValidateOnly   bool            `json:"validateOnly,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdEvents") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdEvents") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestAdEventsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod IngestAdEventsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestAdEventsResponse struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

type IngestAudienceMembersRequest struct {
	AudienceMembers []*AudienceMember `json:"audienceMembers,omitempty"`
	Consent         *Consent          `json:"consent,omitempty"`
	Destinations    []*Destination    `json:"destinations,omitempty"`
	// Possible values:
	//   "ENCODING_UNSPECIFIED"
	//   "HEX"
	//   "BASE64"
	Encoding       string          `json:"encoding,omitempty"`
	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
	TermsOfService *TermsOfService `json:"termsOfService,omitempty"`
	ValidateOnly   bool            `json:"validateOnly,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AudienceMembers") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AudienceMembers") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestAudienceMembersRequest) MarshalJSON() ([]byte, error) {
	type NoMethod IngestAudienceMembersRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestAudienceMembersResponse struct {
	FieldWarnings []*FieldWarning `json:"fieldWarnings,omitempty"`
	RequestId     string          `json:"requestId,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "FieldWarnings") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FieldWarnings") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestAudienceMembersResponse) MarshalJSON() ([]byte, error) {
	type NoMethod IngestAudienceMembersResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestAudienceMembersStatus struct {
	CompositeDataIngestionStatus         *IngestCompositeDataStatus         `json:"compositeDataIngestionStatus,omitempty"`
	GoogleUserIdDataIngestionStatus      *IngestGoogleUserIdDataStatus      `json:"googleUserIdDataIngestionStatus,omitempty"`
	MobileDataIngestionStatus            *IngestMobileDataStatus            `json:"mobileDataIngestionStatus,omitempty"`
	PairDataIngestionStatus              *IngestPairDataStatus              `json:"pairDataIngestionStatus,omitempty"`
	PartnerProvidedIdDataIngestionStatus *IngestPartnerProvidedIdDataStatus `json:"partnerProvidedIdDataIngestionStatus,omitempty"`
	PpidDataIngestionStatus              *IngestPpidDataStatus              `json:"ppidDataIngestionStatus,omitempty"`
	UserDataIngestionStatus              *IngestUserDataStatus              `json:"userDataIngestionStatus,omitempty"`
	UserIdDataIngestionStatus            *IngestUserIdDataStatus            `json:"userIdDataIngestionStatus,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "CompositeDataIngestionStatus") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CompositeDataIngestionStatus") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestAudienceMembersStatus) MarshalJSON() ([]byte, error) {
	type NoMethod IngestAudienceMembersStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestCompositeDataStatus struct {
	DataTypeCounts []*DataTypeCount `json:"dataTypeCounts,omitempty"`
	RecordCount    int64            `json:"recordCount,omitempty,string"`
	// Possible values:
	//   "MATCH_RATE_RANGE_UNKNOWN"
	//   "MATCH_RATE_RANGE_NOT_ELIGIBLE"
	//   "MATCH_RATE_RANGE_LESS_THAN_20"
	//   "MATCH_RATE_RANGE_20_TO_30"
	//   "MATCH_RATE_RANGE_31_TO_40"
	//   "MATCH_RATE_RANGE_41_TO_50"
	//   "MATCH_RATE_RANGE_51_TO_60"
	//   "MATCH_RATE_RANGE_61_TO_70"
	//   "MATCH_RATE_RANGE_71_TO_80"
	//   "MATCH_RATE_RANGE_81_TO_90"
	//   "MATCH_RATE_RANGE_91_TO_100"
	UploadMatchRateRange string `json:"uploadMatchRateRange,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataTypeCounts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataTypeCounts") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestCompositeDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod IngestCompositeDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestEventsRequest struct {
	Consent      *Consent       `json:"consent,omitempty"`
	Destinations []*Destination `json:"destinations,omitempty"`
	// Possible values:
	//   "ENCODING_UNSPECIFIED"
	//   "HEX"
	//   "BASE64"
	Encoding       string          `json:"encoding,omitempty"`
	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
	Events         []*Event        `json:"events,omitempty"`
	ValidateOnly   bool            `json:"validateOnly,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Consent") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Consent") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestEventsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod IngestEventsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestEventsResponse struct {
	FieldWarnings []*FieldWarning `json:"fieldWarnings,omitempty"`
	RequestId     string          `json:"requestId,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "FieldWarnings") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FieldWarnings") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestEventsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod IngestEventsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestEventsStatus struct {
	RecordCount int64 `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "RecordCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RecordCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestEventsStatus) MarshalJSON() ([]byte, error) {
	type NoMethod IngestEventsStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestGoogleUserIdDataStatus struct {
	GoogleUserIdCount int64 `json:"googleUserIdCount,omitempty,string"`
	RecordCount       int64 `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "GoogleUserIdCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GoogleUserIdCount") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestGoogleUserIdDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod IngestGoogleUserIdDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestMobileDataStatus struct {
	MobileIdCount int64 `json:"mobileIdCount,omitempty,string"`
	RecordCount   int64 `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "MobileIdCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MobileIdCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestMobileDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod IngestMobileDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestPairDataStatus struct {
	PairIdCount int64 `json:"pairIdCount,omitempty,string"`
	RecordCount int64 `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "PairIdCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PairIdCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestPairDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod IngestPairDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestPartnerProvidedIdDataStatus struct {
	PartnerProvidedIdCount int64 `json:"partnerProvidedIdCount,omitempty,string"`
	RecordCount            int64 `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "PartnerProvidedIdCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PartnerProvidedIdCount") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestPartnerProvidedIdDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod IngestPartnerProvidedIdDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestPpidDataStatus struct {
	PpidCount   int64 `json:"ppidCount,omitempty,string"`
	RecordCount int64 `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "PpidCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PpidCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestPpidDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod IngestPpidDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestUserDataStatus struct {
	RecordCount int64 `json:"recordCount,omitempty,string"`
	// Possible values:
	//   "MATCH_RATE_RANGE_UNKNOWN"
	//   "MATCH_RATE_RANGE_NOT_ELIGIBLE"
	//   "MATCH_RATE_RANGE_LESS_THAN_20"
	//   "MATCH_RATE_RANGE_20_TO_30"
	//   "MATCH_RATE_RANGE_31_TO_40"
	//   "MATCH_RATE_RANGE_41_TO_50"
	//   "MATCH_RATE_RANGE_51_TO_60"
	//   "MATCH_RATE_RANGE_61_TO_70"
	//   "MATCH_RATE_RANGE_71_TO_80"
	//   "MATCH_RATE_RANGE_81_TO_90"
	//   "MATCH_RATE_RANGE_91_TO_100"
	UploadMatchRateRange string `json:"uploadMatchRateRange,omitempty"`
	UserIdentifierCount  int64  `json:"userIdentifierCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "RecordCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RecordCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestUserDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod IngestUserDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestUserIdDataStatus struct {
	RecordCount int64 `json:"recordCount,omitempty,string"`
	UserIdCount int64 `json:"userIdCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "RecordCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RecordCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestUserIdDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod IngestUserIdDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IngestedUserListInfo struct {
	ContactIdInfo       *ContactIdInfo       `json:"contactIdInfo,omitempty"`
	MobileIdInfo        *MobileIdInfo        `json:"mobileIdInfo,omitempty"`
	PairIdInfo          *PairIdInfo          `json:"pairIdInfo,omitempty"`
	PartnerAudienceInfo *PartnerAudienceInfo `json:"partnerAudienceInfo,omitempty"`
	PseudonymousIdInfo  *PseudonymousIdInfo  `json:"pseudonymousIdInfo,omitempty"`
	// Possible values:
	//   "UPLOAD_KEY_TYPE_UNSPECIFIED"
	//   "CONTACT_ID"
	//   "MOBILE_ID"
	//   "USER_ID"
	//   "PAIR_ID"
	//   "PSEUDONYMOUS_ID"
	UploadKeyTypes []string    `json:"uploadKeyTypes,omitempty"`
	UserIdInfo     *UserIdInfo `json:"userIdInfo,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ContactIdInfo") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ContactIdInfo") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngestedUserListInfo) MarshalJSON() ([]byte, error) {
	type NoMethod IngestedUserListInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type IpData struct {
	IpAddress        string `json:"ipAddress,omitempty"`
	ObserveEndTime   string `json:"observeEndTime,omitempty"`
	ObserveStartTime string `json:"observeStartTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "IpAddress") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IpAddress") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IpData) MarshalJSON() ([]byte, error) {
	type NoMethod IpData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type Item struct {
	AdditionalItemParameters []*ItemParameter      `json:"additionalItemParameters,omitempty"`
	ConversionValue          float64               `json:"conversionValue,omitempty"`
	CustomVariables          []*ItemCustomVariable `json:"customVariables,omitempty"`
	ItemId                   string                `json:"itemId,omitempty"`
	MerchantFeedLabel        string                `json:"merchantFeedLabel,omitempty"`
	MerchantFeedLanguageCode string                `json:"merchantFeedLanguageCode,omitempty"`
	MerchantId               string                `json:"merchantId,omitempty"`
	MerchantProductId        string                `json:"merchantProductId,omitempty"`
	Quantity                 int64                 `json:"quantity,omitempty,string"`
	UnitPrice                float64               `json:"unitPrice,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalItemParameters")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalItemParameters") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s Item) MarshalJSON() ([]byte, error) {
	type NoMethod Item
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *Item) UnmarshalJSON(data []byte) error {
	type NoMethod Item
	var s1 struct {
		ConversionValue gensupport.JSONFloat64 `json:"conversionValue"`
		UnitPrice       gensupport.JSONFloat64 `json:"unitPrice"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ConversionValue = float64(s1.ConversionValue)
	s.UnitPrice = float64(s1.UnitPrice)
	return nil
}

type ItemCustomVariable struct {
	DestinationReferences []string `json:"destinationReferences,omitempty"`
	Value                 string   `json:"value,omitempty"`
	Variable              string   `json:"variable,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DestinationReferences") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DestinationReferences") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ItemCustomVariable) MarshalJSON() ([]byte, error) {
	type NoMethod ItemCustomVariable
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type ItemParameter struct {
	ParameterName string `json:"parameterName,omitempty"`
	Value         string `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ParameterName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ParameterName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ItemParameter) MarshalJSON() ([]byte, error) {
	type NoMethod ItemParameter
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type ListUserListDirectLicensesResponse struct {
	NextPageToken          string                   `json:"nextPageToken,omitempty"`
	UserListDirectLicenses []*UserListDirectLicense `json:"userListDirectLicenses,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListUserListDirectLicensesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListUserListDirectLicensesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type ListUserListGlobalLicenseCustomerInfosResponse struct {
	NextPageToken                      string                               `json:"nextPageToken,omitempty"`
	UserListGlobalLicenseCustomerInfos []*UserListGlobalLicenseCustomerInfo `json:"userListGlobalLicenseCustomerInfos,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListUserListGlobalLicenseCustomerInfosResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListUserListGlobalLicenseCustomerInfosResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type ListUserListGlobalLicensesResponse struct {
	NextPageToken          string                   `json:"nextPageToken,omitempty"`
	UserListGlobalLicenses []*UserListGlobalLicense `json:"userListGlobalLicenses,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListUserListGlobalLicensesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListUserListGlobalLicensesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type ListUserListsResponse struct {
	NextPageToken string      `json:"nextPageToken,omitempty"`
	UserLists     []*UserList `json:"userLists,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListUserListsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListUserListsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type Location struct {
	RegionCodes []string `json:"regionCodes,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RegionCodes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RegionCodes") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s Location) MarshalJSON() ([]byte, error) {
	type NoMethod Location
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type MarketingDataInsight struct {
	Attributes []*MarketingDataInsightsAttribute `json:"attributes,omitempty"`
	// Possible values:
	//   "AUDIENCE_INSIGHTS_DIMENSION_UNSPECIFIED"
	//   "AUDIENCE_INSIGHTS_DIMENSION_UNKNOWN"
	//   "AFFINITY_USER_INTEREST"
	//   "IN_MARKET_USER_INTEREST"
	//   "AGE_RANGE"
	//   "GENDER"
	Dimension string `json:"dimension,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Attributes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Attributes") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s MarketingDataInsight) MarshalJSON() ([]byte, error) {
	type NoMethod MarketingDataInsight
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type MarketingDataInsightsAttribute struct {
	// Possible values:
	//   "AGE_RANGE_UNSPECIFIED"
	//   "AGE_RANGE_UNKNOWN"
	//   "AGE_RANGE_18_24"
	//   "AGE_RANGE_25_34"
	//   "AGE_RANGE_35_44"
	//   "AGE_RANGE_45_54"
	//   "AGE_RANGE_55_64"
	//   "AGE_RANGE_65_UP"
	AgeRange string `json:"ageRange,omitempty"`
	// Possible values:
	//   "GENDER_UNSPECIFIED"
	//   "GENDER_UNKNOWN"
	//   "GENDER_MALE"
	//   "GENDER_FEMALE"
	Gender         string  `json:"gender,omitempty"`
	Lift           float64 `json:"lift,omitempty"`
	UserInterestId int64   `json:"userInterestId,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "AgeRange") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AgeRange") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s MarketingDataInsightsAttribute) MarshalJSON() ([]byte, error) {
	type NoMethod MarketingDataInsightsAttribute
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *MarketingDataInsightsAttribute) UnmarshalJSON(data []byte) error {
	type NoMethod MarketingDataInsightsAttribute
	var s1 struct {
		Lift gensupport.JSONFloat64 `json:"lift"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Lift = float64(s1.Lift)
	return nil
}

type MobileData struct {
	MobileIds []string `json:"mobileIds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MobileIds") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MobileIds") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s MobileData) MarshalJSON() ([]byte, error) {
	type NoMethod MobileData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type MobileIdInfo struct {
	AppId string `json:"appId,omitempty"`
	// Possible values:
	//   "DATA_SOURCE_TYPE_UNSPECIFIED"
	//   "DATA_SOURCE_TYPE_FIRST_PARTY"
	//   "DATA_SOURCE_TYPE_THIRD_PARTY_CREDIT_BUREAU"
	//   "DATA_SOURCE_TYPE_THIRD_PARTY_VOTER_FILE"
	//   "DATA_SOURCE_TYPE_THIRD_PARTY_PARTNER_DATA"
	DataSourceType string `json:"dataSourceType,omitempty"`
	// Possible values:
	//   "KEY_SPACE_UNSPECIFIED"
	//   "IOS"
	//   "ANDROID"
	KeySpace string `json:"keySpace,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AppId") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AppId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s MobileIdInfo) MarshalJSON() ([]byte, error) {
	type NoMethod MobileIdInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type PairData struct {
	PairIds []string `json:"pairIds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PairIds") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PairIds") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PairData) MarshalJSON() ([]byte, error) {
	type NoMethod PairData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type PairIdInfo struct {
	AdvertiserIdentifierCount int64  `json:"advertiserIdentifierCount,omitempty,string"`
	CleanRoomIdentifier       string `json:"cleanRoomIdentifier,omitempty"`
	MatchRatePercentage       int64  `json:"matchRatePercentage,omitempty"`
	PublisherId               int64  `json:"publisherId,omitempty,string"`
	PublisherName             string `json:"publisherName,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdvertiserIdentifierCount")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdvertiserIdentifierCount") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PairIdInfo) MarshalJSON() ([]byte, error) {
	type NoMethod PairIdInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type PartnerAudienceInfo struct {
	CommercePartner string `json:"commercePartner,omitempty"`
	// Possible values:
	//   "PARTNER_AUDIENCE_SOURCE_UNSPECIFIED"
	//   "COMMERCE_AUDIENCE"
	//   "LINEAR_TV_AUDIENCE"
	//   "AGENCY_PROVIDER_AUDIENCE"
	PartnerAudienceSource string `json:"partnerAudienceSource,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CommercePartner") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CommercePartner") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PartnerAudienceInfo) MarshalJSON() ([]byte, error) {
	type NoMethod PartnerAudienceInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type PartnerCustomerAccount struct {
	AccountId   string `json:"accountId,omitempty"`
	AccountName string `json:"accountName,omitempty"`
	AccountType string `json:"accountType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AccountId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AccountId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PartnerCustomerAccount) MarshalJSON() ([]byte, error) {
	type NoMethod PartnerCustomerAccount
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type PartnerLink struct {
	// Possible values:
	//   "FEATURE_SET_UNSPECIFIED"
	//   "FEATURE_SET_AUDIENCE_AND_EVENT_MANAGEMENT"
	//   "FEATURE_SET_AD_EVENT_MANAGEMENT"
	FeatureSet             string                  `json:"featureSet,omitempty"`
	Name                   string                  `json:"name,omitempty"`
	OwningAccount          *ProductAccount         `json:"owningAccount,omitempty"`
	PartnerAccount         *ProductAccount         `json:"partnerAccount,omitempty"`
	PartnerCustomerAccount *PartnerCustomerAccount `json:"partnerCustomerAccount,omitempty"`
	PartnerLinkId          string                  `json:"partnerLinkId,omitempty"`
	PartnerLinkMetadata    *PartnerLinkMetadata    `json:"partnerLinkMetadata,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "FeatureSet") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "FeatureSet") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PartnerLink) MarshalJSON() ([]byte, error) {
	type NoMethod PartnerLink
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type PartnerLinkMetadata struct {
	ImplicitAccounts []*PartnerCustomerAccount `json:"implicitAccounts,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ImplicitAccounts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ImplicitAccounts") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PartnerLinkMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod PartnerLinkMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type PartnerProvidedIdData struct {
	PartnerProvidedIds []string `json:"partnerProvidedIds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PartnerProvidedIds") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PartnerProvidedIds") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PartnerProvidedIdData) MarshalJSON() ([]byte, error) {
	type NoMethod PartnerProvidedIdData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type PpidData struct {
	Ppids []string `json:"ppids,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Ppids") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Ppids") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PpidData) MarshalJSON() ([]byte, error) {
	type NoMethod PpidData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type ProductAccount struct {
	AccountId string `json:"accountId,omitempty"`
	// Possible values:
	//   "ACCOUNT_TYPE_UNSPECIFIED"
	//   "GOOGLE_ADS"
	//   "DISPLAY_VIDEO_PARTNER"
	//   "DISPLAY_VIDEO_ADVERTISER"
	//   "DATA_PARTNER"
	//   "GOOGLE_ANALYTICS_PROPERTY"
	//   "GOOGLE_AD_MANAGER_AUDIENCE_LINK"
	//   "FLOODLIGHT_CONFIG"
	//   "GOOGLE_AD_MANAGER"
	AccountType string `json:"accountType,omitempty"`
	// Possible values:
	//   "PRODUCT_UNSPECIFIED"
	//   "GOOGLE_ADS"
	//   "DISPLAY_VIDEO_PARTNER"
	//   "DISPLAY_VIDEO_ADVERTISER"
	//   "DATA_PARTNER"
	Product string `json:"product,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AccountId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AccountId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ProductAccount) MarshalJSON() ([]byte, error) {
	type NoMethod ProductAccount
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type PseudonymousIdInfo struct {
	BillableRecordCount int64 `json:"billableRecordCount,omitempty,string"`
	// Possible values:
	//   "SYNC_STATUS_UNSPECIFIED"
	//   "CREATED"
	//   "READY_FOR_USE"
	//   "FAILED"
	SyncStatus string `json:"syncStatus,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BillableRecordCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BillableRecordCount") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PseudonymousIdInfo) MarshalJSON() ([]byte, error) {
	type NoMethod PseudonymousIdInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemoveAllAudienceMembersRequest struct {
	Destinations   []*Destination `json:"destinations,omitempty"`
	RemoveAsOfTime string         `json:"removeAsOfTime,omitempty"`
	ValidateOnly   bool           `json:"validateOnly,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Destinations") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Destinations") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemoveAllAudienceMembersRequest) MarshalJSON() ([]byte, error) {
	type NoMethod RemoveAllAudienceMembersRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemoveAllAudienceMembersResponse struct {
	RequestId string `json:"requestId,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "RequestId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RequestId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemoveAllAudienceMembersResponse) MarshalJSON() ([]byte, error) {
	type NoMethod RemoveAllAudienceMembersResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemoveAllAudienceMembersStatus struct {
}

type RemoveAudienceMembersRequest struct {
	AudienceMembers []*AudienceMember `json:"audienceMembers,omitempty"`
	Destinations    []*Destination    `json:"destinations,omitempty"`
	// Possible values:
	//   "ENCODING_UNSPECIFIED"
	//   "HEX"
	//   "BASE64"
	Encoding       string          `json:"encoding,omitempty"`
	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
	ValidateOnly   bool            `json:"validateOnly,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AudienceMembers") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AudienceMembers") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemoveAudienceMembersRequest) MarshalJSON() ([]byte, error) {
	type NoMethod RemoveAudienceMembersRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemoveAudienceMembersResponse struct {
	RequestId string `json:"requestId,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "RequestId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RequestId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemoveAudienceMembersResponse) MarshalJSON() ([]byte, error) {
	type NoMethod RemoveAudienceMembersResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemoveAudienceMembersStatus struct {
	CompositeDataRemovalStatus         *RemoveCompositeDataStatus         `json:"compositeDataRemovalStatus,omitempty"`
	GoogleUserIdDataRemovalStatus      *RemoveGoogleUserIdDataStatus      `json:"googleUserIdDataRemovalStatus,omitempty"`
	MobileDataRemovalStatus            *RemoveMobileDataStatus            `json:"mobileDataRemovalStatus,omitempty"`
	PairDataRemovalStatus              *RemovePairDataStatus              `json:"pairDataRemovalStatus,omitempty"`
	PartnerProvidedIdDataRemovalStatus *RemovePartnerProvidedIdDataStatus `json:"partnerProvidedIdDataRemovalStatus,omitempty"`
	PpidDataRemovalStatus              *RemovePpidDataStatus              `json:"ppidDataRemovalStatus,omitempty"`
	UserDataRemovalStatus              *RemoveUserDataStatus              `json:"userDataRemovalStatus,omitempty"`
	UserIdDataRemovalStatus            *RemoveUserIdDataStatus            `json:"userIdDataRemovalStatus,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CompositeDataRemovalStatus")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CompositeDataRemovalStatus") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemoveAudienceMembersStatus) MarshalJSON() ([]byte, error) {
	type NoMethod RemoveAudienceMembersStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemoveCompositeDataStatus struct {
	DataTypeCounts []*DataTypeCount `json:"dataTypeCounts,omitempty"`
	RecordCount    int64            `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "DataTypeCounts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataTypeCounts") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemoveCompositeDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod RemoveCompositeDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemoveGoogleUserIdDataStatus struct {
	GoogleUserIdCount int64 `json:"googleUserIdCount,omitempty,string"`
	RecordCount       int64 `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "GoogleUserIdCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GoogleUserIdCount") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemoveGoogleUserIdDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod RemoveGoogleUserIdDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemoveMobileDataStatus struct {
	MobileIdCount int64 `json:"mobileIdCount,omitempty,string"`
	RecordCount   int64 `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "MobileIdCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MobileIdCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemoveMobileDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod RemoveMobileDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemovePairDataStatus struct {
	PairIdCount int64 `json:"pairIdCount,omitempty,string"`
	RecordCount int64 `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "PairIdCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PairIdCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemovePairDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod RemovePairDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemovePartnerProvidedIdDataStatus struct {
	PartnerProvidedIdCount int64 `json:"partnerProvidedIdCount,omitempty,string"`
	RecordCount            int64 `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "PartnerProvidedIdCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PartnerProvidedIdCount") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemovePartnerProvidedIdDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod RemovePartnerProvidedIdDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemovePpidDataStatus struct {
	PpidCount   int64 `json:"ppidCount,omitempty,string"`
	RecordCount int64 `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "PpidCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PpidCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemovePpidDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod RemovePpidDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemoveUserDataStatus struct {
	RecordCount         int64 `json:"recordCount,omitempty,string"`
	UserIdentifierCount int64 `json:"userIdentifierCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "RecordCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RecordCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemoveUserDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod RemoveUserDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RemoveUserIdDataStatus struct {
	RecordCount int64 `json:"recordCount,omitempty,string"`
	UserIdCount int64 `json:"userIdCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "RecordCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RecordCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemoveUserIdDataStatus) MarshalJSON() ([]byte, error) {
	type NoMethod RemoveUserIdDataStatus
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RequestStatusPerDestination struct {
	AudienceMembersIngestionStatus *IngestAudienceMembersStatus    `json:"audienceMembersIngestionStatus,omitempty"`
	AudienceMembersRemovalStatus   *RemoveAudienceMembersStatus    `json:"audienceMembersRemovalStatus,omitempty"`
	Destination                    *Destination                    `json:"destination,omitempty"`
	ErrorInfo                      *ErrorInfo                      `json:"errorInfo,omitempty"`
	EventsIngestionStatus          *IngestEventsStatus             `json:"eventsIngestionStatus,omitempty"`
	RemoveAllAudienceMembersStatus *RemoveAllAudienceMembersStatus `json:"removeAllAudienceMembersStatus,omitempty"`
	// Possible values:
	//   "REQUEST_STATUS_UNKNOWN"
	//   "SUCCESS"
	//   "PROCESSING"
	//   "FAILED"
	//   "PARTIAL_SUCCESS"
	RequestStatus string       `json:"requestStatus,omitempty"`
	WarningInfo   *WarningInfo `json:"warningInfo,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "AudienceMembersIngestionStatus") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AudienceMembersIngestionStatus")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RequestStatusPerDestination) MarshalJSON() ([]byte, error) {
	type NoMethod RequestStatusPerDestination
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RetrieveInsightsRequest struct {
	Baseline   *Baseline `json:"baseline,omitempty"`
	UserListId string    `json:"userListId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Baseline") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Baseline") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RetrieveInsightsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod RetrieveInsightsRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RetrieveInsightsResponse struct {
	MarketingDataInsights []*MarketingDataInsight `json:"marketingDataInsights,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "MarketingDataInsights") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MarketingDataInsights") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RetrieveInsightsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod RetrieveInsightsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type RetrieveRequestStatusResponse struct {
	RequestStatusPerDestination []*RequestStatusPerDestination `json:"requestStatusPerDestination,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g.
	// "RequestStatusPerDestination") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RequestStatusPerDestination") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RetrieveRequestStatusResponse) MarshalJSON() ([]byte, error) {
	type NoMethod RetrieveRequestStatusResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type SearchPartnerLinksResponse struct {
	NextPageToken string         `json:"nextPageToken,omitempty"`
	PartnerLinks  []*PartnerLink `json:"partnerLinks,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s SearchPartnerLinksResponse) MarshalJSON() ([]byte, error) {
	type NoMethod SearchPartnerLinksResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type SizeInfo struct {
	DisplayNetworkMembersCount int64 `json:"displayNetworkMembersCount,omitempty,string"`
	GmailMembersCount          int64 `json:"gmailMembersCount,omitempty,string"`
	SearchNetworkMembersCount  int64 `json:"searchNetworkMembersCount,omitempty,string"`
	YoutubeMembersCount        int64 `json:"youtubeMembersCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "DisplayNetworkMembersCount")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisplayNetworkMembersCount") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s SizeInfo) MarshalJSON() ([]byte, error) {
	type NoMethod SizeInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type Status struct {
	Code    int64                  `json:"code,omitempty"`
	Details []googleapi.RawMessage `json:"details,omitempty"`
	Message string                 `json:"message,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Code") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s Status) MarshalJSON() ([]byte, error) {
	type NoMethod Status
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type TargetNetworkInfo struct {
	EligibleForDisplay bool `json:"eligibleForDisplay,omitempty"`
	EligibleForSearch  bool `json:"eligibleForSearch,omitempty"`
	// ForceSendFields is a list of field names (e.g. "EligibleForDisplay") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "EligibleForDisplay") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s TargetNetworkInfo) MarshalJSON() ([]byte, error) {
	type NoMethod TargetNetworkInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type TermsOfService struct {
	// Possible values:
	//   "TERMS_OF_SERVICE_STATUS_UNSPECIFIED"
	//   "ACCEPTED"
	//   "REJECTED"
	CustomerMatchTermsOfServiceStatus string `json:"customerMatchTermsOfServiceStatus,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "CustomerMatchTermsOfServiceStatus") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "CustomerMatchTermsOfServiceStatus") to include in API requests with the
	// JSON null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s TermsOfService) MarshalJSON() ([]byte, error) {
	type NoMethod TermsOfService
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type UserData struct {
	UserIdentifiers []*UserIdentifier `json:"userIdentifiers,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UserIdentifiers") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UserIdentifiers") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s UserData) MarshalJSON() ([]byte, error) {
	type NoMethod UserData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type UserIdData struct {
	UserId string `json:"userId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "UserId") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "UserId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s UserIdData) MarshalJSON() ([]byte, error) {
	type NoMethod UserIdData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type UserIdInfo struct {
	// Possible values:
	//   "DATA_SOURCE_TYPE_UNSPECIFIED"
	//   "DATA_SOURCE_TYPE_FIRST_PARTY"
	//   "DATA_SOURCE_TYPE_THIRD_PARTY_CREDIT_BUREAU"
	//   "DATA_SOURCE_TYPE_THIRD_PARTY_VOTER_FILE"
	//   "DATA_SOURCE_TYPE_THIRD_PARTY_PARTNER_DATA"
	DataSourceType string `json:"dataSourceType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataSourceType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataSourceType") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s UserIdInfo) MarshalJSON() ([]byte, error) {
	type NoMethod UserIdInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type UserIdentifier struct {
	Address      *AddressInfo `json:"address,omitempty"`
	EmailAddress string       `json:"emailAddress,omitempty"`
	PhoneNumber  string       `json:"phoneNumber,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Address") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Address") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s UserIdentifier) MarshalJSON() ([]byte, error) {
	type NoMethod UserIdentifier
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type UserList struct {
	// Possible values:
	//   "ACCESS_REASON_UNSPECIFIED"
	//   "OWNED"
	//   "SHARED"
	//   "LICENSED"
	//   "SUBSCRIBED"
	//   "AFFILIATED"
	AccessReason string `json:"accessReason,omitempty"`
	// Possible values:
	//   "ACCESS_STATUS_UNSPECIFIED"
	//   "ENABLED"
	//   "DISABLED"
	AccountAccessStatus string `json:"accountAccessStatus,omitempty"`
	// Possible values:
	//   "CLOSING_REASON_UNSPECIFIED"
	//   "UNUSED"
	ClosingReason        string                `json:"closingReason,omitempty"`
	Description          string                `json:"description,omitempty"`
	DisplayName          string                `json:"displayName,omitempty"`
	Id                   int64                 `json:"id,omitempty,string"`
	IngestedUserListInfo *IngestedUserListInfo `json:"ingestedUserListInfo,omitempty"`
	IntegrationCode      string                `json:"integrationCode,omitempty"`
	MembershipDuration   string                `json:"membershipDuration,omitempty"`
	// Possible values:
	//   "MEMBERSHIP_STATUS_UNSPECIFIED"
	//   "OPEN"
	//   "CLOSED"
	MembershipStatus  string             `json:"membershipStatus,omitempty"`
	Name              string             `json:"name,omitempty"`
	ReadOnly          bool               `json:"readOnly,omitempty"`
	SizeInfo          *SizeInfo          `json:"sizeInfo,omitempty"`
	TargetNetworkInfo *TargetNetworkInfo `json:"targetNetworkInfo,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "AccessReason") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AccessReason") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s UserList) MarshalJSON() ([]byte, error) {
	type NoMethod UserList
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type UserListDirectLicense struct {
	ClientAccountDisplayName string `json:"clientAccountDisplayName,omitempty"`
	ClientAccountId          int64  `json:"clientAccountId,omitempty,string"`
	// Possible values:
	//   "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_UNKNOWN"
	//   "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_GOOGLE_ADS"
	//   "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_DISPLAY_VIDEO_PARTNER"
	//   "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_DISPLAY_VIDEO_ADVERTISER"
	//   "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_GOOGLE_AD_MANAGER_AUDIENCE_LINK"
	ClientAccountType  string                    `json:"clientAccountType,omitempty"`
	HistoricalPricings []*UserListLicensePricing `json:"historicalPricings,omitempty"`
	Metrics            *UserListLicenseMetrics   `json:"metrics,omitempty"`
	Name               string                    `json:"name,omitempty"`
	Pricing            *UserListLicensePricing   `json:"pricing,omitempty"`
	// Possible values:
	//   "USER_LIST_LICENSE_STATUS_UNSPECIFIED"
	//   "USER_LIST_LICENSE_STATUS_ENABLED"
	//   "USER_LIST_LICENSE_STATUS_DISABLED"
	Status              string `json:"status,omitempty"`
	UserListDisplayName string `json:"userListDisplayName,omitempty"`
	UserListId          int64  `json:"userListId,omitempty,string"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ClientAccountDisplayName")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClientAccountDisplayName") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s UserListDirectLicense) MarshalJSON() ([]byte, error) {
	type NoMethod UserListDirectLicense
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type UserListGlobalLicense struct {
	HistoricalPricings []*UserListLicensePricing `json:"historicalPricings,omitempty"`
	// Possible values:
	//   "USER_LIST_GLOBAL_LICENSE_TYPE_UNSPECIFIED"
	//   "USER_LIST_GLOBAL_LICENSE_TYPE_RESELLER"
	//   "USER_LIST_GLOBAL_LICENSE_TYPE_DATA_MART_SELL_SIDE"
	//   "USER_LIST_GLOBAL_LICENSE_TYPE_DATA_MART_BUY_SIDE"
	LicenseType string                  `json:"licenseType,omitempty"`
	Metrics     *UserListLicenseMetrics `json:"metrics,omitempty"`
	Name        string                  `json:"name,omitempty"`
	Pricing     *UserListLicensePricing `json:"pricing,omitempty"`
	// Possible values:
	//   "USER_LIST_LICENSE_STATUS_UNSPECIFIED"
	//   "USER_LIST_LICENSE_STATUS_ENABLED"
	//   "USER_LIST_LICENSE_STATUS_DISABLED"
	Status              string `json:"status,omitempty"`
	UserListDisplayName string `json:"userListDisplayName,omitempty"`
	UserListId          int64  `json:"userListId,omitempty,string"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "HistoricalPricings") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "HistoricalPricings") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s UserListGlobalLicense) MarshalJSON() ([]byte, error) {
	type NoMethod UserListGlobalLicense
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type UserListGlobalLicenseCustomerInfo struct {
	ClientAccountDisplayName string `json:"clientAccountDisplayName,omitempty"`
	ClientAccountId          int64  `json:"clientAccountId,omitempty,string"`
	// Possible values:
	//   "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_UNKNOWN"
	//   "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_GOOGLE_ADS"
	//   "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_DISPLAY_VIDEO_PARTNER"
	//   "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_DISPLAY_VIDEO_ADVERTISER"
	//   "USER_LIST_LICENSE_CLIENT_ACCOUNT_TYPE_GOOGLE_AD_MANAGER_AUDIENCE_LINK"
	ClientAccountType  string                    `json:"clientAccountType,omitempty"`
	HistoricalPricings []*UserListLicensePricing `json:"historicalPricings,omitempty"`
	// Possible values:
	//   "USER_LIST_GLOBAL_LICENSE_TYPE_UNSPECIFIED"
	//   "USER_LIST_GLOBAL_LICENSE_TYPE_RESELLER"
	//   "USER_LIST_GLOBAL_LICENSE_TYPE_DATA_MART_SELL_SIDE"
	//   "USER_LIST_GLOBAL_LICENSE_TYPE_DATA_MART_BUY_SIDE"
	LicenseType string                  `json:"licenseType,omitempty"`
	Metrics     *UserListLicenseMetrics `json:"metrics,omitempty"`
	Name        string                  `json:"name,omitempty"`
	Pricing     *UserListLicensePricing `json:"pricing,omitempty"`
	// Possible values:
	//   "USER_LIST_LICENSE_STATUS_UNSPECIFIED"
	//   "USER_LIST_LICENSE_STATUS_ENABLED"
	//   "USER_LIST_LICENSE_STATUS_DISABLED"
	Status              string `json:"status,omitempty"`
	UserListDisplayName string `json:"userListDisplayName,omitempty"`
	UserListId          int64  `json:"userListId,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "ClientAccountDisplayName")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClientAccountDisplayName") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s UserListGlobalLicenseCustomerInfo) MarshalJSON() ([]byte, error) {
	type NoMethod UserListGlobalLicenseCustomerInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type UserListLicenseMetrics struct {
	ClickCount       int64 `json:"clickCount,omitempty,string"`
	EndDate          int64 `json:"endDate,omitempty,string"`
	ImpressionCount  int64 `json:"impressionCount,omitempty,string"`
	RevenueUsdMicros int64 `json:"revenueUsdMicros,omitempty,string"`
	StartDate        int64 `json:"startDate,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "ClickCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClickCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s UserListLicenseMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod UserListLicenseMetrics
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type UserListLicensePricing struct {
	// Possible values:
	//   "USER_LIST_PRICING_BUYER_APPROVAL_STATE_UNSPECIFIED"
	//   "PENDING"
	//   "APPROVED"
	//   "REJECTED"
	BuyerApprovalState string `json:"buyerApprovalState,omitempty"`
	CostMicros         int64  `json:"costMicros,omitempty,string"`
	// Possible values:
	//   "USER_LIST_PRICING_COST_TYPE_UNSPECIFIED"
	//   "CPC"
	//   "CPM"
	//   "MEDIA_SHARE"
	CostType      string `json:"costType,omitempty"`
	CurrencyCode  string `json:"currencyCode,omitempty"`
	EndTime       string `json:"endTime,omitempty"`
	MaxCostMicros int64  `json:"maxCostMicros,omitempty,string"`
	PricingActive bool   `json:"pricingActive,omitempty"`
	PricingId     int64  `json:"pricingId,omitempty,string"`
	StartTime     string `json:"startTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BuyerApprovalState") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BuyerApprovalState") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s UserListLicensePricing) MarshalJSON() ([]byte, error) {
	type NoMethod UserListLicensePricing
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type UserProperties struct {
	AdditionalUserProperties []*UserProperty `json:"additionalUserProperties,omitempty"`
	// Possible values:
	//   "CUSTOMER_TYPE_UNSPECIFIED"
	//   "NEW"
	//   "RETURNING"
	//   "REENGAGED"
	CustomerType string `json:"customerType,omitempty"`
	// Possible values:
	//   "CUSTOMER_VALUE_BUCKET_UNSPECIFIED"
	//   "LOW"
	//   "MEDIUM"
	//   "HIGH"
	CustomerValueBucket string `json:"customerValueBucket,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalUserProperties")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalUserProperties") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s UserProperties) MarshalJSON() ([]byte, error) {
	type NoMethod UserProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type UserProperty struct {
	PropertyName string `json:"propertyName,omitempty"`
	Value        string `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PropertyName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PropertyName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s UserProperty) MarshalJSON() ([]byte, error) {
	type NoMethod UserProperty
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type ViewabilityInfo struct {
	MediaDuration string `json:"mediaDuration,omitempty"`
	// Possible values:
	//   "MEDIA_QUARTILE_UNSPECIFIED"
	//   "MEDIA_QUARTILE_START"
	//   "MEDIA_QUARTILE_FIRST_QUARTILE"
	//   "MEDIA_QUARTILE_MIDPOINT"
	//   "MEDIA_QUARTILE_THIRD_QUARTILE"
	//   "MEDIA_QUARTILE_COMPLETE"
	MediaQuartile      string `json:"mediaQuartile,omitempty"`
	MediaSkippable     bool   `json:"mediaSkippable,omitempty"`
	MediaVolumePercent int64  `json:"mediaVolumePercent,omitempty"`
	PlaybackDuration   string `json:"playbackDuration,omitempty"`
	// Possible values:
	//   "VIEW_TYPE_UNSPECIFIED"
	//   "VIEW_TYPE_MRC_VIEWED"
	//   "VIEW_TYPE_MRC_RENDERED"
	ViewType         string `json:"viewType,omitempty"`
	ViewableDuration string `json:"viewableDuration,omitempty"`
	ViewablePercent  int64  `json:"viewablePercent,omitempty"`
	// ForceSendFields is a list of field names (e.g. "MediaDuration") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MediaDuration") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ViewabilityInfo) MarshalJSON() ([]byte, error) {
	type NoMethod ViewabilityInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type WarningCount struct {
	// Possible values:
	//   "PROCESSING_WARNING_REASON_UNSPECIFIED"
	//   "PROCESSING_WARNING_REASON_KEK_PERMISSION_DENIED"
	//   "PROCESSING_WARNING_REASON_DEK_DECRYPTION_ERROR"
	//   "PROCESSING_WARNING_REASON_DECRYPTION_ERROR"
	//   "PROCESSING_WARNING_REASON_WIP_AUTH_FAILED"
	//   "PROCESSING_WARNING_REASON_INVALID_WIP"
	//   "PROCESSING_WARNING_REASON_INVALID_KEK"
	//   "PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR"
	//   "PROCESSING_WARNING_REASON_INTERNAL_ERROR"
	//   "PROCESSING_WARNING_REASON_AWS_AUTH_FAILED"
	Reason      string `json:"reason,omitempty"`
	RecordCount int64  `json:"recordCount,omitempty,string"`
	// ForceSendFields is a list of field names (e.g. "Reason") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Reason") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s WarningCount) MarshalJSON() ([]byte, error) {
	type NoMethod WarningCount
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type WarningInfo struct {
	WarningCounts []*WarningCount `json:"warningCounts,omitempty"`
	// ForceSendFields is a list of field names (e.g. "WarningCounts") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "WarningCounts") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s WarningInfo) MarshalJSON() ([]byte, error) {
	type NoMethod WarningInfo
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type AccountTypesAccountsInsightsRetrieveCall struct {
	s                       *Service
	parent                  string
	retrieveinsightsrequest *RetrieveInsightsRequest
	urlParams_              gensupport.URLParams
	ctx_                    context.Context
	header_                 http.Header
}

// Retrieve:
//
// - parent: .
func (r *AccountTypesAccountsInsightsService) Retrieve(parent string, retrieveinsightsrequest *RetrieveInsightsRequest) *AccountTypesAccountsInsightsRetrieveCall {
	c := &AccountTypesAccountsInsightsRetrieveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.retrieveinsightsrequest = retrieveinsightsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsInsightsRetrieveCall) Fields(s ...googleapi.Field) *AccountTypesAccountsInsightsRetrieveCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsInsightsRetrieveCall) Context(ctx context.Context) *AccountTypesAccountsInsightsRetrieveCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsInsightsRetrieveCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsInsightsRetrieveCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.retrieveinsightsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/insights:retrieve")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.insights.retrieve", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.insights.retrieve" call.
// Any non-2xx status code is an error. Response headers are in either
// *RetrieveInsightsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *AccountTypesAccountsInsightsRetrieveCall) Do(opts ...googleapi.CallOption) (*RetrieveInsightsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &RetrieveInsightsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.insights.retrieve", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AccountTypesAccountsPartnerLinksCreateCall struct {
	s           *Service
	parent      string
	partnerlink *PartnerLink
	urlParams_  gensupport.URLParams
	ctx_        context.Context
	header_     http.Header
}

// Create:
//
// - parent: .
func (r *AccountTypesAccountsPartnerLinksService) Create(parent string, partnerlink *PartnerLink) *AccountTypesAccountsPartnerLinksCreateCall {
	c := &AccountTypesAccountsPartnerLinksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.partnerlink = partnerlink
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsPartnerLinksCreateCall) Fields(s ...googleapi.Field) *AccountTypesAccountsPartnerLinksCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsPartnerLinksCreateCall) Context(ctx context.Context) *AccountTypesAccountsPartnerLinksCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsPartnerLinksCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsPartnerLinksCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.partnerlink)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/partnerLinks")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.partnerLinks.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.partnerLinks.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *PartnerLink.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *AccountTypesAccountsPartnerLinksCreateCall) Do(opts ...googleapi.CallOption) (*PartnerLink, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &PartnerLink{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.partnerLinks.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AccountTypesAccountsPartnerLinksDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete:
//
// - name: .
func (r *AccountTypesAccountsPartnerLinksService) Delete(name string) *AccountTypesAccountsPartnerLinksDeleteCall {
	c := &AccountTypesAccountsPartnerLinksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsPartnerLinksDeleteCall) Fields(s ...googleapi.Field) *AccountTypesAccountsPartnerLinksDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsPartnerLinksDeleteCall) Context(ctx context.Context) *AccountTypesAccountsPartnerLinksDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsPartnerLinksDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsPartnerLinksDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.partnerLinks.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.partnerLinks.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *AccountTypesAccountsPartnerLinksDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Empty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.partnerLinks.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AccountTypesAccountsPartnerLinksSearchCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Search:
//
// - parent: .
func (r *AccountTypesAccountsPartnerLinksService) Search(parent string) *AccountTypesAccountsPartnerLinksSearchCall {
	c := &AccountTypesAccountsPartnerLinksSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter":
func (c *AccountTypesAccountsPartnerLinksSearchCall) Filter(filter string) *AccountTypesAccountsPartnerLinksSearchCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize":
func (c *AccountTypesAccountsPartnerLinksSearchCall) PageSize(pageSize int64) *AccountTypesAccountsPartnerLinksSearchCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken":
func (c *AccountTypesAccountsPartnerLinksSearchCall) PageToken(pageToken string) *AccountTypesAccountsPartnerLinksSearchCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsPartnerLinksSearchCall) Fields(s ...googleapi.Field) *AccountTypesAccountsPartnerLinksSearchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *AccountTypesAccountsPartnerLinksSearchCall) IfNoneMatch(entityTag string) *AccountTypesAccountsPartnerLinksSearchCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsPartnerLinksSearchCall) Context(ctx context.Context) *AccountTypesAccountsPartnerLinksSearchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsPartnerLinksSearchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsPartnerLinksSearchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/partnerLinks:search")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.partnerLinks.search", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.partnerLinks.search" call.
// Any non-2xx status code is an error. Response headers are in either
// *SearchPartnerLinksResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *AccountTypesAccountsPartnerLinksSearchCall) Do(opts ...googleapi.CallOption) (*SearchPartnerLinksResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &SearchPartnerLinksResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.partnerLinks.search", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *AccountTypesAccountsPartnerLinksSearchCall) Pages(ctx context.Context, f func(*SearchPartnerLinksResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type AccountTypesAccountsUserListDirectLicensesCreateCall struct {
	s                     *Service
	parent                string
	userlistdirectlicense *UserListDirectLicense
	urlParams_            gensupport.URLParams
	ctx_                  context.Context
	header_               http.Header
}

// Create:
//
// - parent: .
func (r *AccountTypesAccountsUserListDirectLicensesService) Create(parent string, userlistdirectlicense *UserListDirectLicense) *AccountTypesAccountsUserListDirectLicensesCreateCall {
	c := &AccountTypesAccountsUserListDirectLicensesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.userlistdirectlicense = userlistdirectlicense
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListDirectLicensesCreateCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListDirectLicensesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListDirectLicensesCreateCall) Context(ctx context.Context) *AccountTypesAccountsUserListDirectLicensesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListDirectLicensesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListDirectLicensesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.userlistdirectlicense)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userListDirectLicenses")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListDirectLicenses.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userListDirectLicenses.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *UserListDirectLicense.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *AccountTypesAccountsUserListDirectLicensesCreateCall) Do(opts ...googleapi.CallOption) (*UserListDirectLicense, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &UserListDirectLicense{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListDirectLicenses.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AccountTypesAccountsUserListDirectLicensesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get:
//
// - name: .
func (r *AccountTypesAccountsUserListDirectLicensesService) Get(name string) *AccountTypesAccountsUserListDirectLicensesGetCall {
	c := &AccountTypesAccountsUserListDirectLicensesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListDirectLicensesGetCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListDirectLicensesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *AccountTypesAccountsUserListDirectLicensesGetCall) IfNoneMatch(entityTag string) *AccountTypesAccountsUserListDirectLicensesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListDirectLicensesGetCall) Context(ctx context.Context) *AccountTypesAccountsUserListDirectLicensesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListDirectLicensesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListDirectLicensesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListDirectLicenses.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userListDirectLicenses.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *UserListDirectLicense.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *AccountTypesAccountsUserListDirectLicensesGetCall) Do(opts ...googleapi.CallOption) (*UserListDirectLicense, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &UserListDirectLicense{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListDirectLicenses.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AccountTypesAccountsUserListDirectLicensesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List:
//
// - parent: .
func (r *AccountTypesAccountsUserListDirectLicensesService) List(parent string) *AccountTypesAccountsUserListDirectLicensesListCall {
	c := &AccountTypesAccountsUserListDirectLicensesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter":
func (c *AccountTypesAccountsUserListDirectLicensesListCall) Filter(filter string) *AccountTypesAccountsUserListDirectLicensesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize":
func (c *AccountTypesAccountsUserListDirectLicensesListCall) PageSize(pageSize int64) *AccountTypesAccountsUserListDirectLicensesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken":
func (c *AccountTypesAccountsUserListDirectLicensesListCall) PageToken(pageToken string) *AccountTypesAccountsUserListDirectLicensesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListDirectLicensesListCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListDirectLicensesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *AccountTypesAccountsUserListDirectLicensesListCall) IfNoneMatch(entityTag string) *AccountTypesAccountsUserListDirectLicensesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListDirectLicensesListCall) Context(ctx context.Context) *AccountTypesAccountsUserListDirectLicensesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListDirectLicensesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListDirectLicensesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userListDirectLicenses")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListDirectLicenses.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userListDirectLicenses.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListUserListDirectLicensesResponse.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *AccountTypesAccountsUserListDirectLicensesListCall) Do(opts ...googleapi.CallOption) (*ListUserListDirectLicensesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListUserListDirectLicensesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListDirectLicenses.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *AccountTypesAccountsUserListDirectLicensesListCall) Pages(ctx context.Context, f func(*ListUserListDirectLicensesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type AccountTypesAccountsUserListDirectLicensesPatchCall struct {
	s                     *Service
	name                  string
	userlistdirectlicense *UserListDirectLicense
	urlParams_            gensupport.URLParams
	ctx_                  context.Context
	header_               http.Header
}

// Patch:
//
// - name: .
func (r *AccountTypesAccountsUserListDirectLicensesService) Patch(name string, userlistdirectlicense *UserListDirectLicense) *AccountTypesAccountsUserListDirectLicensesPatchCall {
	c := &AccountTypesAccountsUserListDirectLicensesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.userlistdirectlicense = userlistdirectlicense
	return c
}

// UpdateMask sets the optional parameter "updateMask":
func (c *AccountTypesAccountsUserListDirectLicensesPatchCall) UpdateMask(updateMask string) *AccountTypesAccountsUserListDirectLicensesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListDirectLicensesPatchCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListDirectLicensesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListDirectLicensesPatchCall) Context(ctx context.Context) *AccountTypesAccountsUserListDirectLicensesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListDirectLicensesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListDirectLicensesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.userlistdirectlicense)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListDirectLicenses.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userListDirectLicenses.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *UserListDirectLicense.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *AccountTypesAccountsUserListDirectLicensesPatchCall) Do(opts ...googleapi.CallOption) (*UserListDirectLicense, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &UserListDirectLicense{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListDirectLicenses.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AccountTypesAccountsUserListGlobalLicensesCreateCall struct {
	s                     *Service
	parent                string
	userlistgloballicense *UserListGlobalLicense
	urlParams_            gensupport.URLParams
	ctx_                  context.Context
	header_               http.Header
}

// Create:
//
// - parent: .
func (r *AccountTypesAccountsUserListGlobalLicensesService) Create(parent string, userlistgloballicense *UserListGlobalLicense) *AccountTypesAccountsUserListGlobalLicensesCreateCall {
	c := &AccountTypesAccountsUserListGlobalLicensesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.userlistgloballicense = userlistgloballicense
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListGlobalLicensesCreateCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListGlobalLicensesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListGlobalLicensesCreateCall) Context(ctx context.Context) *AccountTypesAccountsUserListGlobalLicensesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListGlobalLicensesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListGlobalLicensesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.userlistgloballicense)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userListGlobalLicenses")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListGlobalLicenses.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userListGlobalLicenses.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *UserListGlobalLicense.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *AccountTypesAccountsUserListGlobalLicensesCreateCall) Do(opts ...googleapi.CallOption) (*UserListGlobalLicense, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &UserListGlobalLicense{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListGlobalLicenses.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AccountTypesAccountsUserListGlobalLicensesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get:
//
// - name: .
func (r *AccountTypesAccountsUserListGlobalLicensesService) Get(name string) *AccountTypesAccountsUserListGlobalLicensesGetCall {
	c := &AccountTypesAccountsUserListGlobalLicensesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListGlobalLicensesGetCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListGlobalLicensesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *AccountTypesAccountsUserListGlobalLicensesGetCall) IfNoneMatch(entityTag string) *AccountTypesAccountsUserListGlobalLicensesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListGlobalLicensesGetCall) Context(ctx context.Context) *AccountTypesAccountsUserListGlobalLicensesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListGlobalLicensesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListGlobalLicensesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListGlobalLicenses.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userListGlobalLicenses.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *UserListGlobalLicense.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *AccountTypesAccountsUserListGlobalLicensesGetCall) Do(opts ...googleapi.CallOption) (*UserListGlobalLicense, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &UserListGlobalLicense{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListGlobalLicenses.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AccountTypesAccountsUserListGlobalLicensesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List:
//
// - parent: .
func (r *AccountTypesAccountsUserListGlobalLicensesService) List(parent string) *AccountTypesAccountsUserListGlobalLicensesListCall {
	c := &AccountTypesAccountsUserListGlobalLicensesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter":
func (c *AccountTypesAccountsUserListGlobalLicensesListCall) Filter(filter string) *AccountTypesAccountsUserListGlobalLicensesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize":
func (c *AccountTypesAccountsUserListGlobalLicensesListCall) PageSize(pageSize int64) *AccountTypesAccountsUserListGlobalLicensesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken":
func (c *AccountTypesAccountsUserListGlobalLicensesListCall) PageToken(pageToken string) *AccountTypesAccountsUserListGlobalLicensesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListGlobalLicensesListCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListGlobalLicensesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *AccountTypesAccountsUserListGlobalLicensesListCall) IfNoneMatch(entityTag string) *AccountTypesAccountsUserListGlobalLicensesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListGlobalLicensesListCall) Context(ctx context.Context) *AccountTypesAccountsUserListGlobalLicensesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListGlobalLicensesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListGlobalLicensesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userListGlobalLicenses")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListGlobalLicenses.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userListGlobalLicenses.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListUserListGlobalLicensesResponse.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *AccountTypesAccountsUserListGlobalLicensesListCall) Do(opts ...googleapi.CallOption) (*ListUserListGlobalLicensesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListUserListGlobalLicensesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListGlobalLicenses.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *AccountTypesAccountsUserListGlobalLicensesListCall) Pages(ctx context.Context, f func(*ListUserListGlobalLicensesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type AccountTypesAccountsUserListGlobalLicensesPatchCall struct {
	s                     *Service
	name                  string
	userlistgloballicense *UserListGlobalLicense
	urlParams_            gensupport.URLParams
	ctx_                  context.Context
	header_               http.Header
}

// Patch:
//
// - name: .
func (r *AccountTypesAccountsUserListGlobalLicensesService) Patch(name string, userlistgloballicense *UserListGlobalLicense) *AccountTypesAccountsUserListGlobalLicensesPatchCall {
	c := &AccountTypesAccountsUserListGlobalLicensesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.userlistgloballicense = userlistgloballicense
	return c
}

// UpdateMask sets the optional parameter "updateMask":
func (c *AccountTypesAccountsUserListGlobalLicensesPatchCall) UpdateMask(updateMask string) *AccountTypesAccountsUserListGlobalLicensesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListGlobalLicensesPatchCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListGlobalLicensesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListGlobalLicensesPatchCall) Context(ctx context.Context) *AccountTypesAccountsUserListGlobalLicensesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListGlobalLicensesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListGlobalLicensesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.userlistgloballicense)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListGlobalLicenses.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userListGlobalLicenses.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *UserListGlobalLicense.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *AccountTypesAccountsUserListGlobalLicensesPatchCall) Do(opts ...googleapi.CallOption) (*UserListGlobalLicense, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &UserListGlobalLicense{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListGlobalLicenses.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List:
//
// - parent: .
func (r *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosService) List(parent string) *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall {
	c := &AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter":
func (c *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall) Filter(filter string) *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize":
func (c *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall) PageSize(pageSize int64) *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken":
func (c *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall) PageToken(pageToken string) *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall) IfNoneMatch(entityTag string) *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall) Context(ctx context.Context) *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userListGlobalLicenseCustomerInfos")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListGlobalLicenses.userListGlobalLicenseCustomerInfos.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userListGlobalLicenses.userListGlobalLicenseCustomerInfos.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListUserListGlobalLicenseCustomerInfosResponse.ServerResponse.Header or (if
// a response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall) Do(opts ...googleapi.CallOption) (*ListUserListGlobalLicenseCustomerInfosResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListUserListGlobalLicenseCustomerInfosResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userListGlobalLicenses.userListGlobalLicenseCustomerInfos.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *AccountTypesAccountsUserListGlobalLicensesUserListGlobalLicenseCustomerInfosListCall) Pages(ctx context.Context, f func(*ListUserListGlobalLicenseCustomerInfosResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type AccountTypesAccountsUserListsCreateCall struct {
	s          *Service
	parent     string
	userlist   *UserList
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Create:
//
// - parent: .
func (r *AccountTypesAccountsUserListsService) Create(parent string, userlist *UserList) *AccountTypesAccountsUserListsCreateCall {
	c := &AccountTypesAccountsUserListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.userlist = userlist
	return c
}

// ValidateOnly sets the optional parameter "validateOnly":
func (c *AccountTypesAccountsUserListsCreateCall) ValidateOnly(validateOnly bool) *AccountTypesAccountsUserListsCreateCall {
	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListsCreateCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListsCreateCall) Context(ctx context.Context) *AccountTypesAccountsUserListsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.userlist)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userLists")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userLists.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userLists.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *UserList.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *AccountTypesAccountsUserListsCreateCall) Do(opts ...googleapi.CallOption) (*UserList, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &UserList{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userLists.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AccountTypesAccountsUserListsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete:
//
// - name: .
func (r *AccountTypesAccountsUserListsService) Delete(name string) *AccountTypesAccountsUserListsDeleteCall {
	c := &AccountTypesAccountsUserListsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// ValidateOnly sets the optional parameter "validateOnly":
func (c *AccountTypesAccountsUserListsDeleteCall) ValidateOnly(validateOnly bool) *AccountTypesAccountsUserListsDeleteCall {
	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListsDeleteCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListsDeleteCall) Context(ctx context.Context) *AccountTypesAccountsUserListsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userLists.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userLists.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *AccountTypesAccountsUserListsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Empty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userLists.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AccountTypesAccountsUserListsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get:
//
// - name: .
func (r *AccountTypesAccountsUserListsService) Get(name string) *AccountTypesAccountsUserListsGetCall {
	c := &AccountTypesAccountsUserListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListsGetCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *AccountTypesAccountsUserListsGetCall) IfNoneMatch(entityTag string) *AccountTypesAccountsUserListsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListsGetCall) Context(ctx context.Context) *AccountTypesAccountsUserListsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userLists.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userLists.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *UserList.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *AccountTypesAccountsUserListsGetCall) Do(opts ...googleapi.CallOption) (*UserList, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &UserList{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userLists.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AccountTypesAccountsUserListsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List:
//
// - parent: .
func (r *AccountTypesAccountsUserListsService) List(parent string) *AccountTypesAccountsUserListsListCall {
	c := &AccountTypesAccountsUserListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter":
func (c *AccountTypesAccountsUserListsListCall) Filter(filter string) *AccountTypesAccountsUserListsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize":
func (c *AccountTypesAccountsUserListsListCall) PageSize(pageSize int64) *AccountTypesAccountsUserListsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken":
func (c *AccountTypesAccountsUserListsListCall) PageToken(pageToken string) *AccountTypesAccountsUserListsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListsListCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *AccountTypesAccountsUserListsListCall) IfNoneMatch(entityTag string) *AccountTypesAccountsUserListsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListsListCall) Context(ctx context.Context) *AccountTypesAccountsUserListsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userLists")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userLists.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userLists.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListUserListsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *AccountTypesAccountsUserListsListCall) Do(opts ...googleapi.CallOption) (*ListUserListsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListUserListsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userLists.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *AccountTypesAccountsUserListsListCall) Pages(ctx context.Context, f func(*ListUserListsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type AccountTypesAccountsUserListsPatchCall struct {
	s          *Service
	name       string
	userlist   *UserList
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Patch:
//
// - name: .
func (r *AccountTypesAccountsUserListsService) Patch(name string, userlist *UserList) *AccountTypesAccountsUserListsPatchCall {
	c := &AccountTypesAccountsUserListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.userlist = userlist
	return c
}

// UpdateMask sets the optional parameter "updateMask":
func (c *AccountTypesAccountsUserListsPatchCall) UpdateMask(updateMask string) *AccountTypesAccountsUserListsPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// ValidateOnly sets the optional parameter "validateOnly":
func (c *AccountTypesAccountsUserListsPatchCall) ValidateOnly(validateOnly bool) *AccountTypesAccountsUserListsPatchCall {
	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AccountTypesAccountsUserListsPatchCall) Fields(s ...googleapi.Field) *AccountTypesAccountsUserListsPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AccountTypesAccountsUserListsPatchCall) Context(ctx context.Context) *AccountTypesAccountsUserListsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AccountTypesAccountsUserListsPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AccountTypesAccountsUserListsPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.userlist)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userLists.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.accountTypes.accounts.userLists.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *UserList.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *AccountTypesAccountsUserListsPatchCall) Do(opts ...googleapi.CallOption) (*UserList, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &UserList{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.accountTypes.accounts.userLists.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AdEventsIngestCall struct {
	s                     *Service
	ingestadeventsrequest *IngestAdEventsRequest
	urlParams_            gensupport.URLParams
	ctx_                  context.Context
	header_               http.Header
}

// Ingest:
func (r *AdEventsService) Ingest(ingestadeventsrequest *IngestAdEventsRequest) *AdEventsIngestCall {
	c := &AdEventsIngestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.ingestadeventsrequest = ingestadeventsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AdEventsIngestCall) Fields(s ...googleapi.Field) *AdEventsIngestCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AdEventsIngestCall) Context(ctx context.Context) *AdEventsIngestCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AdEventsIngestCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AdEventsIngestCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.ingestadeventsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/adEvents:ingest")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.adEvents.ingest", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.adEvents.ingest" call.
// Any non-2xx status code is an error. Response headers are in either
// *IngestAdEventsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *AdEventsIngestCall) Do(opts ...googleapi.CallOption) (*IngestAdEventsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &IngestAdEventsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.adEvents.ingest", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AudienceMembersIngestCall struct {
	s                            *Service
	ingestaudiencemembersrequest *IngestAudienceMembersRequest
	urlParams_                   gensupport.URLParams
	ctx_                         context.Context
	header_                      http.Header
}

// Ingest:
func (r *AudienceMembersService) Ingest(ingestaudiencemembersrequest *IngestAudienceMembersRequest) *AudienceMembersIngestCall {
	c := &AudienceMembersIngestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.ingestaudiencemembersrequest = ingestaudiencemembersrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AudienceMembersIngestCall) Fields(s ...googleapi.Field) *AudienceMembersIngestCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AudienceMembersIngestCall) Context(ctx context.Context) *AudienceMembersIngestCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AudienceMembersIngestCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AudienceMembersIngestCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.ingestaudiencemembersrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/audienceMembers:ingest")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.audienceMembers.ingest", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.audienceMembers.ingest" call.
// Any non-2xx status code is an error. Response headers are in either
// *IngestAudienceMembersResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *AudienceMembersIngestCall) Do(opts ...googleapi.CallOption) (*IngestAudienceMembersResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &IngestAudienceMembersResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.audienceMembers.ingest", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AudienceMembersRemoveCall struct {
	s                            *Service
	removeaudiencemembersrequest *RemoveAudienceMembersRequest
	urlParams_                   gensupport.URLParams
	ctx_                         context.Context
	header_                      http.Header
}

// Remove:
func (r *AudienceMembersService) Remove(removeaudiencemembersrequest *RemoveAudienceMembersRequest) *AudienceMembersRemoveCall {
	c := &AudienceMembersRemoveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.removeaudiencemembersrequest = removeaudiencemembersrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AudienceMembersRemoveCall) Fields(s ...googleapi.Field) *AudienceMembersRemoveCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AudienceMembersRemoveCall) Context(ctx context.Context) *AudienceMembersRemoveCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AudienceMembersRemoveCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AudienceMembersRemoveCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.removeaudiencemembersrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/audienceMembers:remove")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.audienceMembers.remove", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.audienceMembers.remove" call.
// Any non-2xx status code is an error. Response headers are in either
// *RemoveAudienceMembersResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *AudienceMembersRemoveCall) Do(opts ...googleapi.CallOption) (*RemoveAudienceMembersResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &RemoveAudienceMembersResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.audienceMembers.remove", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type AudienceMembersRemoveAllCall struct {
	s                               *Service
	removeallaudiencemembersrequest *RemoveAllAudienceMembersRequest
	urlParams_                      gensupport.URLParams
	ctx_                            context.Context
	header_                         http.Header
}

// RemoveAll:
func (r *AudienceMembersService) RemoveAll(removeallaudiencemembersrequest *RemoveAllAudienceMembersRequest) *AudienceMembersRemoveAllCall {
	c := &AudienceMembersRemoveAllCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.removeallaudiencemembersrequest = removeallaudiencemembersrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *AudienceMembersRemoveAllCall) Fields(s ...googleapi.Field) *AudienceMembersRemoveAllCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *AudienceMembersRemoveAllCall) Context(ctx context.Context) *AudienceMembersRemoveAllCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *AudienceMembersRemoveAllCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *AudienceMembersRemoveAllCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.removeallaudiencemembersrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/audienceMembers:removeAll")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.audienceMembers.removeAll", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.audienceMembers.removeAll" call.
// Any non-2xx status code is an error. Response headers are in either
// *RemoveAllAudienceMembersResponse.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *AudienceMembersRemoveAllCall) Do(opts ...googleapi.CallOption) (*RemoveAllAudienceMembersResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &RemoveAllAudienceMembersResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.audienceMembers.removeAll", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type EventsIngestCall struct {
	s                   *Service
	ingesteventsrequest *IngestEventsRequest
	urlParams_          gensupport.URLParams
	ctx_                context.Context
	header_             http.Header
}

// Ingest:
func (r *EventsService) Ingest(ingesteventsrequest *IngestEventsRequest) *EventsIngestCall {
	c := &EventsIngestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.ingesteventsrequest = ingesteventsrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *EventsIngestCall) Fields(s ...googleapi.Field) *EventsIngestCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *EventsIngestCall) Context(ctx context.Context) *EventsIngestCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *EventsIngestCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *EventsIngestCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.ingesteventsrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/events:ingest")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.events.ingest", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.events.ingest" call.
// Any non-2xx status code is an error. Response headers are in either
// *IngestEventsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *EventsIngestCall) Do(opts ...googleapi.CallOption) (*IngestEventsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &IngestEventsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.events.ingest", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type RequestStatusRetrieveCall struct {
	s            *Service
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Retrieve:
func (r *RequestStatusService) Retrieve() *RequestStatusRetrieveCall {
	c := &RequestStatusRetrieveCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	return c
}

// RequestId sets the optional parameter "requestId":
func (c *RequestStatusRetrieveCall) RequestId(requestId string) *RequestStatusRetrieveCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *RequestStatusRetrieveCall) Fields(s ...googleapi.Field) *RequestStatusRetrieveCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *RequestStatusRetrieveCall) IfNoneMatch(entityTag string) *RequestStatusRetrieveCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *RequestStatusRetrieveCall) Context(ctx context.Context) *RequestStatusRetrieveCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *RequestStatusRetrieveCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *RequestStatusRetrieveCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/requestStatus:retrieve")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "datamanager.requestStatus.retrieve", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "datamanager.requestStatus.retrieve" call.
// Any non-2xx status code is an error. Response headers are in either
// *RetrieveRequestStatusResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *RequestStatusRetrieveCall) Do(opts ...googleapi.CallOption) (*RetrieveRequestStatusResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &RetrieveRequestStatusResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "datamanager.requestStatus.retrieve", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}
